Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем отличие pascal от delphi?

dima_k Ученик (14), закрыт 1 год назад
Лучший ответ
Андрей Высший разум (483682) 7 лет назад
Pascal - маленький язык, созданный в 1972 году. В силу своего размера и логичности стандартный Pascal хорошо подходит для начального обучения программированию (впрочем, Modula-2 и Oberon-07 для этого подходят лучше).

Но в практическом программировании "чистый" Pascal не применяется - только расширенные дополнительными возможностями диалекты разной степени извращённости.

Delphi - очень сильно расширенный и достаточно уродливый диалект Pascal, предназначенный для быстрого создания GUI. Для обучения программированию подходит очень плохо - из диалектов Pascal в этом отношении хуже Delphi только PascalABC.Net.
Остальные ответы
Я - мальчик-волшебница Знаток (322) 7 лет назад
Pascal - язык. Delphi - среда программирования.
Высший разум (1271064) 7 лет назад
Современный Delphi это и язык. Это раньше он назывался Object Pascal, тогда Delphi была только среда
Я - мальчик-волшебница Знаток (322) Не знал.) И назревает вопрос: что автор имел ввиду, две среды или два языка?)
ALEX ALEX Оракул (63113) 7 лет назад
не очень большие. язык тот же только объектный.
Высший разум (1271064) 7 лет назад
Delphi - расширенный паскаль. На Delphi можно делать окошечки =) На Delphi можно писать проги на Pascal, обратно нельзя. Pascal разрабатывался под DOS изначально, современный Delphi может компилировать под Win32/64, Linux, MacOS, iOS, Android.
Вопрос слишком общий, чтобы ответить на него односложно.
... Гений (84997) 7 лет назад
Вопрос из разряда чем отличается машина от конкретной модели скажем BMW =).

Диалектов Pascal много и соотв. отличий много.

В Delphi прежде всего есть VCL (своя библиотека визуальных компонентов).
Да в каком-то смысле её частично содрали в Lazarus (LCL)

В Pascal ABC.NET идеология другая и ООП тяготеет к тому, что принято в C#, VB.NET, соотв. по полной используются компоненты .NET платформы, имеет много от функционального языка (лямбды, Linq...), которые не встречал ещё ни в одной версии Pascal. В этом смысле развит даже больше чем C#.

Lazarus (IDE + LCL библиотеки) - попытка сделать бесплатный, открытый и кросплатформенный Delphi (сначала Delphi мог компилировать только под Windows). С виду всё неплохо и похоже на Delphi, но чем дальше в лес тем заметнее различия.

В Free Pascal (его компилятор использует Lazarus) тоже свои функции, ближе к "классическому" Object Pascal, но умеет кроссплатформенно компилировать, описаны вызовы WinAPI функций и прочие плюшки.

Pascal ABC - Разрабатывался по большому счету для учебы. Такой гаденький утёнок вышел. И не совсем "классический" Pascal и не совсем современный. Поэтому помер и ничуть не жалко =)

P.S: Не трогал TMT Pascal (некогда довольно популярный), Pascal под ZX Spectrum и прочие совсем давние трупы.
...Гений (84997) 7 лет назад
Хотел ещё дописать по поводу Delphi, но время ответа вышло, а в комментах лень =)
Jurijus Zaksas Искусственный Интеллект (474725) 7 лет назад
Из чисто языковых - прежде всего автоматическое разыменование объектов. До кучи: поддержка дженериков, интерфейсов, анонимных методов, классов-расширений, цикла foreach (для классов, реализующих IEnumerable), возможность создания и использования динамических библиотек, инлайн-методы, статические методы, записи с методами и конструкторами. Проиллюстрирую:

SomeObject := SomeClass.Create();
SomeObject^.Foo(); //Pascal
SomeObject.Foo(); //Delphi

procedure Foo< T >(Param: T); //Only in Delphi

Foo(begin Boo(); end;); //Only in Delphi

type
TStringHelper = record helper for string; //Only in Delphi

foreach Element in SomeList; //Only in Delphi

library Boo; //Only in Delphi
procedure Foo(); external 'Boo.dll'; //Only in Delphi

procedure Foo; inline; //In Delphi - code is inserted upon call without using stack etc.

strict private procedure Foo(); //Only in Delphi

type
SomeRec = record
private //Only in Delphi
a: integer;
public //Only in Delphi
constructor Create(_a: integer); //Only in Delphi
end;
Похожие вопросы