youtu.be
Когда он занялся промышленным программированием, то это был огромный шаг назад, по сравнению с Обероном и уже не мог достичь той же продуктивности.
@CaufMAN: *programming *oberon
Любопытно, а как местные уважаемые доны относятся к наследию товарища Никлауса Вирта в виде языков семейства оберона?
#2822358 (166 replies) juick.com
@Mazdaywik:
Скажу свои несколько слов^Wабзацев про Оберон.
Единственный эпитет, который его характеризует, — дубовый. Дубовый (в смысле простой и надёжный) императивный язык программирования с элементами ООП. Дубовая архитектура виртовской операционной системы Оберон (чем-то напоминает ранние 16-разрядные Windows). Дубовый стиль написания программ. Дубовое сообщество дубовых программистов.
Язык Оберон-2 вмещает в себя минимальное подмножество средств императивного (структурного, процедурного) программирования + минимальное ООП — тем он хорош в образовательном процессе (сам не пробовал, но попробовать хочу). Если какие-нибудь другие компактные языки программирования типа C или Scheme при обучении позволяют проводить надёжную селекцию студентов (отличать отличников от двоечников), то Оберон наоборот, научит сносно программировать и троечника. Также хорош как учебное пособие по курсу компиляторов — вполне реально (если студент не разгильдяй) написать самоприменимый компилятор в двоичный код в рамках курсового проекта.
Кстати о компиляторах. Синтаксис тоже довольно дубов, заточен на написание методом рекурсивного спуска без лишней мозгоёбли.
Язык с одной стороны довольно низкоуровневый, близкий к примитивам железа, с другой стороны, с защитой от дурака: нельзя испортить память, нельзя вылезти за границы массива и т. д. (хотя есть встроенный псевдомодуль SYSTEM, предоставляющий низкоуровневые средтва).
Программы тоже получаются на нём дубовые. Нет исключений и неструктурных переходов, поэтому код выполняется строго последовательно. Нет макросов, перегрузки операторов, поэтому нельзя написать красивый DSL. Нет поддержки обобщённого программирования, поэтому если пишется тип объектов, которые будут объединяться в коллекцию, сразу пишется поле next для объединения в односвязный список. Если нужно отсортировать элементы, пишется вручную алгоритм сортировки. Поэтому программисты на Обероне хорошо знают алгоритмы. В общем, язык дубовый, как ранняя Java, только ещё дубовее. В общем, если нужно написать надёжную дубовую программу, Оберон вам в помощь.
Да и программисты дубовые. Чтение форума oberoncore.ru позволяет изучить т. н. парадокс блаба на практике. Оберонщики хорошо знают алгоритмы, хорошо владеют императивной объектно-ориентированной парадигмой, некоторые этому даже учат школьников и студентов. Но вот за пределами своей компетенции полностью некомпетентны: «зачем нам эта фича, мы и без неё прекрасно обходимся, она сложная, провоцирует ошибки, её можно заменить такими-то дубовыми конструкциями Оберона…».
P.S. Извините за стену текста.
#2822358/146 juick.com
@anton0xf:
лучший коммент по теме. жаль рекомендаций комментариев нет.
#2822358/149 juick.com