ООП и полнота или неполнота различных языков программирования

21.06.2013

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

Все бежим туда!

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

Если вдуматься, то правы обе стороны. Ну хотя бы потому что технология достаточно молода. Вот лет через 10, когда ее что-нибудь вытеснит, все будут так же говорить о новой технологии :).  Новое оно и есть новое. Мне вот сложно ее воспринимать из-за наличия навыков в старых. А кто-то пришел и с нуля знает и умеет ого-го что.  Это больше напоминает бесконечный холивар на тему что лучше Win или unix, Android или iOS. А ведь это всего лишь прикладные инструменты.

Но вернемся к теме. Помимо нативных ООП языков, действительно созданых в рамках парадигмы ООП. Самый первый Smaltalk. Ему уже лет больше чем мне, и вот к слову не знаю где он используется. А вот его наследники: C# или Objective-C испольуются сейчас, и мной и моими коллегами. В них невозможно написать программу без ООП. Правда можно об этом и не знать и написать любую программку. Ну подумаешь что почти все типы данных это обьекты. Вот как раз в этом многие и критикуют эти языки. Все закрыли верхним уровнем, заполнили все ООП и не оставили альтернативы. Может быть. Но это повторюсь лишь прикладная ситуация  спорить тут бесмысленно.

Или вот паттерны. Кто-то пишет программы и не знает о их существовании, кто-то рефакторит код прводя его к только ему известной концепции, полагая что вот они паттерны, позволяют избежать ошибок. А кто-то с пониманием и достаточным обьемом использует их. Вот буквально вчера прочитал интересную историю: Фирма писала ПО, уже продающееся, и затем пригласила консультанта. По его рекомендации потратили 2 месяца на рефакторинг. Обьем кода уменьшился на 40%.  Использовались паттерны, оптимизовалось все. В итоге через полгода проект провалился т.к. не нашлось тех кто смог его поддерживать и развивать.

Мне эта ситуация понятна. Консультант появился потому что нужно было стандартизовать разработку при продаже бизнеса. При этом наверняка оптимизировались расходы. В итоге сбежали все программисты выского класса, код был оптимизирован до состояния нечитаемости средним программистом. А денег потом уже нет на высококлассных. Баста карапузики.

Вот это больше описывает полноту или неполноту языков с ООП. Мозги нужны для начала, а для всего остального преград нет. Сделать можно все :).

 

 

Комментариев нет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *