Smalltalk по-русски
воскресенье, Май 22, 2005
Запрещать или разрешать?

Мне неоднократно приходилось слышать (и самому говорить), что Smalltalk имеет большую гибкость (предоставляет больше свободы) чем любые майнстримовые на сегодня языки.

Дэвид Бак (David Buck), автор первоначальной версии POV-Ray, приводит интересное обоснование этого утверждения.

Например, рассмотрим того что даёт ООП:

  • инкапсуляция - позволяет изменять реализацию класса не изменяя пользователей класса и, следовательно, облегчает внесение изменений в код;
  • полиморфизм - облегчает написание обобщённого кода;
  • наследование - позволяет легко расширять уже существующий код, облегчая создание новых классов.
Основная цель - облегчить написание кода.

Теперь посмотрим на ряд тенденций в майнстримовых языках:

  • статическая типизация - ограничивает способы использования кода;
  • декларации типов - требуют постоянного указания типа переменных, ограничивают возможность написания обобщенного кода настолько, что пришлось выдумать дополнительную сущность, естественно, усложняющую язык;
  • final/sealed классы - запрещают расширение классов;
  • checked exceptions - требуют постоянного указания того, какие исключения могут быть брошены, и, зачастую, даже сторонники статической типизации признают, что checked exceptions это уже перебор.
Цель использования этих принципов - минимизация ошибок, даже если ценой будет усложнение разработки.

Сегодня страх перед тем, что может написать программист побеждает возможности развития которые обычно даёт свобода. Но правильный ли это путь?

Comments: Отправить комментарий

<< Home

Популярные статьи
:: Smalltalk?!
:: Почему Smalltalk?
:: Great Leap Forward from Java to Smalltalk

Последние сообщения
:: 1-е ежегодное соревнование программистов на Smallt...
:: Smalltalk & OCL (Bold for Delphi/C++): Найдите 10 ...
:: Обмен опытом
:: Dolphin 6 beta
:: История GUI и Smalltalk
:: [Dolphin] Документация
:: Будущее IBM Instantinations' VisualAge Smalltalk
:: [VW] Знаете ли Вы, что такое Ephemeron?
:: [VW] Полезняшки: StorePlugins
:: Dolphin 6 - IdeaSpace

Архив
Предыдущие новости / Декабрь 2004 / Январь 2005 / Февраль 2005 / Март 2005 / Апрель 2005 / Май 2005 / Июнь 2005 / Июль 2005 / Август 2005 / Сентябрь 2005 / Октябрь 2005 / Ноябрь 2005 / Декабрь 2005 / Январь 2006 / Февраль 2006 / Март 2006 / Апрель 2006 / Май 2006 / Июнь 2006 / Июль 2006 / Сентябрь 2006 / Октябрь 2006 / Ноябрь 2006 / Декабрь 2006 / Январь 2007 / Февраль 2007 / Март 2007 / Апрель 2007 / Май 2007 / Июнь 2007 / Август 2007 / Сентябрь 2007 / Ноябрь 2007 / Январь 2008 / Март 2008 / Май 2008 / Июнь 2008 / Июль 2008 / Август 2008 / Сентябрь 2008

Atom Feed
Smalltalk по-русски


Powered by Blogger