Как много хорошего было сделано на голом энтузиазме! Примерно в ту пору, когда автор заметки пошел в школу, я тоже делал на энтузиазме некое подобие Autocad с ориентацией на проектирование электросхем. В ту далекую пору компьютер, на котором настоящий Autocad запускался и нормально работал, был дефицитом в организации, где я работал, больше было 286-х компьютеров (вообще слыхали про такие?!). Так вот, в связи с тем, что по работе было необходимо рисовать схемы по ЕСКД (Autocad в ту пору, кстати, не очень соответствовал ЕСКД), для облегчения собственного труда и труда коллег я не придумал ничего лучше, как написать свой «автокад»… Рабочим инструментом был Borland Pascal 7, Delphi тогда еще не родилась. Работало все под управлением Windows 3.11 (к моменту завершения проекта уже появился в нашем отделе 486-й компьютер, но Autocad он тянул плоховато все равно). Было сделано много относительно «инновационных» на тот момент фич: drag-n-drop графических примитивов, многоуровневый буфер обмена, графика в меню, всплывающие подсказки, печать с предпросмотром и разбиением на несколько листов… Кто помнит ПО тех лет, должен согласиться, что и фирменный софт не всегда обладал всеми этими возможностями — Autocad точно не обладал.
Самое удивительное, что моей программой отдел пользовался вплоть до 2008-го года! Но с широким распространением Windows XP на офисных компах мой EasyCAD умер из-за несовместимости…
К сожалению, никаких доказательств предъявить не могу: недавно нашел exe-шник на дискетах 5", так выяснилось, что больше нет компьютеров с такими дисководами…
Уважаемый, я говорю о том, почему программирование стало сложным — статью-то Вы прочли? Там сказано о тяготах программиста. Так вот, я продолжаю о тяготах: их усугубляет то, о чем я ранее уже сказал, а именно «обслуживание интересов серости».
Я пытаюсь говорить по теме статьи. При чем тут то, что говорите Вы? Это верно, но к теме статье отношения не имеет.
Кернельщик в конечном итоге так же будет вынужден обслуживать запросы верхнеуровневщика, т.к. из-за бессмысленного GUI требования к ресурсам ядра могут кардинально измениться… но это так же не имеет отношения к теме.
Вот только это вряд ли вина программистов, это вопросы к маркетологам, аналитикам, менеджерам и прочим людям, которые собирают, анализируют и формулируют требования к разрабатываемому софту.А кто обвиняет программистов?!
Я говорю лишь о том, что их труд стал более сложным — статья-то ведь об этом!
А уж кого за это благодарить… Я назвал это «обслуживанием интересов серости». Извините, умных слов мало знаю, больше привык русскими простыми обходиться…
Я не говорю проще или нет! Я говорю о том, что с каждым днем обязанностей, которые де-факто никому не нужны, все больше и больше — та же самая «переверстка GUI» — на примере MS Word кому конкретно в жизни помогла создавать тексты лучше, качественнее или производительнее? А ведь для того, чтобы MS Word получил «ленту» вместо «меню» пришлось трудиться огромной куче программистов, которые так и продолжают получать зарплату, непрерывно устраняя баги в этой ленте. (Лента — это образно, но аналогичных примеров полно и без нее).
Современное программирование стало трудным потому, что доля бессмысленного труда в нем постоянно растет. Лично меня бессмысленный труд всегда утомляет больше осмысленного, не знаю, как других…
Извиняюсь, что не в одном посте все сказал…
К аналогии автопоилки — если бы автопоилка в коровнике создавалась на тех же принципах, что и современные программы, она имела бы 946 кнопок с иконками в 64-битном цвете, каждое действие доярки сопровождала бы 7-канальным звуком, при этом все шланги были бы «приятного глазу коровы цвета», а о наполнении подойинка отправляла сообщение в фейсбук. И тогда я сказал бы «автопоилка бессмысленно сложная» — когда доили руками, было лучше.
Это немного не то, что сказали вы…
Под легким я понимаю ровно то, о чем писал автор заметки — сопровождение, поддержка, улучшение и т.п.
Задача, решенная сегодня современными средствами никогда не может перейти в разряд «законченный продукт» — программа вынуждена непрерывно изменяться/обновляться, т.к. постоянно и непрерывно изменяются второстепенные (по отношению к задаче, решаемой программой) требования — глубина цвета, DPI дисплея, новые стандарты интерфейса и т.п.
Поэтому программист никогда не сможет сказать «я завершил работу над программой», даже если сама по себе задача действительно решена и удовлетворяет заказчика.
Программирование стало сложным сразу после того, как во главу угла были поставлены интересы серости. Пока программа вычисляла параметры ядерной реакции — программирование было удовлетворительно легким. Но с момента, когда результаты стало необходимо представлять в 32-битном 3D-изображении в реальном времени — программисты стали быстро седеть (некоторые — толстеть), потому что программы стали обрастать огромным наслоением «лишнего», тербующего постоянного обновления, поддержки, рефакторинга и т.п.
Содержание подменяется оболочкой. Посмотрите на статьи на хабре — почти все они многие из них посвящены новым интерфейсам с пользователем: все эти кнопочки, иконочки, картиночки и т.п. рендеринги. Я не отрицаю, что есть области, где визуальный и звуковой интерфейс имеет первостепенную важность, но не все же аспекты деятельности человека!
Конечно, когда вместо химической формулы, понятной только химику, программа выдает 3D изображение молекулы — это существенно усложняет жизнь программисту, но никак не облегчает жизнь химику и тем более не делает результат понятнее для профана. Зато картинка производит впечатление на инвесторов, менеджеров, покупателей и просто зевак (создающих сайтам ТИЦ, PR и другие «лайки») — соответственно возникают требования сделать в следующий раз «еще красивее, еще нагляднее, еще удобнее»… А это влечет разработку новых «инструментов»… и круг замыкается.
Сегодня я вообще не понимаю, как можно стать программистом — даже если понимать под «стать» всего-навсего изучение какого-либо языка с наиболее популярным фреймворком для него, то к моменту завершения изучения появляется новая версия языка и две или три версии фрейморка…
По-моему, необходимость обеспечить всех возможностью зарабатывать «легкие» деньги увела технологию программирования из предметной области в развлекательно-бесполезную, хотя это мало кем признается.
Самое удивительное, что моей программой отдел пользовался вплоть до 2008-го года! Но с широким распространением Windows XP на офисных компах мой EasyCAD умер из-за несовместимости…
К сожалению, никаких доказательств предъявить не могу: недавно нашел exe-шник на дискетах 5", так выяснилось, что больше нет компьютеров с такими дисководами…
Признаю свою ошибку, виноват, исправлюсь.
Кернельщик в конечном итоге так же будет вынужден обслуживать запросы верхнеуровневщика, т.к. из-за бессмысленного GUI требования к ресурсам ядра могут кардинально измениться… но это так же не имеет отношения к теме.
Я говорю лишь о том, что их труд стал более сложным — статья-то ведь об этом!
А уж кого за это благодарить… Я назвал это «обслуживанием интересов серости». Извините, умных слов мало знаю, больше привык русскими простыми обходиться…
Современное программирование стало трудным потому, что доля бессмысленного труда в нем постоянно растет. Лично меня бессмысленный труд всегда утомляет больше осмысленного, не знаю, как других…
К аналогии автопоилки — если бы автопоилка в коровнике создавалась на тех же принципах, что и современные программы, она имела бы 946 кнопок с иконками в 64-битном цвете, каждое действие доярки сопровождала бы 7-канальным звуком, при этом все шланги были бы «приятного глазу коровы цвета», а о наполнении подойинка отправляла сообщение в фейсбук. И тогда я сказал бы «автопоилка бессмысленно сложная» — когда доили руками, было лучше.
Это немного не то, что сказали вы…
Задача, решенная сегодня современными средствами никогда не может перейти в разряд «законченный продукт» — программа вынуждена непрерывно изменяться/обновляться, т.к. постоянно и непрерывно изменяются второстепенные (по отношению к задаче, решаемой программой) требования — глубина цвета, DPI дисплея, новые стандарты интерфейса и т.п.
Поэтому программист никогда не сможет сказать «я завершил работу над программой», даже если сама по себе задача действительно решена и удовлетворяет заказчика.
Содержание подменяется оболочкой. Посмотрите на статьи на хабре —
почти все онимногие из них посвящены новым интерфейсам с пользователем: все эти кнопочки, иконочки, картиночки и т.п. рендеринги. Я не отрицаю, что есть области, где визуальный и звуковой интерфейс имеет первостепенную важность, но не все же аспекты деятельности человека!Конечно, когда вместо химической формулы, понятной только химику, программа выдает 3D изображение молекулы — это существенно усложняет жизнь программисту, но никак не облегчает жизнь химику и тем более не делает результат понятнее для профана. Зато картинка производит впечатление на инвесторов, менеджеров, покупателей и просто зевак (создающих сайтам ТИЦ, PR и другие «лайки») — соответственно возникают требования сделать в следующий раз «еще красивее, еще нагляднее, еще удобнее»… А это влечет разработку новых «инструментов»… и круг замыкается.
Сегодня я вообще не понимаю, как можно стать программистом — даже если понимать под «стать» всего-навсего изучение какого-либо языка с наиболее популярным фреймворком для него, то к моменту завершения изучения появляется новая версия языка и две или три версии фрейморка…
По-моему, необходимость обеспечить всех возможностью зарабатывать «легкие» деньги увела технологию программирования из предметной области в развлекательно-бесполезную, хотя это мало кем признается.