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

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

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

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

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

Comments

comments

Leave a reply:

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Site Footer

Sliding Sidebar

About Me

About Me

Для кого этот блог?

Для тех кого интересуют современные интернет технологи, IT бизнес, стартапы, менеджмент, контроль качества, личная эффективность, мотивация. Здесь я буду писать о том, что в первую очередь будет интересно мне, о проблемах и решениях. О том что пригодилось мне, и возможно будет интересно Вам.

Что заставило меня создать его?

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

Немного о себе.

Мой первый серьезный опыт в IT это работа над desktop приложениями в компании «Эксперт-Софт». У истоков её стояли несколько амбициозных и талантливых молодых людей, с огнем в глазах и желанием работать «как майкрософт». То чем мы там занимались вполне могли бы сегодня назвать «стартапом». Рук было откровенно мало, поэтому приходилось заниматься всем: кодированием на Delphi, написанием скриптов на VBA, дизайном, вёрсткой и поддержкой вебсайта, работой над рекламной полиграфией, проектированием интерфейсов и БД. Работы было много, но запал был велик, команда очень разношерстная, гармонично дополняя друг-друга в решении нетривиальных задач. Благодаря тому что пришлось попробовать многое, постепенно вырисовалось понимание того чем хочется заниматься, и как. Софтверным программированием я был сыт по горло. Массы проблем десктопного софта в вебе просто не было, по определению. Зато был четкий фокус на дизайне, юзабилити, скорости. Поэтому когда пришла пора уходить из «Эксперт-Софт», я без всякого сожаления стал искать работу как разработчик для web. Поскольку городишко у нас не очень большой, выбор был практически предопределен. Так я стал работать в «Оникс-Системз», где и продолжаю работать поныне. За время работы в компании я как разработчик принимал участие в работе над несколькими десятками проектов. Несколько десятков проектов было сделано мною как фрилансером. Самым большим проектом в котором я сыграл роль менеджера, считаю свою семью. Также довольно большой проект мы сейчас поднимаем с командой разработчиков (на данный момент команда состоит из четырех php разработчиков, одного flex кодера и тестировщика). Отсюда, большой интерес к современным практикам и методологиям, разным подходам в управлении командой, повышению эффективности и качества работы. По мере сил, вдохновения и свободного времени, я буду писать об этом.

Если у Вас возникли какие-то вопросы ко мне лично, буду рад если Вы свяжетесь со мной:

e-mail:
skype: denis.sheremetov
Старый сайт, с музычкой и флешом

Прочая онлайновая деятельность: