• мнение репост оберон @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
    ♡ recommended by @Renha, @akastargazer, @anton0xf

Replies (0)