Възможно ли е програмирането на всеки, член
Въпроси, свързани с демократичния характер на програмирането и степента, до която тази индустрия може да се счита за „въпрос на всички и на всеки“, са повдигани неведнъж. Продължаваме тази традиция с днешния материал: Марк Чу-Карол говори по същата тема и говори за това какво е трудно в програмирането и кое е елементарно, приканва ви да помислите за границите на този вид дейност и убедително доказва, че лекотата на програмирането е силно преувеличено.
Слагаме ръкавици, гумени ботуши, гащеризони ...
Моята професия е да разбера как хората пишат програми. Езиците за програмиране, среди за разработка, инструменти за управление на код и инструменти за съвместна разработка и други са всичко, което ми е ежедневно. Не е изненадващо, че един опус, който привлече вниманието ми в Twitter, веднъж предизвика моето изключително възмущение.
Статията започва, като заявява, че повечето ръководства за програмиране, достъпни в Интернет, не струват нищо. Не мога да се съглася напълно с това, струва ми се, че това е точно такава тема, която е важна за обсъждане. Но следният фрагмент ми изглежда напълно погрешен:
„Но това е само едната страна на проблема. Виктор (Брет Виктор - приблизително Лейн) смята, че самото програмиране е погрешно. Смята се, че за да напишете добър код, трябва да можете да „мислите като компютър“. Той смята това мнение за абсурдно остаряло - но именно поради тази погрешна представа програмирането се счита за много трудна дейност. Компютърът е инструмент; защо не можем да го контролираме, да го управляваме, тъй като е удобно и естествено за всички нас? "
Бабах! Мозъкът ми го вади.
По някаква причина много хора споделят измислената идея, че програмирането всъщност е много лесно нещо, че самите програмисти само умишлено го усложняват - от злоба, за да останат елит, просто от глупост или не знам защо. През годините, в които съм работил в тази област, цял хор от гласове, повтарящи, че програмирането всъщност е лесно, че ние просто принуждаваме човек да мисли „като машина“.
Просто трябва да пренапишем програмирането, така че да се фокусира върху човешкия мозък, а не върху чипове. И това е всичко, програмирането ще стане съвсем проста работа, всички ще започнат да го правят и светът ще се превърне в идеална компютърна утопия.
Първо, „машинното мислене“ е просто клише, пряк път, който има за цел да постави текущото програмиране в тъмна светлина. Кажете, не само че е трудно да се програмира, но тези проклети техници изискват и от вас да станете някакви роботи, в противен случай никога няма да научите този бизнес!
Не е нужно да мислите като машина, за да бъдете програмист. Но трябва да разберете как работят машините. За да програмирате успешно, просто е необходимо да разберете това, тъй като когато пишем програма, ние по същество сглобяваме машина!
Когато проектираме програма на теоретично ниво, ние проектираме машина, която ще изпълнява конкретна механична задача. Всъщност програмата е просто описание на машина. А езикът за програмиране е по същество специализирана форма на нотация, която описва специфичен вид машина.
Никой няма да отиде при инженер-конструктор и да го критикува, че по някакъв начин неправилно проектира зъбни колела - в крайна сметка, за да работите с тях, трябва да разберете принципите на зъбните колела. Но точно такива упреци понякога чуват програмистите.
Единствения начин. Този принцип не може да бъде избегнат, той е в основата на цялото естество на програмирането.
Често срещам следния аргумент: „Програмирането не е водопровод. Всеки трябва да може да овладее програмирането. " И аз ще отговоря: да, така е. Всеки собственик трябва да може да смени крана у дома.
Изглежда, че това е ужасно нещо обичайно, но след това веднъж се опитах да поправя мивка в кухнята със собствените си ръце и причиних няколко хиляди долара загуби.