geniepro писал(а):
Такие наработки привязаны к конкретным проектам, и особого смысла вне предметной области этих проектов не имеют...
Очень жаль, что у тебя нет универсальных наработок, пригодных ещё для чего-то помимо прямого
затыкания дыр назначения. Это значит, что тебе в каждом случае надо начинать с нуля и втискиваться в предлагаемые рамки библиотечных и языковых механизмов. Я усматриваю в этом проблему, которая тебя ввиду специфики твоей деятельности не так сильно коснулась.
geniepro писал(а):
Принципиальной разницы между обероном-07 и КП/ББ нет, ведь синтаксически и семантически эти языки практически неразличимы, если их сравнивать с другими языками, такими как Ада или хаскелл...
Зато в КП есть объединения!
Но короче, я понял, кодить не хочешь. И всё-таки чем тебе наш форум так приглянулся? Хочешь нас причесать под свою гребёнку?
Вообще же посыл "я здесь самый умный" редко когда даёт положительные результаты. Очень редко.
geniepro писал(а):
Родовые пакеты данных просто добавляют параметрический полиморфизм. В С++ это делается с помощью шаблонов, в живых реализациях оберонов такого механизма вообще нет.
Параметрический полиморфизм это когда процедура не имеет зафиксированного жёсткого списка параметров и определяет их на лету? Но я не уверен, что такой механизм вообще полезен. В любом случае, механизм это громоздкий и второстепенный. И если для его использования нужно брать C++ или Ada, то я ещё миллион раз подумаю, мириться ли мне с побочными недостатками этих языков и стоит ли оно того. Т.е. это не цикл, не переменная и не процедура. Без него обошлось поколение программистов, и ещё обойдутся. Не надо во главу угла ставить второстепенные вещи. И уж точно преподавание программирования не очень проиграет, если обойдётся без этого.
А то представь. Первый урок
geniepro. Выходит
geniepro и говорит “запомните, детки. Самое важное, что бывает в языках программирования — это родовые пакеты данных. Теперь все языки без этого — полный отстой. Законспектируйте”. Надо ведь соизмерять мифы с реалиями? Ада уж точно не проникнет в классы и аудитории, и слава богу. Очень хорошо если туда не проникнет шарп. На том самом месте прекрасно себя зарекомендовал ТурбоПаскаль, который решал больше проблем, чем порождал их, поэтому, следуя преемственности, нужен просто модернизированный ТурбоПаскаль, отвязанный от доса. Собственно это Оберон и есть.
geniepro писал(а):
Обычный программист вряд ли начнёт добавлять подобные механизмы в компилятор -- во-первых, это просто не его работа, ему свои задачи решать надо, во-вторых, у него это всё равно получится хуже, чем у профессиональных разработчиков трансляторов, в-третьих, даже если у него что-то получится, маловероятно что этим будет пользоваться кто-то ещё -- ведь если каждый начнёт самостоятельно расширять даже один и тот же транслятор, то в результате такая дичайшая фрагментарность получится, что о переносимости кода даже между одним и тем же транслятором можно будет забыть.
Преемственность и эволюция или отрицание, уничижение, разрушение, перетурбации и революция? Я за первое. А ты боишься фрагментации в Оберон-сообществе размером от силы в полсотни человек, кто что-то делает. Остальные критикуют и призывают юзать мощнейшие языковые механизмы. Похвальная деятельность.
Значит языкоклёпов не сдерживает тот факт, что они породят ещё одного монстра, не совместимого ни с чем, кроме их кривых мозгов? А оберонщиков значит должна смущать потеря совместимости между какими-то мифическими трансляторами? Трансляторов КП в природе вообще существует всего два, притом очень даже совместимых по своей основе (языку), хотя GPCP можно рассматривать как расширение КП.
geniepro писал(а):
Выйдет куча несовместимых диалектов одного и того же языка. Вот что бы избежать подобной проблемы и приходится
... плодить такую туеву хучу языков, что даже упомнить все — и то сложно, и называть каждый из них наиновейшим словом в прогресивнейшем языкострое.
geniepro писал(а):
делать большие языки типа Ады и PL/1 или же делать языки расширяемыми -- типа Лиспа и Форта...
И мы прекрасно знаем недостатки как сверхбольших языков (тяжеловесность, трудность переориентации к другим предметным областям; и они всё равно устаревают, даже несмотря на то, что в них понапихали, кажется, вообще всё что можно), так и расширяемых (общая семантическая безхребетность, которая сбивает с толку учащихся и даже бывалых). В Оберон-парадигме же при зафиксированном синтаксисе семантика вполне открыта для пересмотра и уточнения. В этом его сила. При всех недостатках такого подхода он наиболее предпочтителен имхо.
geniepro писал(а):
С чего ты решил, что раз у оберона синтаксис не сишный, то значит он правильный? И сишный, и обероновский синтаксисы одинаково убоги.
Ну да! Куда уж им до Хаскела.
geniepro писал(а):
Всё же есть наблюдения, что питоноподобный синтаксис (двумерный, со значимыми отступами) очень сильно облегчает изучение программирования, уменьшает количество ошибок у новичков. Питоновский синтаксис с отсутствием операторных скобок (всех этих {} или begin-end) влияет сильнее чем даже то, императивный язык или функциональный.
Так что если уж зашла речь о правильности синтаксиса, то синтаксис питона куда правильнее, чем синтаксисы сей и паскалей/оберонов...
Ну не знаю. Синтаксис Питона может и хорош для начального обучения, но кто тебе мешает юзать отступы в Обероне? А у Питона кроме синтаксиса есть ещё интерпретируемость, смутное будущее и ещё куча других внутренних проблем. А мне лично в Питоне не хватает смачного THEN.
Человек в море информации, превосходящей во объёму ту, что он может переварить в миллиарды раз, вынужден разграничивать "это моё и этим я буду заниматься, а это нет". Я так понимаю, любим Питон — ходим на форумы по Питону, хвалим там его синтаксис, думаем как приспособить оный к Хаскелу, как юзать Питон и Хаскел вместе, короче говоря, что-то делаем для утверждения своих предпочтений. Не относимся к ЯП как к товарам в супермаркете, читая их рекламу, пробуя на вкус и нахваливая их достоинства, но не более того. Но денег-то (сил, времени и мотивации) чтобы приобрести (освоить) их все — просто нет.
А ты что делаешь? Хвалишь синтаксис из Питона, макросы из Си, родовые пакеты данных из Ады и АлгТД из Хаскела (если бы соединить всё это — получился бы такой уродец, что аж страшно становится). И совершенно напрочь игнорируя то, что: a) у каждого из этих средств полно других неупомянутых недостатков; b) это вместе не соединяется; c) порождает новые и новые витки фрагментации; d) убивает всех, кто хочет с этим разобраться (или накрайняк превращает в очкариков-гиков). И любой инженер, который хочет немного программировать, не будет всё это изучать. Он не дурак, он просто другими вещами занят. Слушай, да ты просто терминатор, особенно опасный для незрелых мозгов.
Я отношусь к языкам не как к товарам в магазине, а как к инструментам в гараже. Очевидно, что плоскогубцы, молоток и отвёртка должны иметь место, но десятитонный пресс и доменная печь там вряд ли нужны.
Хотя превращать трактора в блинчики или в жидкость плоскогубцами и не так удобно, как под прессом и в домне. Короче, я за домашний языкострой. И конечно это хорошо если делатели языков будут брать в качестве базы Оберон, а не собственные больные фантазии.
Но такой языкострой не может оставаться чисто домашним, я уверен, что подтянутся и коллективы, и фирмы, а в действительности так и происходит, но плюс в том, что домашний языкодел тоже не отстранён хотя бы от допиливания новых фишек до фирменных средств. Си-шарперам это и в голову не придёт, они заведомо относятся к языку как к навсегда определённому и упакованному нечто, им слишком страшное сувать туда свои кривулястые ручки. А оберонщикам нормалёк.
geniepro писал(а):
В Аде нет АлгТД, о чём я тебе неоднократно говорил уже...
А! так они только в Хаскеле есть, да?
Я уверен, что если языковой механизм имеет право на жизнь, у оберонщиков хватит здравого смысла понять это. Вот такой социум надо взращивать, наукоёмкий. Скажу даже так. Я встречал такие исходники на Обероне, которых просто не понимаю из-за недостатка знаний в предметной области, недостатка математического образования. И я чувствую потребность в эволюционном развитии себя самого в этих предметных областях, а не в применении всё более "мощных" языковых механизмов, которые имеют подводные камни и тащат с собой другие недостатки, не присущие Оберон-парадигме уже с самого начала её появления.
P.S. Ты вот любишь нахваливать красоту Рапиры и Алгола-68, но забываешь, что в этих языках напрочь отсутствуют современные языковые механизмы, которые есть в Обероне. А ещё сишный макропроцессор хвалишь, что он позволяет построить цикл Дейкстры, но пичалька в том, что большинство сишников не знает, что такое цикл Дейкстры...