tgoop.com/metaprogramming/19
Last Update:
Продолжая идею "прочной базы". Если выделять наиболее полезный мыслительный (и одновременно предметный/инженерный) навык, программист — это специалист, который правильно выделяет границы (уровни) абстрагирования.
Т. е. программист, в сущности, всегда занимается только тем, что всеми силами удерживает себя от попыток "нащупать дно", и пытается залить прочный фундамент прямо поверх зыбучих песков вечно текущих абстракций.
Поэтому желание "нащупать базу", сразу бросившись рекурсивно изучать какой-то "более фундаментальный" слой, чем тот, который программист в данный момент ради конкретной задачи пытается освоить, уже априори "антипрограммистское".
Программисту не нужна база, ему нужна некая рабочая модель того, чего там "внизу", а что там на самом деле, ему наплевать, если эта модель более-менее работает. Конечно, в этой границе между "более" и "менее" можно принять решение одним глазком заглянуть на следующий слой эфемерной реальности, но с намерением как можно быстрее оттуда сбежать обратно в знакомый и конкретный срез рабочих упрощений.
"Синьор" программист отличается от "джуниора" тем, что может подобные "рабочие модели" строить не только для себя, но и для других людей. Соответственно, если в ответ на конкретный вопрос некто посылает адресата без дополнительных уточнений на "первые два курса технического ВУЗа", можно достоверно сделать вывод, что данный советчик по своей сути не является программистом, в независимости от его социального положения и привычного способа заработка.
Конечно, заглянуть на "следующий уровень" может быть полезно. К такому походу надо ответственно готовиться, правильно оценивать свои силы, и адекватно
приоритизировать. Когда некто признаётся, что не разобрался в понятии "переменная" и операции присвоения, но полез учить основы дифференциального счисления (как бы всё ещё "учась программировать"), это, надо признать, случай столь же безнадёжный, сколько случай человека, который решил выучить 100 (1000, 10000) слов иностранного языка для того, чтобы комфортно объясняться с официантами и таксистами в целевой стране и читать местные газеты, и, по ходу этой задачи, к примеру, застрявшего на чтении Шекспира без словаря и изучении дихотомии переменчивой орфографии английского в её связи с латинским и греческими прообразами.
Со стороны понятно, что это не обучение, а облагороженное безделье.
Впрочем, конечно, можно начать изучать английский с изучения латыни и греческого, этимологи и порождающих грамматик, перейдя к историческим основам, к Шекспиру, и дойдя до относительно современной классики, до Шоу, почему бы и нет? Можно начать изучать программирование от теории суперструн, устройства полупроводников приборов, или даже с языка Си. Можно, если вы бессмертный сверхчеловек с неограниченным временем и неиссякаемым источником доходов.
#education #programming
BY Metaprogramming
Share with your friend now:
tgoop.com/metaprogramming/19