Копия викизеркало

Это зеркало вики с pascal.chat. Правка, история и вход — там.

Holywar/ru

English · Русский

Эта страница посвящена рассмотрению преимуществ и недостатков языка Паскаль, с точки зрения других языков программирования. Исторически сложилось точка зрения, что Паскаль является учебным языком, пригодным лишь для обучения информатике. Очень часта эта точка зрения, используется пользователями других языков программирования.

Эта страница будет полезна для ознакомления новичкам в программировании, для расширения кругозора и уточнения отличий Паскаля от других языков программирования. Так же интернете часто возникают споры (в виде "флейма" и "холиваров"), насчёт Паскаля. Если Вы принимаете участие в одном из таких споров, можете смело использовать эту страницу в качестве источника информации.

Почему Мы используем Pascal

(Если вы сами не используете Object Pascal (или один из его диалектов), пожалуйста не пишите сюда ничего)

Каждый разработчик свободен выбирать свои средства разработки. "Паскалисты" выбрали этот язык, потому что:

Q&A

Q: Синтаксис паскаля очень строг, многие выражения в языке Си, в паскале будут занимать несколько выражений.

A: Строгость обеспечивает безопасность и понимаемость кода.

Q: Паскаль не разрешает описывать сложные типы одним объявлением. Например: "массив указателей на функцию, принимающую 2 целочисленных параметра, и возвращающую указатель на функцию, возвращающую вещественный тип", в языке Си можно описать так: <c> float (*(*a[10])(int, int))() </c>

A: А есть ли реальное преимущество у такой возможности? Выше указанное объявление может прочитать человек с большим опытом программирования на языке Си. Тогда как нижепреведённое объявление на Паскале может понять даже новичок. Кроме того, использование промежуточного типа (в данном случае TFloatRetFunc), очень помогает при внесении изменений в этот тип.

pascal
type
  TFloatRetFunc = function : single; 
  TSomeArray = array [0..9] of function (a, b: Integer): TFloatRetFunc;

Q: синтаксис C99, Ады\VDHL содержит т.н "Array initialization designators" - позволяющий инициировать константы массивов с явным указанием индексов [диапазонов] ячеек массива... т.е. можно безопасно описывать константы больших массивов

А: Паскаль всегда безопасно инициализирует константы записей (в них это преимущество наиболее заметно), а константы больших массивов используются редко (зачастую их использование говорит о плохом стиле кодирования).

Q: C позволяет создавать в структурах анонимные подструктуры, доступ к полям которых осуществляется как к полям структуры-владельца.

А: А есть ли реальное преимущество у такой возможности? Использование неанонимного промежуточного типа (подструктуры) очень помогает при внесении изменений в этот тип и делает его назначение более понятным.

преимущества над языками C/C++


From the Free Pascal wiki, page "Holywar/ru", as it stood on 2020-07-26 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Версия 1, последнее изменение: WikiArchive, .