Файл: Классификация языков программирования.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.04.2023

Просмотров: 300

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

3. СИ

Язык С появился в начале 1970-х благодаря Деннису Ричи, сотруднику Bell Laboratories и являлся языком реализации системы UNIX. Операционные системы по традиции всегда писали на ассемблере потому, что языки высокого уровня эффективными не считались. Язык C располагает структурами данных и структурированными управляющими операторами (записи, массивы), при этом, сохраняет всю гибкость низкоуровневого ассемблерного программирования (операции и указатели на уровне битов).

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

Язык C изначально проектировался так, чтобы иметь схожие черты с языком ассемблер, такая схожесть обеспечивает ему невероятную гибкость, но такая гибкость создает чрезвычайную легкость для написания программ с невидимыми на первый взгляд ошибками, поскольку хлипкие конструкции компилятором не проверяются так, как это делается в Паскаль. Язык C является очень изящным инструментом для профессионала, больше подходит для создания небольших программ и имеет один весомый недостаток - при разработке на нем объемных программных систем несколькими разработчиками разной квалификации могут возникнуть серьезные проблемы. Стандартизация языка C прошла в 1989 г. в Американском Национальном Институте Стандартов (ANSI). Почти такой же стандарт был принят Международной Организацией по Стандартизации (ISO) через год.


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

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

4. Паскаль

Язык Паскаль присутствует в составе языков, широко применяющихся в промышленном программировании, является базой для большого числа других языков, так же хорошо используется в обучении программированию в высшей школе. Язык Паскаль написан Никлаусом Виртом в 1968-1969 годах, опубликовался в 1970-м году после того, как Никлаус Вирт принял участие в разработке стандарта языка Алгол-68. Паскаль являлся языком, обучающим процедурному программированию. Название язык получил в честь выдающегося французского литератора, математика, философа и физика XVII века, а так же изобретателя первой в мире арифметической машины Блеза Паскаля.

Компилятор для языка Паскаль написан на самом языке, используя «метод раскрутки», так создается ядро языка и на него поочередно накручиваются всё новые возможности.

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

Но изначально язык имел ограничения и некоторые недостатки, которые были исправлены в ISO-стандарте в 1982 г., а именно, появились открытые массивы, с помощью которых теперь можно было использовать одни и те же процедуры для обработки массивов разных размеров, но имеющих одномерную структуру.

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


Глава 3: Проблемно-ориентированные языки

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

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

1. Lisp

Создатель языка LISP есть выдающийся ученый в области искусственного интеллекта, а так же профессор математики и философии - Джон Мак-Карти,. Им был предложен проект языка LISP, дискуссии о котором не утихают и до сегодняшнего дня. Концепция символьной обработки информации, сформулированная Джоном Мак-Каpти (в 1958г.) берет начало от времен Чёрча и других выдающихся математиков конца 20-ых годов прошлого века. В свое время он вынес вопрос о рассмотрении функций в качестве общего понятия.

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

{1 –1 = 0 ; ( n +1 ) -1 = n } ,

не поддавшейся А.Чёрчу и решенной С.Клини лишь в 1932 году:

{ F (x, y, z) = если (x = 1) то 0

иначе

если ((y +1) = x) то z

иначе F (x, y +1, z +1) ;

n –1 = F (n, 0, 0) }

алг F ( цел x, y, z) арг x, y, z

нач

если (x = 1)

то знач := 0


инес (y +1) /= x

то знач := F (x, y +1, z +1)

кон

алг N-1 (цел N) арг N нач знач := F (N, 0, 0) кон

Решение удалось с помощью введения формально усложненной вспомогательной функции с накопительными параметрами. Это противоречит движению от простого к сложному.

Связанный список — вот основная структура данных в языке LISP. Изначально язык LISP был разрабатывался для исследований в теории вычислений и на нем были выполнены многие работы. Компьютеры разрабатывались и создавались для языка LISP, чтобы оптимизировать выполнение LISP -программ, т. е язык играл такую большую роль. Одна из его проблем заключалась в множестве различных «диалектов», возникавших в следствие реализации языка на разных машинах. Позднее появился стандартный язык LISP для того, чтобы программы можно было переносить между компьютерами и это не вело за собой недопонимания между машинами. Сейчас популярен «диалект» языка LISP — CLOS, который поддерживает объектно-ориентированное программирование. У языка LISP есть три основные команды — это car(L) и cdr(L), которые извлекают начало и конец списка L, и cons(E, L), которая создает новый список из элемента Е и списка L. При использовании таких команд можно определить функции обработки списков, содержащих нечисловые данные; такие функции запрограммировать на языке Fortran было бы очень проблематично.

Обширность области возможных приложений Лиспа вызвала появление множества диалектов Лиспа, что привело к созданию вначале 80-х гг. Common LISP Комитета. Он выбирал более подходящий диалект Лиспа, который использовался потом в качестве основного. Common LISP - такое название в 1985г. получил выбранный Комитетом диалект LISP. В дальнейшем он был принят в университетах США, а также широко использовался большинством разработчиков систем искусственного интеллекта.

Изначально LISP задумывался как средство для рекурсивных построений, но сегодня он обеспечивает программистов серьезной поддержкой, позволяя им создавать большие и мощные системы. Профессор Массачусетского технологического института Дж. Самман заметил, что LISP позволяет сформулировать и запомнить «идиомы», столь характерные для проектов по искусственному интеллекту, что математическая ясность и предельная четкость LISP – это еще не все.

2. Пролог

Исследование самой идеи и разработка языка Пролог принадлежит Ален Колмероэ, Роберту Ковальскии и Маартен ван Эмден. Благодаря эффективной реализации языка Пролог Дэвидом Д. Г. Уорреном, язык приобрел хорошую популярность. Средства программирования, основанные на логике ограничений CLP — Constraint Logic Programming присутствуют в составе программы Пролога и имеют непосредственное отношение к числу достижений в CLP области. Для планирования материально-технического снабжения и нахождения решения задач по составлению расписаний — средства CLP являются хорошим гибким инструментом. Официальный стандарт Пролога опубликовался в 1996г.


Весьма интересное развитие имеет язык Пролог. Как инструмент практического программирования Пролог достаточно быстро завоевал популярность в Европе, а в Японии разработки компьютеров V поколения происходили только на этом языке. Но принятие языка в США было с небольшой задержкой, связанной с историческими причинами: одна из которых — США уже были знакомы с языком Мicroplanner, таким же близким к логическому программированию, только он в свое время не был достаточно эффективно реализован и не приобрел должную популярность. На популярность языка Пролог повлияло мнение существовавшей на то время «Ортодоксальной школы», которая принимала использование только чистой логики и отвергала использование всех практических средств, не имеющих отношения к чистой логике, поэтому в прошлом язык Пролог не приобрел должную популярность, а лишь неверные взгляды и иные понимания этого языка. К примеру, сложилось мнение, что на языке, можно писать программы только с рассуждением с выводом от целей к фактам, но на самом деле язык Пролог является универсальным языком и способен воспринять любой алгоритм. Но в свое время практики языка Пролог преодолели позицию «ортодоксальной школы», приняв наиболее прагматический подход.

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

Prolog происходит от “PROgramming in LOGic” — является декларативным языком программирования, имеет общее назначение. Пролог создавался в 1972г., для того, чтобы соединить представление знаний и использование логики, после воплощения такого проекта, язык приобрел диалекты, которые расширили его способности различными диалектами. Язык Пролог стандартизирован в виде ISO/IEC 13211-1 в 1995 году.

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