Актуальность применения ООП сегодня

Хочу поблагодарить Сергея, одного из своих читателей, задавших интересный вопрос. Я решил ответить на него в блоге, так как тема может быть интересна еще кому-нибудь.

Вопрос был о том, насколько актуальна сегодня парадигма ООП, и что ждет программирование дальше. Сергей ссылался на интересное обсуждение здесь. Из комментариев этого обсуждения можно видеть, насколько тема неоднозначна и противоречива. Я, ни в коем случае не считаю себя большим экспертом в этой области, но есть некоторые мысли, которыми хочу поделиться, надеюсь это будет интересно, ведь недаром, спору «нужен ли C++» уже почти пол века.

Первое, о чем хочется упомянуть, это ни функциональные языки программирования, ни DSL, не являются чем-либо новым, равно как и многие другие «новые подходы», вновь ставшие популярными последние годы. Многие из них берут начало в 60х годах, когда программистов было мало, и пришли они, в основном, из среды математиков и физиков. Тогда было легко изобретать новое, и это быстро подхватывалось пытливыми умами, развивалось и применялось. Сейчас количество программистов значительно выросло, и как следствие, уровень среднего программиста стал значительно ниже. Программирование проделало длинный путь от искусства и науки к ремеслу. Программистская среда стала более инертной, с трудом принимая новые подходы, и чем сложнее подход, тем менее он популярен. Именно поэтому, уже завоевавшая популярность, несложная концепция объектного проектирования по-прежнему остается такой востребованной. Несколько слов в защиту ООП, — во-первых, это работает. Так или иначе, программисты научились понимать друг-друга, строить сложные системы и создавать абстракции при помощи паттернов. Множество программистов начало думать в терминах ООП, множество кода написано и протестировано. Это то, что делает ООП актуальным еще долгое время, особенно для решения классических задач. Но для задач нетривиальных, всегда необходимо пробовать и применять новые подходы. «Серебряной пули» не существует. Более того, понимание подходов функционального программирования, макроязыков, алгоритмов, устройства компиляторов-интерпретаторов дают программисту неоспоримые преимущества для написание качественного и гибкого кода. Поэтому изучайте, пробуйте, и эти знания изменят ваш код и подходы к работе.

Несколько слов о том, как я вижу развитие программирования:

  • Я думаю что постепенно программирование будет смещаться от императивных языков к декларативным. Я имею ввиду, что человек не будет фокусироваться на пути реализации, не будет описывать «как делать», а лишь, «что должно получиться». Профессия программиста трансформируется, — будут своего рода аналитики, описывающие требования к системе, на основании которых система будет работать, без всякого дополнительного кодирования.
  • В связи с тем, что развитие современных процессоров вступило в фазу экстенсивного развития (от гонки частот мы переходим к гонке количества ядер), скоро мы должны увидеть взлет популярности простого функционального языка, к сожалению это не будет ни haskel и erlang, а вероятнее всего javascript. Хотя тут, очень легко ошибиться.
  • Еще раньше, я думаю, мы увидим то, как средства визуального проектирования вновь войдут в моду. С одной стороны, это немного противоречит «декларативной природе», с другой — я думаю нам еще долго не удастся настолько специфицировать интерфейсы, чтобы стало возможным генерировать их.
  • Интерфейсы взаимодействия пользователя с системой будут стандартизироваться все больше и больше. Роль дизайна будет решающей, и попытки специфицировать UI будут способствовать как обучению пользователей взаимодействовать с системами, так и проектировщиков, строить их максимально предсказуемо.

Comments

comments

2 comments On Актуальность применения ООП сегодня

  • Ну вот, человеческим языком, для таких чайников как я написано )

    ЗЫ: с Новым Годом )

  • С Новым Годом!
    Ну, за язык не обессудьте. Да и выкладки тут сугубо субъективные, эдакий такой “холиворчик”.

Leave a reply:

Site Footer

Sliding Sidebar

About Me

About Me

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

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

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

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

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

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

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

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

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