Паскаль (Pascal)

Паскаль (Pascal) — язык программирования общего назначения. Это один из наиболее известных языков программирования, широко применяется, как в промышленном программировании, так и в обучении программированию в высшей школе. Паскаль (Pascal) создавался Никлаусом Виртом в 1968-1969 годах в качестве языка для обучения процедурному программированию. Свое название язык получил в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля.

Особенностями Паскаля (Pascal) стала строгая типизация и наличие средств структурного программирования (отсутствие страшного оператора GO TO). Паскаль (Pascal) был одним из первых языков такого типа. В языке были сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис Н.Вирт постарался сделать интуитивно понятным даже при первом знакомстве с языком. По сравнению с Фортраном, который являлся основным языком программирования до этого, Паскаль(Pascal) представлял собой значительный шаг вперёд.

Самой известной реализацией Паскаля (Pascal), обеспечившая широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в Delphi, в которой были внедрены значительные расширения языка.

Лично я начинал программировать на Паскале на компьютерах ДВК-4 и Электроника-85. По сравнению с Фортраном это было небо и земля. Строгая типизация данных и необходимость явно объявлять все переменные избавляла от множества ошибок. А когда появился Turbo Pascal, в котором были собраны в одном флаконе компилятор, отладчик и редактор это было просто чудо.

Фортран (FORTRAN).

Fortran второй язык программирования с которым мне пришлось иметь дело. В те далекие времена в подвале нашего университета еще стояли ЕС ЭВМ. Программирование этих монстров осуществлялось при помощи перфокарт (да, я такой древний, что помню перфокарты).

Как гласит официальная история, Fortran — первый язык программирования высокого уровня, имеющий транслятор. Он создан в период в 1954-1957 годах группой программистов под руководством Джона Бэкуса в корпорации IBM. Название Fortran является сокращением от FORmula TRANslator, то есть, переводчик формул. Фортран идеально для своего времени подходил для научных и инженерных вычислений.

В университете мне пришлось решать с помощью фортрана и ЕС ЭВМ численные задачи, типа решения уравнения методом деления отрезка пополам или вычисления определенного интеграла методом Эйлера. По своему это были увлекательные и интересные задачи.

В заключении немного ностальгии в виде картинки перфокарты.

Перфокарта
Перфокарта

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

Новая рубрика.

Сегодня мне в голову пришла «гениальная идея» сделать небольшой обзор языков программирования с которыми я когда-либо сталкивался. В процессе своей работы программист обычно сталкивается с различными языками программирования. Одни из них проходят мимо вместе с окончанием очередного проекта. Другие становятся надолго любимыми языками, на которых программист специализируется и «ест собаку».

В этой записи попробую перечислить языки программирования с которыми я сталкивался в той или иной степени.

  • Фортран (FORTRAN)
  • Бейсик (Basic)
  • Паскаль (Pascal)
  • Турбо Паскаль (Turbo Pascal)
  • Delphi (строго говоря не является языком программирования)
  • PHP
  • Visual Basic .NET

Надеюсь, что этот короткий список позволит мне не заблудится в дебрях различных языков программирования.

Правец 16.

Сегодня на просторах Интернета встретил фотографию компьютера «Правец 16» и вспомнил, что в далеком 1992 году начинал писать на нем свою первую коммерческую программу.

Фото Правец 16
Правец 16

Персональный компьютер «Правец 16»  — программный и аппаратный аналог IBM PC производился с 1984 по 1988 год в болгарском городе Правец. Сейчас я понимаю, что это был компьютер снятый с производства 4 года назад, но тогда для меня это был вполне нормальный компьютер не хуже тех, что стояли в университете для обучения студентов.

Интересный факт. Город Правец — это родина первого секретаря болгарской компартии Тодора Живкова, который при выборе места для завода по производству компьютеров выбрал своё родное село.  Впоследствии село стало городом. Так, что можно считать, что эти компьютеры производились в деревне.

Постижение рекурсии.

К третьему курсу университета, я как и положено студенту, считал, что знаю о программировании все и любую программу могу написать без проблем. Так вот на третьем курсе у нас появился предмет «Архитектура ЭВМ». Все лекции я обычно пропускал (не знаю как сейчас, а тогда была лафа в виде свободного посещения лекций), а с этим предметом обстоятельства сложились так, что мне пришлось сидеть на лекциях по независящим от меня причинам. К моему удивлению я обнаружил, что знаю о программировании далеко не все. Особенно поразил меня пример рекурсии.
Как написать программу для подсчета факториала числа n. Классический способ заключается в использовании цикла. Получается вот такая программка на языке Pascal.


function Fact( n : Integer) : Integer ;
var
  i : Integer ;
  f : Integer ;
begin
  f:=1 ;
  for i:=1 to n do  f:=f*i ;
  Fact:=f ;
end ;

Эта программа конечно работает, но можно написать более красивую программу с использованием рекурсии.


function Fact( n : Integer) : Integer ;
begin
  if n=0 then Fact:=1
         else Fact:=n*Fact(n-1) ;
end ;

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