Мой взгляд на эволюцию в программировании

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

Итак, у истоков программирования стояли высокие мужи из академических кругов. Все эти фортраны, форты, самаллтолки, лиспы задали очень высокую планку для программистов. Разработка програм была делом нелегким, из-за несовершенства операционных систем, отсутствия общепринятых стандартов, многообразия платформ. Далее, — эпоха C. Еще дальше, когда количество кода в приложениях стало лавинообразно увеличиваться, а организовывать разработку команд программистов, стало гораздо сложнее, при том, что порог вхождения необходимо было уменьшать. Постепенно наступала эпоха ООП. Бизнес и конкуренция требовали многократного использования кода и высокой скорости разработки без ущерба качеству. Мало-помалу программные компоненты, библиотеки, модули стали играть очень важную роль, и постепенно особенности языка стали уходить на второй план. При плюс-минус аналогичном синтаксисе все популярные языки были очень похожи. Появились всевозможные средства визуального проектирования и программирования (VB, delphi, java, c#). Производители операционных систем, в свою очередь, пытаясь облегчить жизнь программистам, старались реализовать максимум функционала компонент на уровне системы, сделав софт «легче», «быстрее» и по возможности более жестко привязанным к платформе. С другой стороны, программисты, пытаясь облегчить процесс разработки, унифицировать его стали реализовывать всевозможные программные микроплатформы, фреймворки, скрывая за программными абстракциями всевозможные технологии, аппаратные и программные платформы, предоставляя программистам весьма высокий уровень абстракции и позволяя фокусироваться на конкретных бизнес-задачах.

Мы живем в очень интересное время. Похоже, производительность процессоров не будет расти так быстро, как это было на протяжении последних тридцати лет, и программистам придется решать проблемы производительности «ростом вширь». C другой стороны, обилие платформ и языков заставляет абстрагироваться программистов еще больше, в этом направлении появляется еще одно новое (или правильнее было бы сказать, хорошо забытое старое) веяние: dsl (domain specific language), специализированные языки разработанные для решения конкретных задач. Огромным преимуществом dsl, является максимальный фокус на предметной области решаемой задачи и максимально абстрактный подход, при том что конечная платформа зависит лишь от среды интерпретации. В связке с хорошим IDE этот подход позволит предоставить пользователям настолько простой язык, для решения их задач, насколько они сами того захотят (или ли же визуальную среду разработки), а программистам полную свободу по выполнению пользовательских сценариев. Надо сказать что написание dsl внутри языка было популярным уже в 60е годы, в среде программистов на лисп, но этот подход настолько опередил время, что не прижился в широких массах программистской среды и только сейчас набирает, как мне кажется, обороты. В принципе, уже сейчас, заметно сильное разделение между программистами «скриптописателями» и «платформостроителями», а со временем, по мере того как уровень среднего пользователя подрастет этот разрыв станет еще более очевидным.

Как бы то ни было, уверен, мы еще застанем и увидим эти перемены.

Site Footer

Sliding Sidebar

About Me

About Me

For whom this blog for?

For those who are interested in modern Internet technologies, IT business, startups, management, quality control, personal effectiveness, motivation. Here I write about what is interesting, about problems I faced and solutions I found. I hope it will be interesting to you either.

What motivates me to write?

The desire to improve, to study deeper topics that interest me. Find people with similar problems and tasks, together look for ways out and solutions.

Feel free to contact if you have anything to say to me

Old Flash site with my artistic works and misuc.