Zorko писал(а):
geniepro писал(а):
А можно увидеть примеры таких ниш? Или эти области применения настолько ограничены, что мало кому нужны по факту?
Да пожалуйста. Микроконтроллеры, космос, риэлтайм, сверхнадёжные программные системы и такие, где требуется огромная производительность, кроссплатформенная разработка, "энтертайнмент", и т.д. и т.п.
Ну, начнём с того, что вначале ты упоминал про невозможность использования сишных языков в некоторых нишах. Ты привёл такие ниши, и что мы видим?
Ты, возможно, удивишься, но тот же сишарп можно использовать на "жирных" микроконтроллерах, для которых реализован .NET Compact Framework или .NET Micro Framework.
C++, Ява довольно активно используются в тех же космических аппаратах.
Программы на Яве, С++ или даже том же Хаскелле куда более кросплатформенны, чем тот же оберон, просто потому что оберонщики не заморачиваются с кросплатформенностью, в оберонах нет даже переносимости в пределах одного диалекта между разными компиляторами.
Насчёт огромной производительности -- боюсь, тут ещё долгие годы будут использовать самый первый язык программирования -- фортран. Эта сфера весьма консервативна...
Что касается реалтайма и сверхнадёжности. Вот возьмём тот же Astrobe Oberon-07 -- его нельзя использовать в подобных нишах. А знаешь почему? Потому что его автор вряд ли когда озаботится сертифицированием своего транслятора и библиотек к нему.
Так что это проблема не только для хаскеллов, но и для оберонов.
Насчёт "энтертайнмента" я не понял. Если речь идёт об использовании в кино-промышленности и в видеоиграх, то, скажем, автор компьютерных спецэффектов в той же матрице (Dan Piponi) весьма известный хаскеллер.
Zorko писал(а):
За всю свою сознательную программистсткую жизнь я не могу найти ниш для Хаскеля вообче, кроме самоудовлетворения тщеславия зануд-математиков.
Печально. При чём печальнее всего не то, что ты не можешь этого сделать, а то что ты не хочешь этого делать.
Впрочем, как раз эту тему обсуждали недавно в оберон-конфе
oberon@conference.jabber.ru -- большинство современных программистов (точнее тех, кто получает зарплату за занятия программированием) не хотят учиться, изучать что новое, не видят в этом интереса, пользы. Печально, но ничего не поделаешь, наверное...
Программирование вышло из той стадии, когда оно было новой интересной профессией, стало обычной рутиной для тех, кого ты называешь "быдлокодерами"...
Я сам работаю с одним таким, когда вижу его код, мои волосы встают дыбом, а глаза плачут кровавыми слезами... ))
Zorko писал(а):
А ты, когда тебе надоест очередной Хаскель с другим синтаксисом скобочек, дай нам знать.
Даже не знаю что ответить. Хаскель -- это не синтаксис скобочек, а контроль над эффектами -- действиями по вводу/выводу и изменения переменных, причём контроль со стороны системы типов. Плюс -- удобные средства для описания предметной области.
То есть хаскель -- это не про синтаксис, а про семантику. Почему ты делаешь такой упор на синтаксис каких-то там скобочек -- непонятно.
Или ты говоришь хаскель, а имеешь в виду си? Определись уже...
Zorko писал(а):
Оберон рулит в своей роли императивного эсперанто для программирования. Он практически незаменим как язык для публикации алгоритмов.
Как алгоритмический язык для замены Алгола-60 -- возможно, однако для языка программирования у оберонов есть по-крайней мере такой существенный недостаток -- нет стандарта на язык. Возьми публикации самого Вирта -- там в каждой его книжке или статье какой-то другой диалект языка, чем в других. До чего доходит -- он описывает один язык, а примеры программ приводит на другом (обсуждали недавно в оберон-конфе)...
Все реализации оберонов имеют какие-то расширения, не совпадающие с другими реализациями.
Короче, использовать оберон в промышленном программировании затруднительно.
Zorko писал(а):
Тебе эти достоинства Оберона кажутся незначительными? Это по молодости, дружок, я сам такой был.
Когда я вижу подобные утверждения, прямо таки представляю, как меня снисходительно похлопывает по плечу умудрённый опытом седовласый старший товарищ, и тем смешнее мне становится, когда я вспоминаю, что я старше того, кто это утверждение делает. )))
Zorko писал(а):
Last_Alien, я знаю что он считает недостатками системы типов Оберона. Он мне уже рассказывал. Вовсе не отсутствие поддержки юникода в символьных типах. А отсутствие прямо в языке комплексных чисел и аппарата для сверхбольших и прочих ленивых вычислений.
То, что превращает язык в монстра. Это технологический тупик, который ожидает любой язык, но Оберон движется к нему не так быстро, как шарпы.
ОМГ! Не вводи в заблуждение других людей.
Неужели я так коряво изъясняюсь, что меня можно вот так вот превратно понять?
Какие нахрен комплексные числа прямо в языке? Да, их добавили в Си, но это не значит, что я считаю, что каждый язык должен их иметь.
В том же хаскелле, например, комплексные числа, как и сверхбольшие числа, сделаны всего лишь как часть стандартной библиотеки, поставляемой с компилятором.
Zorko писал(а):
Ты бы предложил при засилье Форта публиковать алгоритмы на Форте? Или для этого лучше всё-таки Оберон с его зафиксированными набором ключевых слов и системой типов?
Если бы было засилье Форта, то это значило бы, что он для этого вполне годится.
Я не считаю, что для публикации алгоритмов лучше оберона нет ничего. Мне не нравится синтаксис оберона, так же как мне не нравится и синтаксис сей.
Для публикации алгоритмов, имхо, лучше всего подходит некое подмножество Питона, с ясным двумерным синтаксисом, с минимумом синтаксического мусора в виде {} или BEGIN END. Выбросить из Питона ООП-составляющую -- все эти классы -- и нет ничего лучше для публикации алгоритмов. Но это моё частное имхо, конечно же...
Zorko писал(а):
Лисповское
(+ a b) и Фортовское
a b + вместо
a + b как нотация — компромисс или реверанс реализации, притом часто в очень ограниченных условиях. Или вкусовщины. Или привычки, вот что обидно. Так вот Оберон — это
a + b. Что думаю, то и пишу. То и читаю. Программу не надо из её записи постоянно "распаковывать" в голове и "запаковывать" опять. Так делают очень плохие и неудобные нотации: Форт, Лисп, Си/C++/C#/Java. Хаскел. Между тем, адекватная нотация — не роскошь, а суровая необходимость, и ты как математик должен это понимать.
Ну это уже дело привычки, своего рода каприз.
Вот я совершенно не вижу преимуществ нотации оберона по сравнению с Си/C++/C#/Java или Хаскел, хотя для меня, человека хоть и занимавшегося когда-то фортом и лиспом, но так и не привыкшего к их нотации, преимущество перед лиспом и фортом очевидное -- оберон просто привычнее.
Однако это не повод ставить на одну чашу Форт/Лисп, Си/C++/C#/Java и Хаскел.
Между обероном и сями разница куда меньше, чем ты пытаешься это показать другим...