Паскаль (язык программирования): различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
РобоСтася (обсуждение | вклад) м checkwiki fixes (1, 2, 9, 17, 22, 26, 48, 50, 52, 54, 64, 65, 66, 76, 86, 88, 89, 101), replaced: <b> → ''' (2), </b> → ''' (2) |
|||
(не показана 41 промежуточная версия 27 участников) | |||
Строка 5:
| paradigm = [[Императивное программирование|императивный]], [[Структурное программирование|структурированный]]
| class = [[Компилятор|компилируемый]]
| typing = [[статическая типизация|статическая]], [[сильная типизация|сильная]], [[Типобезопасность|безопасная]] <ref>{{Книга|автор = Kim B. Bruce|год = 2002-01-01|isbn = 9780262025232|страниц = 416|издательство = MIT Press|заглавие = Foundations of Object-oriented Languages: Types and Semantics|ссылка = https://books.google.com/books?id=9NGWq3K1RwUC|страницы = 9
| implementations = [[CDC 6000]], [[ICT 1900]], [[Pascal-P]], [[PDP-11]], [[PDP-10]], [[IBM System/370]], [[Hewlett-Packard|HP]], [[Free Pascal]], [[GNU Pascal|GNU]], [[PascalABC.NET]]
| dialects = [[UCSD Pascal|UCSD]], [[Turbo Pascal|Turbo]], [[Delphi (язык программирования)|Delphi]]
Строка 19:
| дата выпуска последней версии = [[29 июля]] [[2008 год]]а
}}
'''
[[Файл:LagrangePAS.jpg|400px|thumb|Пример программы на языке Паскаль]]
== История ==
Язык программирования Pascal был создан в 1970 году на основе языка [[Алгол-60]]<ref name="Wirth, 2007">{{публикация|книга |язык=en |автор линк=Вирт, Никлаус |автор=Wirth |автор имя=N. |часть=Modula-2 and Oberon |заглавие=HOPL III |подзаголовок=Proceedings of the third ACM SIGPLAN conference on History of programming languages |год=2007 |месяц=06 |издательство=ACM |pages=3-1–3-10 |doi=10.1145/1238844.1238847 |ссылка=http://oberoncore.ru/_media/library/n._wirth_-_modula-2_and_oberon_hopl_iii_.pdf |архив дата=20121222075805 |архив=https://web.archive.org/web/20121222075805/http://oberoncore.ru/_media/library/n._wirth_-_modula-2_and_oberon_hopl_iii_.pdf }}</ref>.
Строка 28 ⟶ 29 :
Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию: «''The guiding idea was to construct a genuine successor of Pascal meeting the requirements of system engineering, yet also to satisfy my teacher’s urge to present a systematic, consistent, appealing, and teachable framework for professional programming.''». Результатом этой работы стал язык [[Модула-2]], после которого Вирт занялся разработкой объектно-ориентированного языка программирования [[Оберон (язык программирования)|Oberon]] на основе всех предыдущих разработок<ref name="Wirth, 2007" />.
Одной из целей создания языка Паскаль Никлаус Вирт считал обучение студентов структурному программированию. До сих пор Паскаль заслуженно считается одним из лучших языков для начального обучения программированию. Его современные модификации, такие как Object Pascal, широко используются в
К 1990-м годам Pascal стал одним из наиболее распространённых в мире алгоритмических языков программирования. Ведущие разработчики программного обеспечения регулярно выпускали новые версии своих компиляторов для этого языка. Популярные компиляторы того времени: Turbo Pascal (разработан компанией [[Borland]]), Microsoft Pascal Compiler, Quick Pascal, Pascal-2, Professional Pascal, USCD Pascal<ref name="Бородич и др., 1991">{{публикация|книга |автор=Бородич |автор имя=Ю. С. |автор2=Вальвачев |автор2 имя=А. Н. |автор3=Кузьмич |автор3 имя=А. И. |заглавие=Паскаль для персональных компьютеров |часть=Предисловие |страницы=3 |вид=справ. пособ. |место=Мн. |издательство=Вышэйшая школа |год=1991 |страниц=365 |иллюстрации=ил |isbn=5-339-00662-X |удк=681.3.06(035.5) |ббк=32.973-01я2 }}</ref>.
Строка 60 ⟶ 61 :
{{main|MIDletPascal}}
=== Современные
==== Free Pascal и GNU Pascal ====
Важным шагом в развитии языка является появление свободных реализаций языка Паскаль [[Free Pascal]] и [[GNU Pascal]], которые не только вобрали в себя черты множества других диалектов языка, но и обеспечили чрезвычайно широкую переносимость написанных на нём программ (например GNU Pascal поддерживает более 20 различных платформ, под более чем 10 различными операционными системами, Free Pascal обеспечивает специальные режимы совместимости с различными распространёнными диалектами языка, такими как Turbo Pascal (полная совместимость), Delphi и другими).
==== Delphi и Delphi.NET ====
'''Delphi''' - реализация языка Object Pascal, используемая в среде разработки [[Embarcadero Delphi]]. Delphi.NET - реализация языка Delphi, ориентированная на разработку приложений для платформы [[.NET Framework|Microsoft.Net]].
==== PascalABC.NET ====
==== Pascal Next ====
Pascal Next – компилируемый, типизированный, алгоритмический, универсальный язык программирования и среда разработки, ориентированные на решение задачи '''обучения основам программирования'''.
В основе синтаксиса языка Pascal Next лежит синтаксис "классического" Паскаля Вирта. В то же время, синтаксис инструкций выбора и циклов заимствован из Basic, что позволило отказаться от избыточных begin.
▲Кроме того, в [[Южный федеральный университет|Южном федеральном университете]] разработан [[PascalABC.NET]] — язык программирования Паскаль, включающий большинство возможностей языка [[Delphi (язык программирования)|Delphi]], а также ряд собственных расширений. Он основан на платформе [[.NET Framework|Microsoft.NET]] и содержит практически все современные языковые средства: [[Класс (программирование)|классы]], [[перегрузка операторов|перегрузку операций]], [[Интерфейс (объектно-ориентированное программирование)|интерфейсы]], [[Обработка исключений|обработку исключений]], [[обобщённое программирование|обобщённые классы и подпрограммы]], [[сборка мусора (программирование)|сборку мусора]], [[Лямбда-выражение|лямбда-выражения]].
== Особенности языка ==
Строка 79 ⟶ 83 :
== Стандарты ==
После начала использования Паскаля в [[1970 год]]у и появления реализаций, расходящихся не только в дополнениях, но и в синтаксисе, был поднят вопрос о стандартизации языка. Стандарт языка был разработан Никлаусом Виртом в [[1974 год]]у совместно с Кетлин Йенсен (Kathleen Jensen).<ref>[https://www.amazon.com/Pascal-User-Manual-Report-Standard/dp/0387976493/ref=sr_1_1/104-1876135-1071931?ie=UTF8&s=books&qid=1194117642&sr=1-1#reader PASCAL: User Manual and Report] ISO Pascal Standard Kathleen Jensen and Niklaus Wirth, 4th edition, Springer Verlag New York, Inc. 1974, 1985, 1991</ref> В дальнейшем
{| class="standard"
Строка 614 ⟶ 618 :
=== Объектно-ориентированное программирование ===
В [[Object Pascal]] имеется возможность разрабатывать программы с применением парадигмы [[объектно-ориентированное программирование|объектно-ориентированного программирования]]. Классы задаются с помощью типа <code>object</code>, аналогичного <code>record</code>, который кроме полей данных может содержать заголовки процедур и [[метод (языки программирования)|методов]]. Имена описываемых методов следуют за именем класса через точку.
Строка 620 ⟶ 623 :
<!--
«Все объекты в Object Pascal (FPC, TP) создаются и уничтожаются динамически, конструктор и деструктор всегда должны вызываться явно.» -
1. неправда (объекты Object Pascal создаются при объявлении переменной такого типа всегда статически(а динамическое создание
2. для статических объектов конструктор и деструктор вызываться не должны
С Delphi объектами вроде так и есть -обязателен явный вызов
-->
Строка 764 ⟶ 767 :
|год = 1982
|страниц = 384
}}
* {{книга
|автор = Культин Н. Б.
|заглавие = Программирование в Turbo Pascal 7.0 и Delphi: 3-е изд., перераб. и доп.
|место = СПб. |издательство = [[БХВ-Петербург]]
|год = 2007
|страниц = 400
|isbn = 978-5-9775-0109-5
}}
* {{книга
Строка 823 ⟶ 834 :
[[Категория:Статьи с примерами кода на Паскале]]
[[Категория:Языки программирования со статическим распределением памяти]]
|