Re[26]: Почему настоящие программисты избегают C++
От: AVC Россия  
Дата: 03.03.05 17:24
Оценка: 1 (1)
Здравствуйте, 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 — надежный язык?
Я просто не в курсе.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.