Что такое программирование?
Наверняка вы встречали множество определений процесса программирования. Или нет 🤔. Я же предложу свой вариант, т.к. любой модели нужен свой детерминизм, в том числе и моей.
Прежде всего, давайте разберемся, чем не является программирование.
Программирование — это не знание семантики языка, компилятора, фреймворка, среды разработки. Так же, успешный запуск программы Hello, World! не является процессом программирования.
Прекрасно, но что же тогда представляет собой процесс программирования? Очевидно, что в самом начале изучения разработки вы не можете являться программистом, равно как при большом опыте вы уже скорее всего можете назвать себя программистом. Где та грань, где происходит трансформация из процесса набора цветного текста в текстовом редакторе в процесс программирования?
Чтобы это понять, давайте введем определение.
Программирование — это процесс создания и распределения сущностей в системе на основе требований решаемой задачи.
Теперь, чтобы понять, является ли тот процесс, которым вы заняты, программированием или нет — посмотрите на определение, и сопоставьте с фактически выполняемой работой.
Если вы что-то делаете, но не осознаете, что вы делаете, то скорее вы еще в ученической роли. Обычно такой уровень называется джуниор.
Если вы понимаете с чем вы работаете и почему, даже если сами с нуля не можете выстроить подобную систему сущностей (архитектуру), то вы уже в роли специалиста. Еще такой уровень принято называть мидл. С этого уровня процесс уже можно назвать программированием.
Если вы сами можете с нуля создать систему сущностей для решения задачи (архитектуру), то вы уже в роли старшего специалиста. Такой уровень принято называть сеньор.
Кроме того, я считаю неотъемлемой частью процесса программирования (хорошего программирования) является выбор хорошего нейминга — как сущностям, так и переменным. Это влияет на качество кодовой базы больше, чем многие думают. Однако, из самого определения нейминг я исключил, т.к. все же он относится к технике, а не к концепции.
Работа и с сущностями и с неймингом очень важна. Нейминг — это про ритм, сущности — про структуру. В этой книге, среди базовых принципов есть Принцип ритма и структуры — RSP (Rhythm and Structure Principle). А если это лежит в самом сердце всей концепции, понимание этого добавляет несколько пунктов к вашей силе.
«... Процесс создания и распределения сущностей в системе ...»
Да, вот так просто на первый взгляд. Но это и есть самый сложный аспект в разработке. Выучить синтаксис, встроенные функции, запустить компилятор — это не значит уметь программировать. Равносильно этому, выучить нотную грамоту — не значит стать музыкантом. Чтобы стать музыкантом, нужно трогать сердца людей. Чтобы стать программистом — ума.
Конечно, предстоит освоить много принципов, техник и концепций на пути к мастерству. Путь долог и тернист.
Лишь немногие доходят до просветления.
Код, который не может не работать
Практическо-философский трактат
∞ © Все права защищены
Все материалы, размещённые на данном сайте, защищены авторским правом.
При использовании, цитировании или копировании любых текстов, изображений или других элементов контента обязательно указывать активную ссылку на источник.
По всем вопросам обращайтесь по адресу электронной почты: om@cantfailcode.ru