Object Pascal History/ru

From Free Pascal wiki
Jump to: navigation, search

English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

История Object Pascal

History (original author: Tao Yue, state: changed)


Источники

Pascal вырос из ALGOL - языка программирования, предназначенного для научных вычислений. На встрече в Цюрихе международный комитет разработал ALGOL как платформо-независимый язык. Это дало относительную свободу по включению в ALGOL дополнительных возможностей, но сделало более трудным написание компиляторов. Это были дни, когда многие компьютеры не имели тех возможностей аппаратного обеспечения, которые сейчас мы воспринимаем как само собой разумеющееся. Поскольку под многие платформы не было компиляторов ALGOL, а в самом ALGOL отсутствовали указатели и многие основные типы данных, такие как символы, язык ALGOL не был широко принят. Учёные и инженеры придерживались FORTRAN - языка программирования, который был доступен на многих платформах. Применение ALGOL сошло на нет, за исключением применения его как языка описания алгоритмов.

Вирт придумывает Pascal

В 1960-х несколько учёных в области компьютерной техники работали над расширением ALGOL. Одним из них был доктор Никлаус Вирт из Швейцарского Федерального Технологического Института (ETH Zurich), член первоначальной группы, которая создала ALGOL. В 1971 году он опубликовал свою спецификацию для высокоструктурированного языка, который во многом напоминал ALGOL. Он назвал его Pascal в честь французского философа и математика 17 века, который создал работающий механический вычислитель.

Pascal сильно ориентирован на данные и даёт программисту возможность определять свои собственные типы данных. Эта свобода сочеталась со строгим контролем типов, который предотвращал смешивание типов данных. Pascal предполагался для использования в качестве учебного языка и был широко принят в этом качестве. В отличие от FORTRAN, Pascal - свободнотекущий, и чтение кода, написанного на нём, очень похоже на чтение обычного языка, что делает код очень лёгким для понимания.

UCSD Pascal

Одной из вещей, погубивших ALGOL, была трудность создания компилятора для него. Доктор Вирт избежал этого благодаря тому, что его компилятор Pascal производил компиляцию в промежуточный платформо-независимый объектный код. Другая программа превращала этот промежуточный код в исполняемый.

Профессор Кен Боулз из Калифорнийского Университета в Сан-Диего (UCSD) воспользовался случаем и предложил адаптировать компилятор Pascal для Apple II, который был самым популярным микрокомпьютером на тот момент. UCSD P-System стала стандартом и широко использовалась в университетах. Этому способствовала низкая стоимость Apple II по сравнению с мэйнфреймами, которые в то время были необходимы для запуска других языков, таких, как FORTRAN. Её влияние на компьютерную отрасль можно увидеть рекламе IBM их революционного персонального компьютера (PC), который поддерживал три операционные системы: CP/M-86 (Digital Research), UCSD P-system (Softech) и PC-DOS (Microsoft).

Pascal становится стандартом

К началу 1980-х Pascal уже получил широкое признание в университетах. Два события спровоцировали ещё большую его популярность.

Первое: Educational Testing Service - компания, которая занимается разработкой и управлением вступительными экзаменами в учебные заведения в США, приняла решение добавить экзамен Computer Science в их экзамены Advanced Placement для старшеклассников. Для этого экзамена она выбрала язык Pascal. Благодаря этому старшеклассники и студенты начали изучать Pascal. Pascal оставался официальным языком экзаменов AP до 1999 года, когда он был заменён на C++, который вскоре был заменён на Java.

Второе: Небольшая компания под названием Borland International, выпустила Turbo Pascal - компилятор для IBM PC. Компилятор был разработан Андерсом Хейлсбергом (Anders Hejlsberg), который позже возглавил в Microsoft группу, которая впоследствии разработала C# и ввела (вернула) управляемый код обратно в мир компьютеров.

Turbo Pascal был поистине революционным. В нём были сделаны некоторые улучшения и внесены изменения по отношению к стандартному Pascal. Эти изменения были небольшими, но позволили получить огромное преимущество: скорость. Turbo Pascal компилировал с ошеломляющей скоростью: несколько тысяч строк в минуту. В то время досупные компиляторы для платформы PC были медленными и раздутыми. Когда вышел Turbo Pascal, это было как глоток свежего воздуха. Вскоре Turbo Pascal стал стандартом де-факто для программирования на PC. Когда PC Magazine публиковал исходные коды, обычно это делалось либо на ассемблере, либо на Turbo Pascal.

Тогда-же Apple выпустила свою серию компьютеров Macintosh. Поскольку Pascal был наилучшим структурированным языком программирования на тот момент, Apple выбрала Pascal в качестве стандартного языка программирования для Mac. Когда программисты получали API и примеры кода для программирования под Mac, это всё было на Pascal.

Расширения

С версии Turbo Pascal 1.0 и до 7.0, Borland продолжала расширять язык. Одним из критических замечаний к оригинальной версии Pascal было отсутствие раздельной компиляции модулей. Для решения этой проблемы доктор Вирт даже создал новый язык программирования: Modula-2. Borland добавила в Pascal модули со свойствами исходный файлов.

К версии 7.0 было добавлено много прогрессивных возможностей. Одной из них был DPMI (DOS Protected Mode Interface) - способ запуска DOS-программ в защищённом режиме, получая дополнительную скорость и преодолевая барьер 640K доступной памяти под DOS. Turbo Vision, текстовая оконная система, позволяла программистам создавать великолепные интерфейсы практически без потери времени. Pascal даже стал объектно-ориентированным, так, версия 5.5 приняла расширения Apple Object Pascal. Когда вышла Windows 3.0, Borland создала Turbo Pascal for Windows, перенеся скорость и простоту Pascal в графический интерфейс пользователя. Казалось, что будущее Pascal было безоблачным.

Мир меняется

Однако, это было не так. В 1970-х годах Деннис Ритчи (Dennis Ritchie) и Брайан Керниган (Brian Kernighan) из AT&T Bell Laboratories создали язык программирования C. Затем Ритчи сотрудничал с Кеном Томпсоном (Ken Thompson) по разработке операционной системы UNIX. В то время AT&T имела санкционированную государством монополию на телефонное обслуживание в США. В обмен на монополию, её телефонный бизнес регулировался и ей было запрещено входить в компьютерный бизнес. AT&T, не видя рынка для исследований в области операционной системы, передала UNIX университетам бесплатно и с полными исходными кодами. Таким образом, целое поколение студентов, изучающих информатику, изучали C на университетских курсах по языкам о операционным системам. Медленно, но верно, C начал просачиваться в мир компьютерного программирования.

Pascal получил тяжёлый удар в 90-х, когда несколько крупных компаний направили свои усилия на другие языки программирования. Например, Microsoft сфокусировала свои усилия на Visual Basic и C, а Apple перевела свои API с Pascal сначала на C, а затем на Objective C. Несмотря на недостаток поддержки со стороны производителей операционных систем, Pascal продолжает сохранять большое количество приверженцев через Delphi и Free Pascal.

Так какая польза от изучения Pascal?

Несмотря на потерю прежнего доминирующего положения, Pascal остаётся достаточно полезным. Одним из его преимуществ является то, что он имеет очень ясный синтаксис, который для выражения идеи использует обычные слова, такие, как begin/end, что делает его код проще для чтения и поддержки.

Ещё одна причина: скорость и размер. Компиляторы Pascal работают с молниеносной быстротой. Delphi и Free Pascal - не исключение. В то время, когда C-программисты могут ждать часами, Pascal-программисты должны ждать всего одну минуту для программы того-же размера. Кроме того, интегрированные среды разработки (IDE) для Pascal по-прежнему остаются мировыми лидерами в плане производительности благодаря IDE Delphi и Lazarus.

Также, Pascal остаётся предпочтительным во многих университетах. Кроме того, Pascal был хорошо приспособлен для обучения программированию, и это по-прежнему актуально. Меньше накладных расходов, а также существует меньше способов для студента получить в программе проблему. Для обучения простому процедурному программированию Pascal остаётся хорошим выбором. Pascal надольше задержался в образовании за пределами США и остаётся официальным языком Международной Олимпиады по Информатике. Базовая подготовка по программированию полезна во многих технических профессиях, а Pascal более прост в изучении, чем C/C++.

Сегодня Pascal сохраняет свою нишу на рынке благодаря Delphi, Free Pascal и Lazarus. Много небольших бесплатных, условно-бесплатных, с открытым кодом и коммерческих программ написано на Pascal/Delphi. Так что, наслаждайтесь его изучением. Это - отличное введение в мир компьютерного программирования. Pascal - не опасен, как C, не запутан, как C++ и не медлителен, как Java.

 ◄   ▲   ►