Об Истории По: Почему Программы Становятся Хуже

Данная статья представляет собой попытку разобраться в причинах того, что описано в статья о плохом качестве современного ПО .

До начала 90-х годов прошлого века специальность программистов была исключительно инженерной.

Компьютеры (ЭВМ) представляли собой специальное оборудование в научных или военных учреждениях.

Программирование в его современном виде стало актуальным, когда в новой профессии встретились специалисты из университетов и вчерашние энтузиасты, писавшие для себя для Спектрума.

Этим людям предстояло создать мир компьютерных программ.

Тогда, на мой взгляд, и началась история современного программирования.



Снимать

С появлением более мощных и доступных компьютеров сфера их применения чрезвычайно выросла.

С появлением компьютеров деятельность практически во всех сферах стала лучше, быстрее, эффективнее и комфортнее, а для некоторых задач открылся путь от научной фантастики к реальному миру.

При этом, как и в любой совершенно новой области в начале ее существования, компьютерных программ катастрофически не хватало.

Это создало беспрецедентный до сих пор спрос на программистов и их работу.

При этом специальность программиста перестала быть чисто инженерной и стала отдельным видом деятельности.

Требования к программистам и порог вхождения были высокими, но не чрезмерными и соответствовали ситуации.

Работа программистов в определенной степени не была похожа ни на что, существовавшее раньше.

Минимум карьеризма, фальшивой репутации, условностей и ненужного регулирования.

Деятельность программиста более творческая, чем у других в инженерной сфере.

Те, кто начал программировать в это время, помнят тот энтузиазм и эмоциональный подъем, которые стали тогда обычным явлением.

Написать и заставить работать хорошую программу правильно — удовлетворение от этого было такое же, как удовлетворение художника, создавшего произведение искусства.



Рынок

Глядя на бурное развитие и распространение компьютеров, «представители бизнеса» быстро «увидели» в этом новый рынок – рынок программного обеспечения.

Потенциально огромный и практически бесплатный! Редкая ситуация для конца 20 века.

Захват хотя бы части такой огромной сферы сулил «золотые горы», но требовал определенной стратегии.

И самым успешным подходом на тот момент был « выпустить продукт, который делает что-то нужное раньше конкурентов Это было оправдано ситуацией, ведь большинство тех, кто пользовался компьютерами, выбирали между «сырой» программой сейчас или ожиданием, без каких-либо сроков и гарантий, и выбрали первое.

Так ОС Windows «угнала» ПК.



Качество

Период, когда «любая программа лучше, чем отсутствие программы», длился недолго.

(Хотя некоторые «представители индустрии» этого не поняли и продолжали всё выпускать новые версии своих продуктов , который уже никому не нужен.

Через несколько лет такие компании, естественно, «сошли со сцены».

) Интернет и появление глобального сообщества программистов сделали написание открытого и бесплатного программного обеспечения по-настоящему эффективным.

Кроме того, появилась конкуренция со стороны тех, кто «опоздал на первое отделение».

К захватывать доля рынка нуждалась в одной стратегии, чтобы держать — нужен был еще один.

И будущие «мастера отрасли» ( монополии, разрушающие создавший их свободный рынок ) изменили свой подход. Они начали нанимать лучших программистов и поручать им писать хорошие, надежные и эффективные программы, причем не только коммерческие, но и с открытым исходным кодом.

Модификация существующего бесплатного ПО для собственных нужд, даже с необходимостью публикации исходного кода, зачастую оказывалась принципиально более эффективной, чем написание собственной версии с нуля.

Это создало уникальную ситуацию: программисты хотели писать хорошие программы и менять мир к лучшему, а компании-гиганты были готовы за это платить.



«Застой»

В конце 00-х (частично в начале 10-х) мощность процессоров массового производства достигла необходимого большинству предела.

Фактически «гонка мегагерц» закончилась, и от «гонки технологических процессов» люди ждали уже не столько ускорения вычислений, сколько энергоэффективности и снижения тепловыделения.

Конечно, производительность и количество ядер в новейших процессорах продолжали расти, но мощные ПК становились узкоспециализированными профессиональными устройствами (или дорогими игрушками), а массовое развитие двигалось в сторону компактности и снижения шума охлаждения.

При этом «рынок программного обеспечения» оказался насыщенным.

Практически для любой задачи уже существовало необходимое программное обеспечение, пусть и не идеальное, но вполне функциональное.

Для выполнения конкретных задач используйте дополнения/расширения/плагины стало обычным явлением.

Разработка сводилась к медленному исправлению ошибок и почти такому же медленному и постепенному внедрению нового функционала по мере необходимости, по сути превращаясь в рутину.

В целом такая трансформация, на мой взгляд, естественна и даже хороша (особенно для тех, кто ценит стабильность).

А вот позиция «владельцев отрасли» прямо противоположная: Стабильность в любой сфере приводит к социальному равновесию и исключает сверхприбыли, ибо постоянные « экономический рост «Нужны кризисы и регулярные «шаги назад».

На самом деле новые «рынки» появляются слишком редко.

Но затем началась «эра смартфонов».



Второй раунд

Всего за несколько лет смартфоны захватили мир.

Почему? Вопрос дискуссионный (на мой взгляд, основными слагаемыми успеха были компактность, совмещение функций ПК с телефоном и сенсорного экрана).

Но так или иначе, это произошло.

Для производителей программного обеспечения вновь открылся новый и пустой рынок.

Подход " выпустить продукт, который делает что-то нужное раньше конкурентов » вновь стал актуальным.

А учитывая примитивность задач и позиционирование смартфонов как модной «игрушки» на ранних этапах, низкое качество кода оказалось еще меньшей проблемой.

Но методы получения прибыли на этом рынке изменились.

Продажа копий ПО уже в середине нулевых явно стала неэффективным решением.

А опыт поисковых гигантов по обработке запросов и таргетированной рекламе оказался более чем востребован «мастерами индустрии», а продажа пользовательской информации стала основным коммерческим драйвером развития программ.

Причём для всех разработчиков, даже мелких, потому что тихий сбор и продажа данных (что ещё недавно считалось уголовным преступлением в большинстве стран) теперь стало основным, зачастую единственным способом «монетизации» приложений.



Другой путь

Можно было ожидать, что через несколько лет рынок программного обеспечения для смартфонов также будет насыщен, и развитие сместится в сторону более высокого качества.

Но этого не произошло.

Эффективные корпоративные менеджеры (на самом деле эффективные, без доли иронии!) на этот раз были хорошо подготовлены, построив будущее еще в начале своего пути.

В нынешнем состоянии насыщение рынка приложений для смартфонов просто невозможно.

Во многом — потому что большинство значимых приложений — «клиенты», без серверной части они абсолютно бесполезны.

Также была предусмотрена «защита» от альтернативного ПО в виде подконтрольного производителю магазина приложений ( конечно для безопасности пользователя ), что исключает по-настоящему массовое распространение «неодобренного» приложения.

Аппаратная «защита от стабильности» представляет собой встроенные аккумуляторы, выход которых из строя со временем неизбежен, а конкретная причина выхода из строя не поддается контролю.

При таком подходе «мастера индустрии» не нуждались в качественных и оптимизированных программах.

Более того, они вредны.

Если все программы занимают сотни мегабайт места и «лагают» — это воспринимается как норма, и скрывают это в такой программе.

недокументированный Функции сбора информации (основная задача с точки зрения того, кто платит разработчику) значительно проще.

Учитывая популярность смартфонов, коммерческий успех этого подхода был настолько головокружительным, что его распространили как на программы для ПК, так и на веб-разработку.

В результате подавляющее большинство выпускаемых сегодня программ крайне неэффективно.

На мой взгляд, это не заговор и даже не заговор - такие результаты можно получить гораздо проще, не сообщая большому количеству людей об истинной цели.

Увольте хороших программистов и наймите на их место больше дилетантов (или отдайте задачу на аутсорсинг, что одно и то же) — и они сами напишут плохой код. Монополии сами действуют по этому принципу, и рынок заставляет более мелких производителей делать то же самое.

Конечно, это не значит, что хороших программ больше нет. Они существуют, и те программисты, которые их пишут сейчас, в такое непростое время, заслуживают особого уважения.

Но они в меньшинстве, и уже не задают вектор развития в целом, а лишь, по возможности, сопротивляются регрессу.



Заключение

Нынешняя ситуация в мире компьютеров и программ многих не устраивает, а у некоторых вызывает серьезную тревогу за будущее.

Та статья не отвечает на вопрос «что делать», и вообще всё, что написано выше — это всего лишь моё скромное мнение (с), попытка разобраться в причинах того, что существует. Не понимая прошлого, невозможно построить будущее.

* В статье не затрагиваются многие параллельные и заслуживающие внимания темы, такие как сложность ради сложности протоколов, примитивизация интерфейсов, проблемы самоуправления сообществ разработчиков свободного ПО и т.д. Некоторые из этих вопросов я не рассматриваю.

я достаточно компетентен, чтобы написать о них, а другие слишком увеличили бы объем статьи.

Было бы интересно прочитать комментарии или статьи по этому поводу от тех, кто «в курсе».

Конструктивная критика и замечания в комментариях также приветствуются.

Теги: #программирование #Windows #Программное обеспечение #с открытым исходным кодом #приложения #история #история #программное обеспечение

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.