В каком поколении компьютеров использовался язык программирования паскаль

Обновлено: 04.07.2024

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

В конце статьи в пункте 6, мы подробно разберем какие же современные и востребованные языки программирования можно легко изучить после изучения языка Паскаль.

1. История языка программирования Паскаль

Язык программирования Паскаль был создан в 1970 году профессором Никлаусом Виртом в качестве академического языка программирования для обучения студентов. На язык Pascal оказал влияние язык программирования Algol 68, в разработке которого тоже участвовал Вирт. Синтаксис языка Паскаль похож на синтаксис Algol, по этому его еще называют Алголо-подобным языком.

Но Паскаль это не второй Алгол, Вирт выкинул из Алгола все лишнее и избыточное и создал очень маленький и аккуратный язык. Например этот язык программирования был полностью избавлен от оператора GoTo, что сделало его первым языком программирования поддерживающим концепцию структурного программирования. Это означает, что вся логика могла быть описана через операторы:

  • Последовательность
  • Ветвление
  • Циклы

Это сейчас такой подход воспринимается как единственно верный, но в те времена понадобилось 10 лет что бы понять это.

В 70-е все самым популярным языком программирования для написания прикладных программ все еще оставался Basic с его оператором GoTo, но в 80-е на его место уже приходит Pascal.

В 1983 году появляется Turbo Pascal. Это интегрированная среда разработки для DOS и позже, в 90-е, для Windows 3.x. Она стала очень популярной в 80-х годах т.к. содержала встроенные библиотеки и удобную среду разработки с отладчиком.

Turbo Pascal, а так же его расширенная версия Borland Pascal стали основным средством разработки прикладного программного обеспечения в 80-е.

В 1986 году появляется объектно ориентированная версия языка Pascal с удобной средой разработки. Ее назвали Delphi. Это как C++ для C. Но в отличие от C++, Delphi не стал в разы сложнее Pascal, т.к. язык изначально был спроектирован не как системный, а как язык прикладного программирования и в нем не было сложных конструкций для управления памятью как C.

В 90 мы видим рост аппаратных мощностей. В главу угла уже не нужно ставить скорость работы программ и Delphi становится самой популярной средой для быстрой разработки приложений. Она поддерживала все объекты Windows: формы, кнопки, бегунки и т.д. Их не нужно было программировать - они просто перетаскивались мышкой на форму.

2000-е

Отличительной особенностью этих языков стала работа через виртуальную машину. А виртуальная машина стала использоваться повсеместно. Ее ставили на все устройства: мобильные телефоны, кофе-машины, персональные компьютеры. И программистам не нужно было беспокоиться об архитектуре устройства - они писали код под виртуальную машину и программа одинаково работала на любом устройстве на котором такая машина стояла.

2. Где сегодня используется язык программирования Паскаль

2.1 Бизнес

Благодаря огромной популярности языка программирования Паскаль и Delphi в 80-е, 90-е и 2000-е было создано большое количество прикладных программ, в том числе и для автоматизации производства и бизнеса.

Многие компании которые были автоматизированы на Delphi постепенно сейчас переходят на программы написанные на других языках. У нас в России компании для автоматизации сейчас выбирают 1С.

Но есть и такие компании которые продолжают работать на программах написанных на Delphi. И благодаря этому на рынке профессия программист Delphi еще востребована. Но конечно же не настолько как например профессия программист Java или C Sharp.

2.2 Разработка прикладного программного обеспечения

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

Сейчас очень популярна бесплатная среда разработки Lazarus. Она очень похожа на Delphi и позволяет открывать проекты сделанные на Delphi. Она бесплатна и ее можно свободно скачать.

Развивается среда быстрой разработки Delphi теперь уже под названием RAD Studio.

2.3 Обучение

Хоть и во многих школах еще популярен Паскаль, но все чаще на его место приходит Python. Питон тоже очень простой язык программирования и очень перспективный сегодня. Его используют для задач машинного обучения, анализа данных и в веб программировании. И главное он лишен основного недостатка языка Паскаль сегодня: если вы будете изучать программирование на языке Python, то потом вы легко найдете работу программистом Python, чего сегодня нельзя сказать о языке Pascal.

3. Достоинства языка Pascal

Лично мне жалко, что язык программирования Паскаль не стал мейнстимом и сейчас забыт. Я считаю, что у него была масса достоинств. И для разработки прикладного программного обеспечения он был очень хорош.

3.1 У Паскаль понятный синтаксис

У языка Паскаль Алголо-подобный синтаксис. Я считаю такой синтаксис более естественным и понятным как для обучения, так и для дальнейшего сопровождения программы.

Современные популярные языки прикладного программирования такие как Java и C Sharp имеют C подобный синтаксис.

Я сам по образованию учитель информатики и некоторое время проработал в школе. Так вот детям объяснить оператор присвоения на языке Паскаль гораздо проще, чем в других языках.

В Паскаль присвоение выглядит так:

В остальных языках он выглядит как знак предикат равенства

Детям легче понять синтаксис языка Паскаль.

3.2 Паскаль компилируемый язык программирования

А в современных языках, таких как Java и C Sharp, которые работают через виртуальную машину, нужно еще дополнительно попросить друга установить виртуальную машину машину этого языка на свой компьютер. В случае с языком Питон, потребуется попросить установить интерпретатор языка Питон для запуска скриптов написанных на нем.

По разным оценкам, на сегодняшний день в мире существует от 2,5 до 10 тыс. языков программирования различного уровня и типа. На них только в России пишут около 500 тыс. человек, а точное количество программистов по всему миру до конца неизвестно — цифры расходятся от 18 до 25 млн разработчиков. Они работают в разных сферах — одни занимаются бэкенд-разработкой, другие — фронтенд, третьи пишут нейросети и работают с большими данными. «Хайтек» составил список языков программирования, на которых практически перестали работать уже сейчас либо которые забудутся уже в ближайшие годы.

Читайте «Хайтек» в

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

И судя по тому, как развивается человечество, потребность в программистах с каждым годом будет все увеличиваться. Как и количество языков, на которых будут решаться абсолютно новые задачи.

Язык ассемблера

Физические принципы работы электронных устройств ЭВМ таковы, что компьютер может воспринимать только команды, которые состоят из единиц и нулей — последовательность перепада напряжения, машинный код.

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

Именно в качестве автоматизации машинного языка (на котором и сейчас периодически пишут код, но специалистов такого плана в мире осталось очень и очень немного) появился первый язык низкого уровня — ассемблер. С его помощью можно было представлять машинный код в более понятном для человека виде — именно тут появляются первые команды, которые отражают суть задачи. Например, команда сложения двух цифр на машинном коде выглядела как 000010, а на ассемблере — add.

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

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

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

Все языки программирования делятся на условные пять типов:

Низкого уровня. К ним, в первую очередь, относят машинные языки, которые реализуются непосредственно на аппаратном уровне. Это первое существующее поколение языков программирования.

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

Высокого уровня. К 1970-м годам сложность программ на языках ассемблера увеличилась настолько, что программисты перестали с ними справляться. В итоге появились языки программирования высокого уровня. Они намного легче переносятся с компьютера на другой и модифицируются, а программистам работать на них намного проще, чем раньше. В эту категорию входят практически все самые распространенные сейчас языки — C, C++, Python, Java, JavaScript, PHP.

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

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

Пятый уровень программирования. Появление языков этого поколения датируется серединой 90-х годов. К ним относятся также системы автоматического создания программ с помощью визуальных средств разработки, без знания программирования. По сути, этими средами должны пользоваться даже люди без навыков написания кода. Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека. Как и предыдущий уровень программирования, это среда для написания кода, а не сам язык.

Язык программирования Fortran

Именно первый язык высокого уровня Fortran пришел на смену ассемблеру в 1957 году. Название Fortran является сокращением от FORmula TRANslator — «переводчик формул». Несмотря на критику, его быстро приняли в компьютерном обществе, особенно в научной среде.

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

Его используют и сейчас в научном сообществе, но в основном из-за гигантского количества библиотек с уже решенными задачами, которые математики создавали десятилетиями — и их нет смысла переписывать на другие языки. Особенно десятки тысяч готовых пакетов с перемноженными матрицами и решениями сложных интегральных уравнений.

1С — редкий язык программирования, использующий кириллицу

Язык программирования 1C практически не выбирают молодые программисты — средний возраст разработчиков на этом языке составляет более 35 лет. Средой исполнения языка 1С является платформа «1С:Предприятие», при этом все команды и вообще вся разработка ведутся на русском языке.

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

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

Objective-C — фирменный язык Apple

Язык программирования Objective-C появился еще в 1980-х годах, однако широкую популярность приобрел только в 2009 году — после выхода культового смартфона iPhone 3G. Сам язык Objective-C совмещал в себе идеи C и Smalltalk — применения систем с оконным управлением.

Несмотря на востребованность языка, Apple пришлось отказаться от его использования из-за большого количества критических ошибок, а также ограниченности его использования.

Вместо Objective-C разработчики Apple представили язык программирования Swift, на котором теперь работают все приложения, написанные под iPhone. Сейчас компания Apple почти перестала поддерживать Objective-C.

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

ActionScript и Flash Player

Достаточно популярный еще пять лет назад язык программирования ActionScript от компании Adobe. Он имеет достаточно узкую направленность — именно с его помощью работает веб-плеер Flash Player, а его скорость и эффективность оказались намного выше, чем у JavaScript.

Основным недостатком ActionScript оказалась именно работа Flash Player. Его чаще всего использовали хакеры для взлома компьютеров, он имел множество внутренних критических слабостей, которые невозможно заделать патчами.

Поэтому многие ИТ-компании постепенно отказались от поддержки Flash Player, оставив его альтернативой HTML 5. В итоге и Adobe решила отказаться от поддержки этого языка к 2020 году. До конца непонятно, собирается ли компания представить какой-то аналог этого языка или работа веб-плеера полностью перейдет на формат HTML 5.

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

Если принять во внимание определение языка программирования:

Язык программирования - это искусственный язык. Он отличиться от естественного ограниченным, достаточно малым количеством числом слов, значение которых понятно компьютеру (транслятору), и очень строгими правилами записи команд (операторов).

Программа – это логически упорядоченная последовательность команд необходимая для управления компьютером.

Используя данное определение можно с уверенностью сказать что двоичные коды для процессора, обладают ограниченным количеством слов (команд), они записываются по строгим правилам а так же понятны устройству которое их получает.

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

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

К сожалению, программы написанные в двоичном коде было сложно тестировать, так как ошибки могли приводить к полному отказу оборудования. Такой подход создания программ был трудоемок и требовал от специалиста особых навыков и знания всей архитектуры ЭВМ для которой разрабатывалась программа.

Принято считать команды в двоичных кодах языком первого поколения. Они обладали определенными особенностями:

1) Одна строка кода соответствовала одной команде конкретному устройству.

2) Каждое устройство обладало своим уникальным набором команд, которые не повторялись во всей спроектированной ЭВМ.

3) Каждая команда в ЭВМ была уникальна и не повторялась в рамках одной ЭВМ.

а) Панели ввода – Чаще всего это были либо тумблеры (кнопки переключения состояний).


б) Устройств автоматического ввода – Это могла быть перфолента или перфокарты.


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

Вывод результата мог происходить как на перфоленту так и в виде световой индикации на пульте управления ЭВМ.


Оператор снимал результаты выполнения команд и расшифровывал их на нормальный язык.



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

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

Д ля упрощения создания программ в 1950 году было принято решение создать язык assembly это и послужило появлению языков второго поколения. Языки второго поколения позволили представить машинный код в более удобной для человека форме для обозначения команд и объектов, над которыми эти команды выполняются, вместо двоичных кодов использовались буквы или сокращенные слова, которые отражали суть команды.

Таким образом язык программирования второго поколения позволили создать логический слой между программой и оборудованием теперь можно было писать приложение которое могло интерпретироваться (подстраиваться) для каждой модели ЭВМ в необходимый программный код.

Синтаксис языка – совокупность требований для записи команд образуют,

Тестирование – процесс поиска ошибок в программе

Трансляция – перевод программы с языка в машинный код

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

Не важно был ли это assembly или другой язык разрабатываемый в те годы принцип работы у них был схож:

1) Программист подготавливал файл, с инструкциями описывающими нужные действия программы, основываясь на синтаксисе языка 1 поколения

2) Транслятор последовательно считывал команды, одну за другой и преобразовывал их на основе словаря в бинарные (двоичные) коды. Той ЭВМ на которой нужно было выполнять команду.

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

3) После преобразования команд получался бинарный файл который можно было запускать, на тех ЭВМ для которых был транслирован.


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

В те годы был целый шквал языков программирования, каждый разработчик вкладывал в свой язык что то свое, но до наших дней дошли не все. Самыми знаменитыми языками стали:

Assembly (Ассемблер) сегодня используется в основном для написания системного ПО.


FORTRAN (Фортран) основном для инженеров, математиков и ученых, которые имеют в основном дело с формулами и проблемами, ориентированными на вычисления.

COBOL (Кобол) был разработан в начале 60-х годов, для того чтобы было легче писать программы для бизнеса, которые могли использоваться в таких видах деятельности как обработка заказов, ведение бухгалтерии, планирование производства и т.д.


Языки второго поколения, заложили основные черты современных языков. И обладали следующими особенностями:

1) Представление инструкций выполняемых программой описывались понятным для человека языком.

2) Каждая инструкция в программе занимала одну строку.

3) Все представляемые данные (цифры) вводились в двоичной, восьмеричной или шестнадцатеричной системе счисления.

4) Написанные команды переводились из текста в машинный код и после этого процессор мог начать их выполнение.

5) От программиста требовалось знание особенностей работы тех ЭВМ для которых он писал программу потому, а так же знание синтаксиса того языка на котором он писал код (текст) программы.

6) Для каждой модели ЭВМ (платформы) существовал свой словарь инструкций что позволяло переносить программу на все возможные платформы для которых существовал компилятор. До сих пор такую философию поддерживает ОС Linux в которой программы предоставляют в исходных кодах.

Технологии как и языки программирования не стояли на месте. После изобретения транзистора, в 60х годах, размеры ЭВМ уменьшились. Многие энтузиасты могли в домашних условиях собирать простейшие ЭВМ. Которые в то время подключались к телевизору. Или электронной машинке.


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

Сегодня фраза «Собрал компьютер дома» не вызывает того трепета как в 60е годы. В те времена нужно было обладать достаточными академическими знаниями, чтобы из отдельных деталей спаять ЭВМ.


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


Доступность простым людям деталей для ЭВМ привел к появлению рынка персональных компьютеров для частного сектора. Люди постепенно создавали программы для управления другими программами. Это привело к развитию операционных систем таких как UNIX и MS DOS что привело к появлению языков третьего поколения.

Теперь за работу оборудования отвечала операционная система и ее вспомогательное программное обеспечение. От программиста лишь требовалось знать команды не отдельных контроллеров ЭВМ а команд понятных операционной системы. Этот слой абстракции (не прямое взаимодействие) от оборудования, дал толчок развитию языков программирования третьего поколения.

Языки 3 поколения унаследовали все достоинства языков 2 поколения и дополнили их своими достоинствами.

1) Простота и понятность использования – привлекала пользователей к написанию небольших программ в основном это были экономически и научные системы облегчающие жизнь пользователей ЭВМ.

2) Независимость от конкретного компьютера – это достигалось тем что теперь между пользователем и архитектурой ЭВМ была операционная система которая позволила скрыть прямое управление устройствами и предоставить удобный механизмы взаимодействия с ними через собственные функции ОС.

3) Возможность использования специальных синтаксических приемов – программы стали более сложными в них появились блоки команд объединённые в процедуры и функции, что позволяло выполнять программу не по очереди с 1 строки и до последней, а переходить в нужное место по мере необходимости, или вызвать нужные блоки команд.

5)Модульность программ – написание отдельных процедур и функций для решения отдельных маленьких задач позволило их повторно использовать в других проектах. Что привело к созданию тысяч библиотек из готовых функций. Которые программисты распространяли как на платной так и на бесплатной основе.

Подавляющее большинство языков 3 поколения успешно применяется и сегодня. Для написания «быстрых программ» и операционных систем.

На данном этапе развития языков программирования были введены следующие понятия:

Процедура — это независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из последующих частей программы для выполнения определенных действий. Процедуры не возвращают результата.


Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну возможность — она может возвращать результат.


По сути развитие языков и становление третьего поколения идет до сих пор. На сегодня их сотни. Но среди них можно выделить самые популярные:

BASIC (Beginner's All-purpose Symbolic Instruction Code) - Язык, разработанный в 1963 году, который поначалу создавался для того, чтобы инженеры могли производить на компьютерах различные симуляции.


PASCAL- Язык программирования, созданный в 1970х годах и который создавался для обучения программированию.


С - создавался для написания операционных систем (многие UNIX совместимые операционные системы написаны на этом языке), уже долгое время является одним из самых популярных языков программирования.


С++ следующий этап развития языка C с возможностью использовать не только процедуры и функции но и объединять их в классы а классы в объекты


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

1) Программист подготавливает файл инструкций на основе своих функций и внешних библиотек необходимых для решения задачи.

2) Во время сборки программы препроцессор дополняет текст программиста функциями которые были вызваны из библиотек.

3) Полученный полный текст программы проверяется компилятором который проверяет все ли на месте и правильность самого кода. Далее преобразует всю программу в бинарный файл.

4) На основе выбранной ОС для которой нужно собрать программу, компоновщик связывает бинарный код программы с нужными библиотеками и создает код программы понятный конкретной ОС.


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

Такой подход позволяет взаимодействовать с программой и дорабатывать ее функции по мере необходимости.

Как правило реализуется синтаксис одного из существующих языков но бывают и исключения например как в 1С предприятии был реализован собственный язык, позволяющий писать программы на русском языке. Или Action script позволяющий писать программу управления Flash фильмами.

Таким образом с программой идет набор интерпретаторов которые преобразуют инструкции написанные в приложении в исполняемые команды и выполняет их внутри приложения.

К языкам четвертого поколения можно отнести следующие языки.

Язык 1С - средой исполнения языка является программная платформа «1С:Предприятие». Визуальная среда разработки («Конфигуратор») является неотъемлемой частью пакета программ «1С:Предприятие»


VBScript – язык для написания скриптов (микропрограмм - макросов) как в MS Windows так и для приложений MS OFFICE так же распознается Internet Explorer позволяя генерировать WEB страницы.


JavaScript — прототипо-ориентированный сценарный язык программирования. Используется для создания WEB форм, и разработки кросс платформенных приложений так же можно применять в разработке скриптов для Windows и Unix платформ.


ActionScript — объектно-ориентированный язык программирования, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player.


SQL англ. Structured Query Language — «Структурированный язык запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Язык разного вида используется в базах данных таких как MS SQL, Postures SQL, MySQL и других базах.

Языки программирования также можно разделять на поколения:

– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения;

– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды;

– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль;

– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных;

– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП, Си++, Visual Basic, Delphi.


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

- Язык Фортран создан в начале 50-х годов 20-го века для программирования научно-технических задач;

- Кобол – создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях данных;

- Алгол (1960 год) – это многоцелевой расширенный язык программирования. В нем впервые введены понятия “блочная структура программы” и “динамическое распределение памяти”;

- BASIC – (середина 60-х годов 20-го века) специализированный язык программирования для начинающих ;

- Все перечисленные выше языки были ориентированы на различные классы задач, но они в той или иной мере были привязаны к конкретной архитектуре ЭВМ.

- PL-1 – (1963-1966гг) многоцелевой универсальный язык. Этот язык хорошо приспособлен для исследования и планирования вычислительных процессов, моделирования, решения логических задач, разработки систем математического обеспечения.

- АДА (1979 г) – язык назван в честь первой программистки Ады Лавлейс- дочери Байрона. Его отличает модульность конструкций.

- СИ – (начало 70-х годов) – с одной стороны, по набору управляющих конструкций и структур данных его можно отнести к языкам высокого уровня, а с другой – он имеет набор средств прямого обращения к функциональным узлам компьютера, а это означает, что его можно использовать как операционный язык.

Большим шагом вперёд в развитии технологий программирования было появление объектно-ориентированного программирования.

Объектно-ориентированное программирование (ООП) — это метод программирования, при использовании которого главными элементами программ являются объекты. В концепции объектно-ориентированного программирования новый подход заключается в объединении данных и алгоритмов (функций), относящихся к одному типу объектов, в единое описание классов объектов.

Класс— это шаблон, на основе которого может быть создан конкретный программный объект, он описывает свойства и методы, определяющие поведение объектов этого класса. Каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.

Объект — совокупность свойств, методов, событий.

В объектно-ориентированном программировании понятию объекта соответствует схема:


Свойствамиописываются характеристики объектов (размер, цвет, видимость и т.д.).

Методы– это действия, совершаемые над объектами (ячейку можно почистить – метод Clear, форму показать – метод Show).

События - действия, распознаваемые объектом (щелчок мышью, выход из программы), для которого можно запрограммировать отклик (т.е. реакцию объекта на произошедшее событие).




Объектно-ориентированный подход к программированию:

- программа представляет собой описание объектов, их свойств, совокупностей, отношений между ними, способов их взаимодействия и операций над объектами (методов);

- важное свойство подхода – поддержка механизма обработки событий, которые изменяют атрибуты объектов и моделируют их взаимодействие.

Объектно-ориентированное программирование снабжает программные объекты встроенными характеристиками:

Инкапсуляция – это понятие означает, что в качестве единого целого, называемого объектом, рассматриваются некоторая структура данных, определяющая его свойства, и некоторая группа функций (методов). Т.е. инкапсуляция – это объединение данных и свойственных им процедур обработки в одном объекте.

Наследование – механизм порождения новых классов, когда порождаемый класс наследует данные и методы порождающего класса. Наследование позволяет одним объектам приобретать атрибуты и поведение других. Группы более низкого уровня наследуют характеристики групп более высоких уровней.

Наследованиепредусматривает создание новых классов на базе существующих и позволяет классу потомку иметь (наследовать) все свойства класса – родителя.

Полиморфизм – множественность форм, которые может принимать правило с одним и тем же именем. Полиморфизм методов – когда метод с одним именем может исполняться по-разному для порождаемого и порождающего классов.

Первый объектно-ориентированный язык программирования Simula был создан в 1960-х годах Нигаардом и Далом.

Современными языками объектно-ориентированного программирования являются С++ и Java. К объектно – ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. Язык VBA (Visual Basic for Applications) – язык приложений Microsoft Office.

К декларативным языкам относятся функциональные и логические языки программирования. В этих языках не производится алгоритмического действия явно, то есть алгоритм не задается программистом, а строится самой программой. В декларативных языках задается, производится построение какой-либо структуры или системы, то есть декларируются (объявляются) какие-то свойства создаваемого объекта.

Эти языки получили широкое применение в системах автоматизированного проектирования (САПР), в так называемых CAD-пакетах, в моделировании, системах искусственного интеллекта.

Функциональное программирование – это способ составления программ, в которых единственным действием является вызов функции. Программа состоит из совокупности функций, которые вызывают друг друга. Переменные могут отсутствовать вообще. Алгоритмы, записанные в функциональном виде как правило короче и содержат меньше ошибок чем аналогичные объектно-ориентированные или процедурные. Функциональное программирование считается программированием сверхвысокого уровня. Языки этой группы обладают относительно низким быстродействием из за сложности реализации.

Первым языком стал язык Лисп (LISP, LIST Processing- обработка списков) создан в 1959г. Этот язык позволяет обрабатывать большие объемы текстовой информации.

Логическое программирование– парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.

Самым известным языком логического программирования является Prolog.

Первым языком логического программирования был язык Planner (1989), в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.

Развитием событийно управляемой концепции объектно-ориентированного подхода стало появление в 90-х годах целого класса языков программирования, которые получили название языков сценариев или скриптов.Сетевые языки предназначены для организации взаимодействия удаленных компьютеров в интенсивном интерактивном режиме, а поэтому они построены на принципах интерпретации, то есть построчной, интерактивной обработки строк программного кода, описывающего некоторый сценарий (скрипт) сетевого взаимодействия компьютеров, поэтому часто они называются скриптовыми языками.

Скрипты (языки сценариев) - целый класс языков программирования, в которых получило развитие событийно управляемая концепция объектно-ориентированного подхода.

В рамках данного подхода программа представляет собой совокупность возможных сценариев обработки данных, выбор которых инициируется наступлением того или иного события (щелчок по кнопке мыши, попадание курсора в определенную позицию, изменение атрибутов того или иного объекта, переполнение буфера памяти и т.д.). События могут инициироваться как операционной системой, так и пользователем.

- Серверный скриптовый язык PHP (1995-1997гг) обладает средствами доступа к БД и используется создателями динамических сайтов во всем мире. Процессор языка работает на сервере, формируя WEB-страницы до отправки по сети.

- Клиентский (браузерный) скриптовый язык Java Script(1990-e годы) обладает средствами формирования WEB-страницы непосредственно в браузере, позволяя осуществлять сборку и манипуляцию данными прямо на компьютере пользователя (клиента).

- Язык Tcl/Tk (конец 80-х годов) состоит из мощных команд, предназначенных для работы с абстрактными нетипизированными объектами и позволяет создавать программы с графическим интерфейсом.

- Язык VRML (1994г) создан для организации виртуальных трехмерных интерфейсов в Интернете.

- Язык XML. С 1996г идет работа над созданием универсального языка структуры документов. Может стать заменой языка HTML.

Структура программных продуктов

Программные продукты имеют внутреннюю структуру (внутреннюю организацию), образованную взаимосвязанными программными модулями.

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

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

Структуризация программных продуктов позволяет:

- распределить работы по исполнителям, обеспечив их загрузку и требуемые сроки разработки программных продуктов;

- построить календарные графики проектных работ и осуществлять их координацию в процессе создания программных продуктов;

- контролировать трудозатраты и стоимость проектных работ и др.

Среди множества модулей различают:

головной модуль, который управляет запуском программного продукта (существует в единственном числе);

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

рабочие модули, выполняющие функции обработки;

сервисные модули и библиотеки, утилиты, осуществляющие обслуживающие функции.

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

Информационная связь модулей обеспечивается за счет использования общей базы данных либо межмодульной передачи данных через переменные обмена.

Каждый модуль может оформляться как самостоятельно хранимый файл и для функционирования программного продукта необходимо наличие программных модулей в полном составе.

Структурно-сложные программные продукты разрабатываются как пакеты программ. А так как они чаще всего имеют прикладной характер, то и называются пакеты прикладных программ, или ППП.

ППП – это система программ, предназначенных для решения задач определенного класса.

Компоненты ППП объединены общими данными (базой данных), информационно и функционально связаны между собой и обладают свойством системности, т.е. объединению программ присуще новое качество, которое отсутствует для отдельного компонента ППП.

Виды проектирования программных продуктов

Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены:

• структурное проектирование программных продуктов;

• информационное моделирование предметной области и связанных с ней приложений;

• объектно-ориентированное проектирование программных продуктов.

В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие.

Алгоритмы большой сложности обычно представляют с помощью схем двух видов:

- обобщенной, раскрывающей общий принцип функционирования алгоритма и основные логические связи между отдельными этапами на уровне типовых процессов обработки информации (ввод и редактирование данных, вычисления, печать результатов и т.п.);

- детальной, представляющей содержание каждого элемента обобщенной схемы с использованием управляющих структур в виде блок-схем алгоритма, псевдокода либо алгоритма на языках высокого уровня (программы).

Представителями структурного проектирования являются следующие методы:

Информационное моделирование предметной области – подход, в основе которого – положение об определяющей роли данных при проектировании алгоритмов и программ. Этот подход имеет решающее значение для разработки алгоритмов и программ, работающих с базами данных.

В этом подходе выделяют следующие составляющие:

- информационный анализ предметных областей (бизнес-областей);

- информационное моделирование – построение комплекса взаимосвязанных моделей данных;

- системное проектирование функций обработки данных;

- детальное конструирование процедур обработки данных.

Первоначально строятся информационные модели: модели, отражающие интегрированные структуры данных предметной области и не зависящие от средств программной реализации хранения и обработки данных (информационно-логическая модель) и модели, ориентированные на среду хранения и обработки данных (даталогические модели).

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

Метод объектно-ориентированного проектирования основывается на:

- модели построения системы как совокупности объектов абстрактного типа данных;

- модульной структуре программ;

- нисходящем проектировании, используемом при выделении объектов.

В отличие от традиционного структурного подхода, объектно-ориентированный подход к проектированию программных продуктов основан на:

• установлении характерных свойств классов и методов их обработки;

• создании иерархии классов;

• наследовании свойств классов и методов их обработки.

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

Читайте также: