Здравствуйте, Cyberax, Вы писали:
C>AVC пишет:
>> Поправочка: именно Java слизана с Оберона.
C>Java ни с чего не слизана — она весьма отличается от Оберона (одно лишь
C>наличие GC и системы пакетов — не признак слизанности).
Не только GC.
Я просто беру и сопоставляю конструкции Оберона и Java.
Почти один в один!
В Си++ есть объединения (union). В Обероне — нет. В Java — тоже нет.
Применение instanceof в Java — полная копия Обероновского IS.
И так с десяток заимствованных свойств, причем самых важных, существенных, деляющих Java "надежным языком".
Дома где-то пылится список "случайных совпадений".
Я когда разбирался с этим вопросом, просто взял и сопоставил конструкции языков.
И все стало ясно.
>> По поводу того, как используется Оберон, см. хотя бы презентации,
>> представленные на дне Оберона в ЦЕРНе:
>> http://cern.ch/oberon.day
C>Больше всего посмеялся над: "*Benchmark:* Component Pascal vs C++ in a
C>real-world physics problem"...
Ну что же, давайте посмеемся вместе.
Когда-то Вы уверяли, что сами видели компилятор Си++, умещающийся в 20K. Вы и сейчас будете это утверждать?
В конце 90-х по результатам тестов компилятор XDS обскакал
все компиляторы Си++.
Я проверил на тех компиляторах Си++, что есть у меня. Правда.
Вы уверяете, что MSVC 8 (beta) в 12 (!) раз эффективнее, чем MSVC 6.0.
У меня пока нет этой версии, но я в это не верю. (А кто верит?)
Теперь по существу дела. Почему Оберон в ЦЕРНе. Читаем:
http://www.inr.ac.ru/~info21/info/fvtjmlc2003r.htm
В лаборатории CERN [26], начиная с 1994 была сделана попытка создать стандартную платформу для программирования на основе C++ в рамках мега-проекта LHC (Large Hadron Collider — Большой Адронный Коллайдер; 2006-2020).
Нет нужды объяснять, что C++ не может обеспечить решение перечисленных выше проблем из-за критических дефектов дизайна и экстравагантной сложности. В коллективах физиков даже имели место конфликты по поводу C++, и ряд специалистов не спешит переключаться на чрезмерно сложный C++, предпочитая пока оставаться с фортраном. Фактический провал C++ иллюстрируется разработанной в CERN библиотекой ROOT для анализа и визуализации данных [18]; библиотека, написанная на C++, печально известна своей способностью генерировать фатальные ошибки.[3]
Очевидно, продуманный минимализм средств является ключевым требованием, если мы хотим, чтобы язык программирования мирно «уживался» в мозгу исследователей со всей необходимой физикой, математикой и проч. знаниями.
[3] В марте 2003 достаточно несложная прикладная программа, использующая ROOT (под управлением ОС Linux), для обработки и довольно простой визуализации данных по космическим лучам сгенерировала три ошибки типа segment violation за менее чем пять минут демонстрации. Другой пример: многоопытный и весьма уважаемый программист сменила специализацию, чтобы не иметь дела с постоянно «грохающимся» программным обеспечением, написанным на C++, работа с которым напоминает работу на больших ЭВМ советского производства в 80-х гг., когда ЕС-1060 «зависала» каждые 15-30 минут.
В общем, как пишет Метцелер,
C is a good bug generator.
Во время дискуссии об Обероне я приводил ряд "багов" прямо "с места происшествия".
С тех пор их количество возрасло.
>> Обратите внимание, например, на такие презентации
>> http://ftkachov.home.cern.ch/ftkachov/talks/ftkachov.pdf
>> (использование Оберона в РАН)
>> http://www.amadeus-3.com/cern/background.pdf (тот самый Метцелер, в
>> одиночку создавший множество программ для ряда крупнейших компаний: Du
>> Pont, Deutsche Bank и т.д.)
C>Мы сейчас тоже создаем программы для Porsche и Du Pont. И что из этого?
Разница в том, что у Вас — "мы", а там человек может сказать — "я".
>> Впрочем, сколько бы я не привел аргументов, Вы их проигнорируете, так
>> как, по Вашему собственному признанию, Вы — фанат Си++.
C>Я скорее антифанат Pascal-подобных языков...
C>Мне нравятся еще OCaml, Haskell и даже Java и C#.
Java и C# идут по стопам Оберона.
Значит ли это, что Вам просто не нравится присать BEGIN и END?
>> Вообще-то, я думал, что пустые словопрения по поводу Оберона закончились.
>> Лично я перешел к практическому использованию этого языка. (DLL сейчас
>> пишу именно на Обероне.)
>> Жизнь продолжает подбрасывать мне примеры, что Си++ снижает надежность
>> программ и производительность программистов. Но если уж Си++ *так*
>> нравится, то ради Бога — дело Ваше.
C>У меня примеры обратные — где всякие экзотические "надежные" языки типа
C>Python'а валили проект.
А что, Python — надежный язык?
Я просто не в курсе.