The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Умер Никлаус Вирт, создатель языка Pascal, opennews (??), 04-Янв-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


357. "Умер Никлаус Вирт, создатель языка Pascal"  +/
Сообщение от Alexey Tor_2 (?), 07-Янв-24, 18:53 
Тут спросили почему ТЕХ и ФОтошоп были на паскале а потом были переписаны на другом. Почему? Во первых, на Сях есть более поддерживаемых ОСей и железа. Поэтому переписанный проект на Сях соберется на больщем числе ОСей и железа. Наверное это ГЛАВНАЯ ПРИЧИНА. Переписали на Сях - получили больше ОСей. Во вторых, на Сях гораздо лучше оптимизации. Даже на современном паскале, FPC, нет многих оптимизаций. И код неоптимален. Хотя сам FPC удобен! Так что вот. ДВЕ ПРИЧИНЫ главные. И набор ОСей очень важен!
Ответить | Правка | Наверх | Cообщить модератору

359. "Умер Никлаус Вирт, создатель языка Pascal"  +/
Сообщение от Карабьян2 (?), 07-Янв-24, 19:29 
А ведь и правда, несмотря на множество реализаций Паскаля в 80-е годы, разного качества, они были не очень-то совместимы между собой, Си был и остается гораздо более портируемым. Турбо Паскаль же был только одним из. Как-то не приходила в голову эта причина, что даже фотошопу возможно были нужны разные ос.
Спасибо за ответ!
Ответить | Правка | Наверх | Cообщить модератору

361. "Умер Никлаус Вирт, создатель языка Pascal"  +2 +/
Сообщение от adolfus (ok), 07-Янв-24, 23:33 
Си портируемый потому, что для него есть серия стандартов, совместимых сверху вниз -- современный компилятор (ISO/IEC 9899-2011) кушает код пятидесятилетней давности и выдает рабочую программу.
Языков такого рода мало и паскаля среди них нет.
В группе стандартных и поддерживающих обратную совместмость вообще только кобол, ада, си и фортран.
Даже с++ не попадает в эту группу -- начиная с 2011 года с++ стал сильно терять обратную совместимость. Т.е. если я укажу -std=c++14, то код, который собирался и работал при -std=c++11 может и не собраться, а если соберется, то результаты на выходе могут быть до удивления другие.
Кому-то такое нравится, типа, новые фичи главное, остальное же мелочи. Но в реальной практике это чаще всего жопа.
Пример из жизни -- некоторой сертифицированной конторе заказана разработка программного комплекса. Все было сделано как полагается, даже присвоена литера O1, все было внедрено и отлично работает 10 лет. Проходит еще 5 бухгалтерских лет, меняется железо и тут выясняется, что некоторые аппартные математические расширения базовой архитектуры, которые были в коре два дуо, новым железом не поддерживаются и программы комплекса при запуске падают по SIGFPE и SIGILL. Т.е. необходимо комплекс пересобирать под новое железо. И тут вылезает проблема, что новый компилятор генерирует туеву хучу пердуперждений, в конце концов выдает ошибку и на этом все завершается. Устанавливается "тот самый" компилятор, благо в линуксах все ходы записаны, и все нормально собирается и даже регрессионные тесты проходят молча бит в бит.
Ответить | Правка | Наверх | Cообщить модератору

364. "Умер Никлаус Вирт, создатель языка Pascal"  +/
Сообщение от фнон (?), 08-Янв-24, 16:05 
> Си портируемый потому, что для него есть серия стандартов, совместимых сверху вниз
> -- современный компилятор (ISO/IEC 9899-2011) кушает код пятидесятилетней давности и выдает
> рабочую программу.

"рабочую программу."
Ха, ты хотел сказать компилируемую)?
Сколько приложенией для которых тип и версия компилятора просто прибита гвозьдями?
И когда один и тот же код, работает по разному в зависиммости от компилятор, его версии, фазы луны и левой пятки разработчика.
Ибо UBшки в разных версиях одного и того же компилятора могут выдавать разный результат.
Что типа
stackoverflow.com/questions/949433/why-are-these-constructs-using-pre-and-post-increment-undefined-behavior и https://stackoverflow.com/questions/22785705/different-resul...

И для с++ почти то же самое
stackoverflow.com/questions/75606715/why-different-output-when-run-program-compiled-with-gcc-and-clang

В общем то что ISO С назвали стандартом, это просто позор.

Ответить | Правка | Наверх | Cообщить модератору

366. "Умер Никлаус Вирт, создатель языка Pascal"  +/
Сообщение от Карабьян2 (?), 09-Янв-24, 00:46 
По Вашей ссылке на стековерфлоу UB как раз описано в стандарте (C11). Можно это также критиковать, но такого было изначальное решение разработчиков языка. В соседней теме тоже Perl за встроенный eval критикуют привычно. Хуже, когда UB в стандарте не описано и гуляет от версии к версии компилятора.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру