Я не буду описывать сейчас все возможные варианты самой технологии программирования. Для подробного их рассмотрения, к сожалению не достаточно собраться с друзьями и поболтать.. Я рассмотрю поверхностно и тезисно только несколько самых известных подходов, которые и сформировали наше мифологическое мышление.
Итак, технология программирования это по сути то, каким образом будет осуществляться сама работа с кодом. И это скорее не о языке, а о принципах организации кода.
Миф 3. Однажды мы научимся правильно писать код и тогда делать почти ничего не нужно будет, а деньги сами будут падать к нам в карман и все будут счастливы… Это только пока нас всё время ругают за то, как мы пишем.
Чтобы легче понять что именно вызывает у меня возмущение, нужно смотреть глубоко в историю вопроса.
Любой язык программирования — это по сути не настоящий язык, так как в его основе лежат низкоуровневые команды, которых толком никто не видел. А значит, там можно спрятать что угодно — хоть номера телефонов, место жительства и кредитку. Это во — первых.
Во-вторых, не существует ни одной сколько-нибудь всеобъемлющей технологии, позволяющей писать код быстро и хорошо. По сути было придумано 3 частных способа:
- Функциональное и модульное программирование
- ООП
- Готовые инструменты — СМС для создания сайтов, различные фреймворки
Модульное программирование было хорошо тем, что не требовало больших усилий для обучения программистов. Но зато выяснилось что для больших продуктов это оказывается чрезвычайно неудобный инструмент. По сути неудобный именно для человека, поскольку разобраться в том, что написал другой, не имея никаких правил и структуры очень проблематично. Имена, названия в коде быстро заканчиваются и начинают повторяться, возникает путаница, дублирование кода.
Поэтому создали ООП, который должен был решить эти проблемы. Однако ООП не решил их, поскольку снова в дело вступил человеческий фактор.
Пока у нас есть чётко определённая задача, всё замечательно. Мы размечаем предметную область, пишем код, всё готово.
Однако затем на сцену выходит начальство, которое говорит — вот тут вот нужно вот так вот, мы не подумали и вообще нужно теперь сделать, чтобы это всё работало ещё и с нашей новой компанией на Сомали.
И всё. ООП в одно место. Задача изначально была неправильно поставлена, реализация не может быть быстро изменена.
ООП оказался вцелом способом более дружелюбным, чем модульное программирование, но очень инерционным, не позволяющим легко менять части программы… Поэтому следующим витком ООП стала микросервесная архетектура, которая по идее не должна была зависеть вообще не от чего, однако в результате оказывается повторением модульного программирования, с другого конца.
По сути это тупик. Мы упёрлись в то, что язык программирования создавался для программистов, у которых всегда есть много свободного времени. Есть время на оптимизации и подумать (это ирония, понятная наверно только тем, кто сам писал код)…
Но в любом случае язык программирования не для тех, кому нужен конечный продукт. Нормальный человек в такое дерьмо, как говорится, не полезет.
Также была сделана попытка писать код и создавать продукты при помощи готовых решений, адаптированных к основным нуждам прогаммистов — фреймворки и смс.
С ними по сути случилась та же беда, что и с обычным ООП. Пока задача поставлена точно и определена — всё отлично. Как только нужно расширить функционал, мы попадаем в зависимости от библиотек, общего устройства и тд. Наверно пока это лучшее решение из всех возможных, которое хотя бы позволяет оптимизировать основной труд разработчика. Но этого явно недостаточно. И если ООП было шаг 2, то фреймворки, это даже не 3 шаг, это 2+.
Но по своей сути — это тоже не решение вопроса.
Однако это решение, которое всех устраивает. Я вообще не думаю, что будет шаг 3 — разве что это будет искусственный интеллект. Но пока его создадут, пока научат.. Думаю лет 100 пройдёт.
Почему же эти подходы всех устраивают? У программистов всегда есть работа и зарплата. У производителей пк всегда есть продажи. У начальства всегда есть маленькая компания в Сомали, которая работает не совсем как бы это сказать.. правильно. Либо есть связи в правительстве, а правительство живёт за счёт ресурсов своей страны. Поэтому им торопиться некуда и делать всё идеально - тоже не нужно.
Никому не нужно, чтобы всё работало хорошо и быстро.
Всем нужно, чтобы люди ходили на работу, пока верхушка живёт за их счёт. И им абсолютно наплевать, какими инструментами мы будем грести. Лишь бы до берега доплыли. Хоть ладошками.
Значит, если технология программирования никому не нужна, то кому же это всё нужно? И почему за её не соблюдение ругают на работе?
Ха… Потому что это большая ложь. Никому особенно нет дела, как написан код, — начальству не нужно самим что-то создавать. Но им нужно научиться руководить, давить людей, чтобы выйти на вершину власти в компании и наконец зажить нормальной жизнью. Не было бы технологии программирования, ругали бы за не выглаженные рубашки или неправильно составленные письма… Главное — продавить в меня саму идею, что я работаю плохо и должен непрестанно совершенствоваться, чтобы работать лучше.
Все кто хотят жить и более того живут по — настоящему, — будут воровать, подставлять и предавать, лгать, убивать, но жить. Всё что угодно, кроме простого ежедневного труда… Видимо это единственная технология доступная человеку — выживать любым, самым доступным и лёгким способом.
Почему так, сказать не берусь. Наш ум, конечно, всегда выбирает самый лёгкий способ. Но ведь есть ещё душа и она должна побаливать от таких методов…
Не могу ничем объяснить это явление мирового масштаба кроме того, что она есть не у всех, либо болит совершенно по разному..