Object Pascal

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Object Pascal
Семантика:

императивная

Класс языка:

мультипарадигмальный:
императивный, структурный, объектно-ориентированный, обобщённый[1], процедурный

Тип исполнения:

компилируемый

Появился в:

1986

Автор(ы):

Ларри Теслер, Никлаус Вирт

Расширение файлов:

.p .pp .pas

Система типов:

статическая, динамическая (array of const, RTTI, Variant), строгая

Основные реализации:

Delphi (x86 and CLI), Oxygene (CLI), Free Pascal (x86, x86-64, PowerPC, ppc64, SPARC and ARM), Virtual Pascal (x86), TMT Pascal (x86), Turbo51 (Intel 8051)

Диалекты:

Apple, Turbo Pascal, objfpc, Delphi, Delphi.NET, Oxygene

Испытал влияние:

Паскаль, Smalltalk

Повлиял на:

C#, Java

Object Pascal (Объектный Паскаль) — язык программирования, разработанный в фирме Apple Computer в 1986 году группой Ларри Теслера, который консультировался с Никлаусом Виртом. Произошёл от более ранней объектно-ориентированной версии Паскаль[2], называвшейся Clascal, который был доступен на компьютере Apple Lisa.

Примеры Hello World! в различных объектных расширениях языка[править | править вики-текст]

Object Pascal от Apple[править | править вики-текст]

program ObjectPascalExample;
 
   type
      THelloWorld = object
         procedure Put;
      end;
 
   var
      HelloWorld: THelloWorld;
 
   procedure THelloWorld.Put;
   begin
      WriteLn('Hello, World!');
   end;
 
begin
   New(HelloWorld);
   HelloWorld.Put;
   Dispose(HelloWorld);
end.

Turbo Pascal[править | править вики-текст]

Delphi и Freepascal также поддерживают этот вариант синтаксиса. В Delphi для обеспечения обратной совместимости, для Freepascal — это синтаксис по умолчанию

program ObjectPascalExample;
 
   type
      PHelloWorld = ^THelloWorld;
      THelloWorld = object
         procedure Put;
      end;
 
   var
      HelloWorld: PHelloWorld; { это указатель на THelloWorld }
 
   procedure THelloWorld.Put;
   begin
      WriteLn('Hello, World!');
   end;
 
begin
   New(HelloWorld);
   HelloWorld^.Put;
   Dispose(HelloWorld);
end.

Object Pascal в Delphi и Free Pascal[править | править вики-текст]

В Free Pascal этот вариант синтаксиса доступен в режимах ObjFpc и DelphiОшибка в сносках?: Отсутствует закрывающий тег </ref>.

Язык Object Pascal поддерживается и развивается другими разработчиками. Наиболее серьёзные реализации Object Pascal (помимо Delphi) — это кроссплатформенный TopSpeed Pascal (версия языка Turbo Pascal[3]) мультиязыковой среды TopSpeed, TMT Pascal, Virtual Pascal, PascalABC.NET, Free Pascal, GNU Pascal. На Object Pascal основан язык программирования Oxygene.

Примечания[править | править вики-текст]

  1. Hallvard’s Blog: Highlander2 Beta: Generics in Delphi for .NET
  2. Буч Г. Объектно-ориентированное проектирование с примерами решения[itbookz.ifolder.ru/7276278]
  3. TopSpeed-компиляторы: не дожили до триумфа