2023-11-22 16:09:29
Страшная тайна программирования От новичков часто слышу, что они убивают много дней работы на то, чтобы сделать систему гибкой: готовой к любым задачам и расширяемой во все 4 стороны света.
Но с опытом приходишь к тому, что программирование - это скорей не про гибкость, а наоборот, про ограничения. Вы буквально должны построить непротиворечивую систему, которая не поломается при работе с ней.
Я люблю приводить в пример
презерватив с водой.
Воду таскать в ведре легче, чем в презервативе, потому что он постоянно норовит выскочить из рук. Он гибкий? Конечно! Удобный? Нет!
Также и код. Нет никакого смысла делать супер гибкие вещи.
В начале своей карьеры я прочитал книгу: "Types and Programming Languages. Benjamin C. Pierce". Она многое расставила по местам и до сих пор является важным фундаментом моих навыков.
В ней хорошо рассказывается:
что такое система типов и почему она так важна. Любое нормальное проектирование систем промышленного уровня невозможно без понимания этого.
К слову, в 2016-ом году нобелевскую премию по экономике получили Харт и Хольмстрём за "За их вклад в развитие теории контрактов". А на следующий год эту же премию получил Талер за "За вклад в поведенческую экономику".
Прошло не так много лет, но мне уже давно очевидно, что современное программирование - это ближе к экономике, чем к информатике.
Программист не пишет код и не колдует над процессором, а разрабатывает контракты, которые одинаково понимают как машины, так и другие программисты. А ещё это происходит в поле когнитивных искажений разработчиков и ассиметричной информации о предметной области.
Поэтому страшная тайна высокоуровневого программирования в том, что оно относится к современной науке экономике больше, чем к информатике.
15.4K views13:09