Есть ли плюсы у Pascal по сравнению с СИ

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Ответить
Sniper
постоялец
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper »

Я имею в виду реализацию Pascal применительно к Freepascal так как стандарт на паскаль староват и давно не пересматривался, ели я ничего не путаю...
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

Есть, разумеется.

Паскаль, вообще, более высокоуровневый язык, чем С++.
В нем есть строки.
Он понятней, проще и логичней.
Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

Я имею в виду реализацию Pascal применительно к Freepascal

по сравнению с чем?
Я думаю актуально сравнивать с gcc, по качеству генерируемого кода, т.е. брать простой алгоритм, рисовать его на gcc и fpc, затем ассемблировать и смотреть, что получается. Давно хочу это поделать, но руки не доходят. К тому же все нет так просто - результат будет сильно зависить от установленных параметров (оптимизация и тп).
Mirage
энтузиаст
Сообщения: 880
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

STAKANOV: Результаты тебя врядли обрадуют, но это особого смысла не имеет.
Как-то проводились тесты разных компиляторов. На синтетических тестах интеловский с++ всех уделал. Цикл он вообще до константы уел.
А в реальной задаче (вроде расчет сплайна на 1000000 точек) он был чуть хуже Дельфи. Хотя непонятно как так, Дельфи плавающую точку вообще не оптимизирует.
Вообще - все эти съедания циклов, вытаскивания инвариантов и т.п. нафиг не нужны - у вас много инвариантов в циклах? Тем, у кого они есть оптимизирующий компилятор не поможет...

А преимущества Паскаля проявляются в том, что куда меньше времени на отладку уходит. Ну это когда программа посложнее Hello World.
Менее очевидно, но более важно постоение больших, сложных систем. Паскаль для этого куда лучше подходит. И быстрее и архитектура лучше будет. Смотри VCL vs MFC.
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

Ну так в том-то и дело! Сейчас не сыграют большой роли дополнительные 2 секунды выполнения (а там где сыграют, надо писать на ассемблере, а не на С++ и не на Паскале), зато время, затраченное на разработку в случае Паскаля будет значительно меньше!
Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

Как-то проводились тесты разных компиляторов. На синтетических тестах интеловский с++ всех уделал. Цикл он вообще до константы уел.

я читал статью Криса Касперски в журнале "Системный администратор" там результаты другие.

Результаты тебя врядли обрадуют, но это особого смысла не имеет.

краем глаза видел несколько ассемблерных листингов сгенерированных FPC - результаты порадовали ;)
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

Кстати говоря, сам язык тут вообще ни при чем ;) Генерация кода - это лишь определенная версия определенного компилятора при использовании определенного оптимизатора с определенными опциями.

У FP и Delphi разное качество генерации кода, разные оптимизаторы. У разных компиляторов С++ тоже разное качество генерации кода.

Нужно сравнивать сами языки, а не тот код, который выдает компилятор. Компилятор/оптимизатор ведь можно и переделать, а вот язык останется.
SergKam
постоялец
Сообщения: 251
Зарегистрирован: 16.11.2005 20:31:11
Откуда: Украина,Харьков

Сообщение SergKam »

Это из серии какой язык лучше английский или русский.
Лучше тот который для тебя родной, на котором ты говориш с детства.
Я линуксоид, но паскаль знаю всетаки лучше чем С и темболее С++.
Ну и что? Живу приреваючи, и пишу что хочу и на чем хочу.
А подобные споры можно всети только конкретно применительно к задаче.
Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

Кстати говоря, сам язык тут вообще ни при чем

я так понял из первого сообщения, что интересует именно сравнение конкретных компиляторов, а вот обсуждать сами языки даже не интересно.
Sniper
постоялец
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper »

Хорошо, дайте определение "языка"? Что это такое?
greenzed

Сообщение greenzed »

я думаю если сравнивать языки то нужно в первую очередь смотреть насколько удобнее оформлять алгоритм на каждом из этих языков, без сомнений что паскаль в этом отношение более удобный, но в тоже время оптимизация также очень сильно зависет от языка програмирование, с и с++ более низки уровнем , так что более удобны для оптимизации(в ущерб производительности програмиста). Так что, ясно почему с++ более популярен при написание коробочного софта у крупных фирм)))) А так конечно если писать для себя, то паскаль лучше, 2-3 сек никто считать не будет.
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

Определение:
Язык - это заданный набор символов и правил, устанавливающих способы комбинации этих символов между собой для записи осмысленных текстов.
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

и с++ более низки уровнем , так что более удобны для оптимизации

Для автоматической оптимизации как раз более пригодны высокоуровневые языки.
Mirage
энтузиаст
Сообщения: 880
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia
Контактная информация:

Сообщение Mirage »

STAKANOV писал(а):краем глаза видел несколько ассемблерных листингов сгенерированных FPC - результаты порадовали  ;)

А шо там такого было? Как процессор с 20 стадиями на конвейере интерпретирует тот или иной код, не знают по-моему даже его разработчики.:)
Тестить скорость можно только на реальных задачах. Причем для разных процессоров (они сейчас сильно разные) результаты могут отличаться.
Хорошо то, что сейчас мощность процессоров избыточна для большинства задач. :rolleyes: Поэтому тестить скорость давно уже не приходилось. :rolleyes:
Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

Так что, ясно почему с++ более популярен при написание коробочного софта у крупных фирм)))) А так конечно если писать для себя, то паскаль лучше, 2-3 сек никто считать не будет.

В относительном сравнении больше софта (в том числе и коммерческого) написано всетаки на Delphi. Другое дело, что наиболее популярный софт написан на С++.

К тому же есть предубеждение, что серьезный вещи надо писать на Си.

А шо там такого было?

Активное использование регистров при компиляции какого-то выраженния, а не памяти.

Хорошо то, что сейчас мощность процессоров избыточна для большинства задач.

и теперь каждый может стать программистом ;)
Ответить