История создания языков программирования
Язык как средство общения. Необходимость создания языков программирования
Компьютер - инструмент для обработки информации. Чтобы компьютер мог обработать информацию, нужно составить для него алгоритм, выполняя который компьютер решит задачу. На каком языке должен быть описан алгоритм, чтобы компьютер мог его понять? Язык - одно из самых великих творений человечества. Он является важнейшим средством общения, тонким и гибким инструментом, с помощью которого формируется и выражается мысль Важнейшая функция языка - функция общения или коммуникативная (от латинского "communicatio" - сообщение).
Принято считать, что сейчас существует 2795 языков и около 3-х тысяч диалектов. Известны еще языки "мертвые" - латинский, древнегреческий, хеттский, арамейский и другие. Воистину, как сказал Вольтер," различие языков - одно из величайших несчастий бытия". К одиннадцати наиболее распространенным языкам относятся: английский, арабский, индонезийский, испанский, китайский, немецкий, португальский, русский,хинди и японский.
Слов в каждом языке меньше, -чем понятий, и поэтому приходится совершенно разные понятия обозначать одинаково. Это приводит к многозначности слов. Например, если вы возьмете " Словарь русского языка " Ожегова, то обнаружится, что слово "идет" имеет 26 значений. Вот некоторые из них:
Облака идут на север. Перемещаться.
Шляпа тебе идет. Быть к лицу.
Поезд идет через час. Отправляться.
Идет снег. Падают осадки.
Пенсия идет сама собой. Выплачивается.
Идут слухи. Распространяться.
Идет весна. Наступает.
Споем? Идет. Согласие.
Если в общении с компьютером употребить слово "идет", компьютер должен перебрать 26 значений и выбрать единственное.
Поэтому естественный язык не может служить идеальным средством для общения с вычислительной машиной. Для общения с компьютером нужен язык, близкий по своей точности и однозначности к языку математики и в то же время понятный большинству людей после обучения. В противоположность естественным языкам, возникшим стихийно, естественным путем, существует целый ряд языков, созданных для определенных целей искусственно, и поэтому их принято называть искусственными языками (например, эсперанто).
Для общения с компьютером тоже созданы искусственные языки, которые называют алгоритмическими или языками программирования.
История создания языков программирования
Началась она с разработки машинных языков: языка нулей и единиц. Запись на таком языке была очень трудоемкой и утомительной работой. В конце 1940-х и в начале 1950-х годов для облегчения тяжкого труда написания программ в машинных кодах была изобретена система обозначений, называемая языком АССЕМБЛЕРА. Вместо двоичных цифр, обозначающих какую-то команду, писались короткие слова или аббревиатура, например, ADD (добавить), SUB (вычесть), MOV (поместить). Например, алгоритм вычисления выражения Х = Y + Z на языке ассемблера записывается следующим образом:
MOV AX,Y загрузить Y в регистр АХ
MOV BX,Z ; загрузить Z в регистр ВХ
ADD AX.BX ; добавить Z к Y
MOV Х,АХ ; сохранить результат в Х
Программисты называют ассемблер языком программирования низкого уровня, поскольку он близок к машинному языку - языку программирования самого низкого уровня. У каждого компьютера свой язык ассемблера, поэтому написанная на нем программа непригодна для выполнения на компьютерах других типов.
Вскоре появилась потребность в более естественных языках, которые упрощали бы запись алгоритмов решения задач для компьютера.
Подязыком программирования следует понимать искусственный язык, используемый для написанияпрограммы, т.е. алгоритма решения задачи, предназначенного для исполнения вычислительной машиной.
Говоря об искусственном языке, необходимо отметить его краткость и немногословность (до 50-ти слов и конструкций). Языков программирования и их версий насчитывается, по крайней мере, несколько сотен, а вернее - несколько тысяч.
Для решения задачи определенного типа ( вычислительной, экономической, и т.д.) лучше пользоваться определенным языком программирования. Попытки создать универсальный язык программирования, т.е. такой, на котором описывались бы одинаково хорошо любые задачи, заканчивались неудачей.
Языки программирования, одна фраза которых эквивалентна нескольким .командам компьютера, принято называть языками высокого уровня. Появились они для компьютеров второго поколения. Приведем несколько примеров языков программирования высокого уровня.
• ЛИСП - ( от List Processing - обработка списков) - применяется для исследований в
области искусственного интеллекта. . ФОРТРАН - (от Formula Translator - переводчик формул ^разработан в середине 50-
х годов для описания математических алгоритмов.
• КОБОЛ - ( от CommonBusiness Oriented Language ) - для решения финансово - экономических задач.
• БЕЙСИК - ( от Beginner All Purpose Symbolic Code ) - универсальный символический язык(код) для начинающих, разработан в 1964 году.
• СИ - разработан в 1972 году как универсальный язык системного программирования, он как бы являет собой компромисс между низким уровнем ассемблера и высоким уровнем описанных выше языков.
. ПАСКАЛЬ - получил свое название в честь французского математика 17 века Бле-за Паскаля. Разработан швейцарским ученым, специалистом в области информатики Никлаусом Виртом как язык для преподавания современных принципов программирования. Применим для решения прикладных задач различных типов.
Допустим, написана программа решения задачи на каком-то языке программирования, но компьютер понимает только команды, переведенные в двоичный код. Этот перевод можно осуществить с помощью трансляторов.
Транслятор - программа, переводящая текст алгоритма, записанного на каком-то языке программирования, на язык машинных кодов.
Различают два вида трансляторов: компиляторы и интерпретаторы. Они различаются с точки зрения выполнения работы. Компилятор читает всю программу целиком, делает •ее перевод и создает законченный вариант программы на машинном языке, который затем загружается в компьютер и выполняется; интерпретатор переводит и выполняет программу строка за строкой (как синхронный переводчик).
Компилятор осуществляет синтаксический контроль программы и при обнаружении ошибок выдает диагностические сообщения. Если ошибок нет, результатом компиляции является программа на языке машинных команд (ее называют объектной).
Для каждого языка программирования существует свой транслятор, иногда для одного языка создается и компилятор, и интерпретатор. Откомпилированная программа выполняется быстрее, чем та, которая обрабатывается интерпретатором.
Языки программирования высокого уровня - машиннонезависимые языки: программа, написанная на таком языке, может быть выполнена на ЭВМ разных типов при наличии соответствующего транслятора.
Дата добавления: 2015-12-11; просмотров: 2235;