Файл: Современные языки программирования (Паскаль).pdf

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

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

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

Добавлен: 13.05.2023

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

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

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

ВВЕДЕНИЕ

Процесс работы компьютера заключается в выполнении программы, то есть набора вполне определённых команд во вполне определённом порядке. Машинный вид команды, состоящий из нулей и единиц, указывает, какое именно действие должен выполнить центральный процессор. Чтобы задать компьютеру последовательность действий, которые он должен выполнить, нужно задать последовательность двоичных кодов соответствующих команд. Программы в машинных кодах состоят из тысячи команд. Написание таких программ – занятие сложное и утомительное. Программист должен помнить комбинацию нулей и единиц двоичного кода каждой команды, а также двоичные коды адресов данных, используемых при её выполнении. Гораздо проще написать программу на каком-нибудь языке, более близком к естественному человеческому языку, а работу по переводу этой программы в машинные коды поручить компьютеру. Так возникли языки, предназначенные специально для написания программ.

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

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

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

– Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время как естественные языки используются для общения людей между собой. В принципе, можно обобщить определение «языков программирования» – это способ передачи команд, приказов, четкого руководства к действию, тогда как человеческие языки служат только для обмена информацией.
– Исполнение: язык программирования может использовать специальные конструкции для определения и манипуляции структурами данных и управления процессом вычислений.[1]

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


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

Современные языки программирования

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

Но тщеславие программистов не единственная причина возникновения новых языков программирования. Время не стоит на месте, развивается и наука, и технологии, то, что ещё вчера казалось пределом научно–технического прогресса, сегодня уже вчерашний день.

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

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

Не смотря на огромное множество языков программирования, лишь немногие из них получили широкую известность и признание программистов. Для того, чтобы определить самые популярные языки программирования воспользуемся данными голландской компании «TIOBE Software BV» в первую очередь известной своим регулярно рассчитываемым рейтингом популярности языков программирования. Несмотря на многолетние споры, относительно качества и достоверности рейтинга, других источников, позволяющих хоть как-то оценить тенденции в развитии языков программирования на сегодняшний день нет.


По данным компании «TIOBE Software BV» десять самых популярных языков программирования на декабрь 2010 года представлены в таблице 1.

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

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

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

  1. Рассмотрим эти языки программирования с нескольких основных позиций:
    Какие парадигмы программирования наиболее популярны в современных языках.
  2. Какие виды трансляторов применяются.
  3. Какие виды типизации используются.

Паскаль

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

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


В течение 1970-х годов Pascal был «единственным языком программирования, который всех устраивал». Компания IBM с помощью языка PL/I делала попытку создать что-то подобное. Так же как и PL/I, Pascal не достиг наивысшей цели. Популярность языка Pascal упала так же быстро, как и выросла. В 1970-х наблюдался огромный рост применения языка Pascal, а в 1980-х — резкий спад интереса к нему.

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

Ассемблер

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

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

Turbo Assembler, помимо полной поддержки транслятора фирмы Microsoft имеет дополнительные возможности, объединённые в режиме, названном разработчиками Ideal. Использование этого режима даёт возможность начинающему программисту применять более наглядный и простой стиль разработки программ. Более опытные программисты, пишущие на ассемблере, могут использовать такие возможности режима Ideal, как вложенные структуры, объединения.

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


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

Рефал

Несомненно, надо рассказать и о некоторых языках программирования, созданных у нас на родине. Один из таких языков является Рефал, разработанный у нас в России (СССР), в 1966г. ИПМ АН СССР. Этот язык прост и удобен для описания манипуляций над произвольными текстовыми объектами.

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

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

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

Определенной спецификой обладают и переменные типа «выражения» имеется в виду их способность удлиняться при отождествлении. Правильное использование переменных этого типа также позволяет значительно повысить эффективность Рефал – программы.