Министерство образования РФ
Предмет: информатика
Тема: Рстория языков программирования.
Ассемблер.
Выполнила: ученица 11__ класса,
средней школы №62
____________________
Проверила: преподаватель
средней школы №62
Кулешова Н.Г.
Прокопьевск 2002
Лист
Введение | 3 |
Для чего нужен язык программирования? | 5 |
Машинные языки, языки ассемблера и | 12 |
языки высокого уровня | |
Рстория языка РЎ | 14 |
Заключение | 15 |
Список использованной литературы | 16 |
С увеличением объёма вычислений появился первый счётный переносной инструмент - “Счёты”.
В начале 17 века возникла необходимость в сложных вычислениях. потребовались счётные устройства, способные выполнять большой объём вычислений с высокой точностью. В 1642 г. французский математик Паскаль сконструировал первую механическую счётную машину - “Паскалину”.
В 1830 г. английский учёный Бэбидж предложил идею первой программируемой вычислительной машины (“аналитическая машина”). Она должна была приводиться в действие силой пара, а программы кодировались на перфокарты. Реализовать эту идею не удалось, так как было не возможно сделать некоторые детали машины.
Первый реализовал идею перфокарт Холлерит. Он изобрёл машину для обработки результатов переписи населения. В своей машине он впервые применил электричество для расчётов. В 1930 г. американский учёный Буш изобрел дифференциальный анализатор - первый в мире компьютер.
Большой толчок в развитии вычислительной техники дала вторая мировая война. Военным понадобился компьютер, которым стал “Марк-1” - первый в мире цифровой компьютер, изобретённый в 1944 г. профессором Айкнем. В нём использовалось сочетание электрических сигналов и механических приводов. Размеры: 15 X 2,5 м., 750000 деталей. Могла перемножить два 23-х разрядных числа за 4 с.
Р’ 1946 Рі. РіСЂСѓРїРїРѕР№ инженеров РїРѕ заказу военного ведомства РЎРЁРђ был создан первый электронный компьютер - “Рниак”. Быстродействие: 5000 операций сложения Рё 300 операций умножения РІ секунду. Размеры: 30 Рј. РІ длину, объём - 85 Рј3., вес - 30 тонн. Рспользовалось 18000 СЌР». ламп.
Первая машина СЃ С…СЂРѕРЅРёРјРѕР№ программой - ”Рдсак” - была создана РІ 1949 Рі., Р° РІ 1951 Рі. создали машину “
Юнивак” - первый серийный компьютер с хронимой программой. В этой машине впервые была использована магнитная лента для записи и хранения информации
Для чего нужен язык программирования?
Компьютеpы появились очень давно в нашем миpе, но только в последнее вpемя их начали так усиленно использовать во многих отpаслях человеческой жизни. Ещё десять лет назад было редкостью увидеть какой-нибудь персональный компьютер — они были, но были очень дорогие, и даже не каждая фирма могла иметь у себя в офисе компьютер. А теперь? Теперь в каждом третьем доме есть компьютер, который уже глубоко вошёл в жизнь самих обитателей дома.
Сама идея создания искусственного интеллекта появилась давным давно, РЅРѕ только РІ 20 столетии её начали приводить РІ исполнение. Сначала появились огромные компьютеры, которые были подчастую размером СЃ огромный РґРѕРј. Рспользование таких махин, как РІС‹ сами понимаете, было РЅРµ очень СѓРґРѕР±РЅРѕ. РќРѕ что поделаешь? РќРѕ РјРёСЂ РЅРµ стоял РЅР° РѕРґРЅРѕРј месте эволюционного развития — менялись люди, менялась РёС… Среда обитания, Рё вместе СЃ ней менялись Рё сами технологии, РІСЃС‘ больше совершенствуясь. Ркомпьютеры становились РІСЃС‘ меньше Рё меньше РїРѕ СЃРІРѕРёРј размерам, РїРѕРєР° РЅРµ достигли сегодняшних размеров.
Но человеку ведь тоже надо как-нибудь общаться с машиной — ведь кому нужна неуправляемая машина? Сначала люди вели своё общение с компьютерам посредством перфокарт. Перфокарты — это небольшие карточки, на которые нанесены ряды цифр. У компьютера имелся “дисковод”, в который вставлялись сами карты и он при помощи маленьких иголочек ставил дырочки на цифрах. Такое общение мало кому доставляло удовольствие — ведь не очень удобно таскать с собой кучи перфокарт, которые после одного использования приходилось выбрасывать.
РќРѕ, как Рё РґСЂСѓРіРёРµ технологии, процесс общения человека СЃ искусственным интеллектом претерпел РєРѕРµ-какие изменения. Теперь человек РїСЂРѕРІРѕРґРёС‚ СЃРІРѕСЋ беседу СЃ компьютером РїСЂРё помощи клавиатуры Рё мышки. Рто довольно СѓРґРѕР±РЅРѕ Рё РёРЅРѕРіРґР° даже доставляет удовольствие человеку.
Современные вычислительные машины представляют РѕРґРЅРѕ РёР· самых значительных достижений человеческой мысли, влияние которого РЅР° развитие научно-технического прогресса трудно переоценить. Области применения РР’Рњ непрерывно расширяются. Ртому РІ значительной степени способствует распространение персональных РР’Рњ, Рё особенно РјРёРєСЂРѕРР’Рњ.
Р—Р° время, прошедшее СЃ 50-С… РіРѕРґРѕРІ, цифровая РР’Рњ превратилась РёР· “волшебного”, РЅРѕ РїСЂРё этом РґРѕСЂРѕРіРѕРіРѕ, уникального Рё перегретого нагромождения электронных ламп, РїСЂРѕРІРѕРґРѕРІ Рё магнитных сердечников РІ небольшую РїРѕ размерам машину - персональный компьютер - состоящий РёР· миллионов крошечных полупроводниковых РїСЂРёР±РѕСЂРѕРІ, которые упакованы РІ небольшие пластмассовые коробочки.
В результате этого превращения компьютеры стали применяться повсюду. Они управляют работой кассовых аппаратов, следят за работой автомобильных систем зажигания, ведут учёт семейного бюджета, или просто используются в качестве развлекательного комплекса… Но это только малая часть возможностей современных компьютеров. Более того, бурный прогресс полупроводниковой микроэлектроники, представляющей собой базу вычислительной техники, свидетельствует о том, что сегодняшний уровень как самих компьютеров, так и областей их применения является лишь слабым подобием того, что наступит в будущем.
Компьютеры начинают затрагивать жизнь каждого человека. Если вы заболеете, и если вас направят в больницу, то попав туда, в окажетесь в мире, где от компьютеров зависят жизни людей (в части современных больниц вы даже встретите компьютеров больше, чем самих пациентов, и это соотношение будет со временем расти, перевешивая число больных). Постепенно изучение компьютерной техники пытаются вводить в программы школьного обучения как обязательный предмет, чтобы ребёнок смог уже с довольно раннего возраста знать строение и возможности компьютеров. А в самих школах (в основном на западе и в Америке) уже многие годы компьютеры применялись для ведения учебной документации, а теперь они используются при изучении многих учебных дисциплин, не имеющих прямого отношения к вычислительной технике. Даже в начальной школе компьютеры внедряются для изучения курсов элементарной математики и физики. Сами микропроцессоры получили не менее широкое распространение чем компьютеры — они встраиваются в кухонные плиты для приготовления пищи, посудомоечные машины и даже в часы.
Очень широкое распространение получили игры, построенные на основе микропроцессоров. Сегодня игровая индустрия занимает очень большую часть рынка, постепенно вытесняя с него другие развлечения детей. Но для детского организма очень вредно сидеть часами за монитором и отчаянно нажимать на клавиши, так как у ребёнка может развиться своеобразная болезнь — когда у него только одно на уме - компьютер, и больше ничего. Дети с такой болезнью обычно становятся агрессивными, если их начинают ограничивать в доступе к играм. У таких детей сразу пропадает какое-либо желание делать что-то, что не относится к компьютеру и что им не интересно — так они начинают забрасывать свою учёбу, что ведёт к не очень хорошим последствиям.
Уже сейчас компьютеры могут чётко произносить различные фразы, словосочетания, проигрывать музыку и.т.д. Человек теперь может сам записать какие-нибудь слова, предложения и даже музыкальные композиции на своём компьютере для того, чтобы потом компьютер мог их воспроизводить в любое назначенное время.
Компьютеры способны также воспринимать устную речь в качестве сигналов, однако им приходится выполнять большую работу по расшифровке услышанного, если форма общения жестко не установлена. Ведь одну и ту же команду один и тот же человек может произнести несколькими способами, и всё время эта команда будет звучать по-разному; а в целом мире — миллиарды людей, и каждый произносит одну и ту же команду несколькими различными способами. Поэтому в данное время довольно сложно создать компьютер, который будет управляться при помощи голоса человека. Многие фирмы пытаются решить эти проблемы. Некоторые фирмы делают небольшие шажки на пути к данной цели, но всё равно эти шажки пока ещё почти незаметные.
РќРѕ проблема распознавания речи является частью более широкой проблемы, называемой распознаванием образов. Если компьютеры СЃРјРѕРіСѓС‚ хорошо распознавать образы, РѕРЅРё Р±СѓРґСѓС‚ СЃРїРѕСЃРѕР±РЅС‹ анализировать рентгенограммы Рё отпечатки пальцев, Р° также выполнять РјРЅРѕРіРёРµ РґСЂСѓРіРёРµ полезные функции (сортировкой писем РѕРЅРё занимаются уже сейчас). Следует заметить, что человеческий РјРѕР·Рі прекрасно справляется СЃ распознаванием образов даже РїСЂРё наличии различных шумов Рё искажений, Рё исследования РІ этой области, направленные РЅР° приближение соответствующих возможностей компьютера Рє способностям человека, представляются весьма перспективными. Если компьютеры СЃРјРѕРіСѓС‚ достаточно качественно распознавать речь Рё отвечать РЅР° неё РІ словесной форме, то, РїРѕ-РІРёРґРёРјРѕРјСѓ, станет возможным вводить РІ РЅРёС… РІ этой форме программы Рё данные. Рто позволит РІ буквальном смысле слова говорить компьютеру, что РѕРЅ должен делать, Рё выслушивать его мнение РїРѕ этому РїРѕРІРѕРґСѓ РїСЂРё условии, конечно, что выдаваемые ей указания чёткие, РЅРµ содержат противоречий Рё.С‚.Рґ.
Устное общение с компьютерами позволит упростить его программирование, однако остаётся нерешённая проблема, на каком именно языке следует с ним общаться. Многие предлагают для этих целей английский язык, но он не обладает точностью и однозначностью, необходимыми с точки зрения компьютера и исполняемых в нём программ. В этой области уже многое сделано, но ещё много предстоит сделать.
Мы часто жалуемся, что другие люди не понимают нас; но пока и сами персональные компьютеры не способны до конца понять нас, или понять, что мы хотим сказать с полуслова. Рв течение какого-то периода времени нам придётся довольствоваться такими машинами, которые просто следуют нашим указаниям, исполняя их “с точностью до миллиметра”.
Для общения СЃ компьютерами, ещё РІРѕ времена перфокарт, тогдашние программисты использовали язык программирования, очень похожий РЅР° современный Ассемблер. Рто такой язык, РіРґРµ РІСЃРµ команды, поступающие Рє компьютеру пишутся РїРѕРґСЂРѕР±РЅРѕ РїСЂРё помощи специальных слов Рё значков{?}.
В наше время усиленно используются языки программирования более высокого уровня, работать с которыми намного легче чем с Ассемблером, так как в них одно слово может заменять сразу несколько команд. Рпритом большинство языков программирования высокого уровня в названиях команд, используемых при общении с компьютером, используют эквиваленты, названные на английском языке, что, естественно, облегчает программирование. Но в них есть один минус по сравнению с языками, подобными Ассемблеру — в Ассемблере все команды, поступаемые из программы чётко распределяются в памяти компьютера, занимая свободные места, тем самым значительно выигрывая в скорости; а языки высокого уровня не умеют этого, соответственно теряя в скорости исполнения программы. А в нашем сегодняшнем мире всем известно, что: “Время — деньги”.
Хотя, пока компьютер уступает человеку с точки зрения творческой деятельности, потому что машина не наделена пока такими качествами, которые смогли бы ей помочь создать что-нибудь новое, что не введено в её память самим человеком.
Боьшинство людей, по-видимому, считают, что термины “вычислительная машина” и “вычислительная техника” синонимами и связывают их с физическим оборудованием, как, например, микропроцессором, дисплеем, дисками, принтерами и другими истройствами, привлекающими внимание людей, когда человек видит компьютер. Хотя эти устройства и важны, всё-таки они составляют только “верхушку айсберга”. На начальном этапе использованаия современного компьютера мы имеем дело не с самим компьютером, а с совокупностью правил, называемых языками программироваания, на которых указываются действия, которые должен выполнять компьютер. Важное значение языка программирования подчёркивается тем фактом, что сама вычислительная машина может рассматриваться как аппаратный интерпретатор какого-нибудь конкретного языка, который называется машинным языком. Для обеспечения эффективной работы машины разработаны машинные языки, использование которых представляет известные трудностидля человека. Большинство пользователей не чувствуют этих неудобств благодаря наличию одного или нескольких языков, созданных для улучшения связи человека с машиной. Гибкость вычислительной машины проявляется в том, что она может исполнять программы-трансляторы (в общем случае онм называются компиляторами или интерпретаторами) для преобразования программ с языков, ориентированных на пользователей, в программы на машинном языке. (В свою очередь даже сами программы, игры, системные оболочки являются ни чем иным, как довольно простая программа-транслятор, которая по мере работы, или игры обращается при помощи своих команд к “компьютерным внутренностям и наружностям”, транслиуя свои команды в машинные языки. Рвсё это происходит в реальном времени.)
Машинные языки, языки ассемблера и
языки высокого уровня
Программисты пишут программы на различных языках программирования, некоторые из которых непосредственно понятны компьютеру, а другие нуждаются в промежуточной стадии трансляции. Сотни имеющихся языков могут быть подразделены на три общих типа:
Машинные языки
Ассемблерные языки
Языки высокого уровня.
Каждый компьютер может понимать только свой машинный язык, который является естественным языком конкретного компьютера. Он тесно связан с его аппаратной частью. Машинные языки в общем случае состоят из последовательностей чисел (обычно нулей и единиц), которые являются командами на выполнение одиночных элементарных операций. Машинные языки являются машинно- зависимыми, т.е. конкретный машинный язык может быть использован только с определенным типом компьютера. Машинные языки неудобны для восприятия человеком.
По мере распространения компьютеров становилось очевидным, что программирование на машинных языках тормозит развитие компьютерной техники, является очень медленным и для большинства программистов непосильным занятием. Вместо последовательности чисел, непосредственно понятных компьютеру, программисты для представления элементарных операций стали применять англоязычные аббревиатуры, которые и сформировали основу языков ассемблера. Для преобразования программ, написанных на таких языках, в машинный язык были разработаны программы-трансляторы, называемые ассемблерами. Преобразование происходило со скоростью, равной быстродействию компьютера. С появлением языков ассемблера использование компьютеров значительно расширилось, однако все еще требовалось написание большого количества инструкций даже для реализации решения простейших задач. Для ускорения процесса программирования были разработаны языки высокого уровня, в которых для выполнения сложных действий достаточно написать один оператор. Программы для преобразования последовательности операторов на языке высокого уровня в машинный язык называются компиляторами. В языках высокого уровня инструкции, написанные программистами, зачастую выглядят как обычный текст на английском языке с применением общепринятых математических знаков.
Одним из языко высокого уровня является язык программирования С.
Язык с берет свое начало от двух языков, BCPL и B. В 1967 году Мартин Ричардс разработал BCPL как язык для написания системного программного обеспечения и компиляторов. В 1970 году Кен Томпсон использовал В для создания ранних версий операционной системы UNIX на компьютере DEC PDP-7. как в BCPL, так и в В переменные не разделялись на типы- каждое значение данных занимало одно слово в памяти и ответственность на различение, например, целых и действительных чисел целиком ложилась на плечи программиста.
Язык РЎ был разработан (РЅР° РѕСЃРЅРѕРІРµ Р’) Деннисом Ричи РёР· Bell Laboratories Рё впервые был реализован РІ 1972 РіРѕРґСѓ РЅР° компьютере DEC PDP-11. Рзвестность РЎ получил РІ качестве языка РћРЎ UNIX. Сегодня практически РІСЃРµ основные операционные системы были написаны РЅР° РЎ Рё/ или РЎ++. РџРѕ прошествии РґРІСѓС… десятилетий РЎ имеется РІ наличии РЅР° большинстве компьютеров. РћРЅ РЅРµ зависит РѕС‚ аппаратной части.
В конце 70-х годов С превратился в то, что мы называем «традиционный С». В 1983 году Американским комитетом национальных стандартов в области компьютеров и обработке информации был учрежден единый стандарт этого языка.
1. Том Сван “Освоение Turbo Assembler”, Диалектика, Киев, 1996 г.
2. Березин Р‘.Р., Березин РЎ.Р‘. “Начальный РєСѓСЂСЃ программирования”, Диалог РњРР¤Р, РњРѕСЃРєРІР°, 1996 Рі.
3. Лекции Комлевой Нины Викторовны по предмету “Языки программирования и методы трансляции”
4.РҐ.Рњ.Дейтел, Как программировать РЅР° РЎ, Рздательство Бином, РњРѕСЃРєРІР°, 2000 Рі.
refdb.ru
РњРРќРСТЕРСТВО ОБРАЗОВАНРРЇР РћРЎРЎРЙСКОЙФЕДЕРАЦРР
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования Московский государственный индустриальный университет
(ФГБОУ Р’РџРћ РњР“РРЈ)
Кафедра «информационных технологий и управления »
_
________________________________________________________________
РїРѕ дисциплине В«Рнформатика» _
_________________________________________________________________
РЅР° тему В«РРЎРўРћР РРЇ Р РђР—Р’РРўРРЇ ЯЗЫКОВ ПРОГРАМРР РћР’РђРќРРЇВ»
_
Группа | _____ | 141133 |
Студент |  | В.Н.Калинин |
Руководитель работы, |  |  |
должность, звание |  | Л.В.Меркушева |
В | РњРћРЎРљР’Рђ 2014 | В |
Компьютер может выполнять программу только в том случае, если содержащиеся в ней команды представлены в двоичном машинном коде, т.е. выражены на языке, алфавит которого состоит из логических единиц и нулей. Для первых компьютеров программы со-
ставлялись непосредственно в машинных кодах, что требовало высокой квалификации программистов и больших затрат труда. Для того чтобы представить, насколько это было сложно, приведем фрагмент (примерно одну десятую часть) программы, которая выводит на экран приветствие «Hello, world!»:
457f464c010100010000000000000000000200030001000003d00800003400000698
00000000000000340020000500280016001300060000003400000034080000000000
00Р°0000000Р°0000000050000000400000003000000d4000000d40800000000000013
00000013000000040000000100000001000000000000000008000000000004f500000
4f5000000050000100000000001000004f8000014f808000000000000c4000000c8000
0000600001000000000020000052c0000152c0800000000000090000000900000000
60000000400006c2f62696c2f2d64696c756e2e786f73312e000000110000001100000 0000000000e0000000a000000000000...
Уже в 40-хгодах началась разработка языков программирования, которые по своей лексике были бы максимально приближены к естественному языку человека. Такие языки программирования называются алгоритмическими.
Промежуточным шагом к разработке алгоритмических языков стал язык Ассемблер. В Ассемблере команды представляются не двоичными числами, а в виде сочетаний символов (мнемоническими кодами), по которым можно вос-
произвести смысл команды, что значительно устраняет трудности и недостатки программирования на машинном языке. Однако Ассемблеру присущи и недостатки - это машинно-ориентированныйязык, и для каждого компьютера создается свой язык Ассемблера. Программирование на Ассемблере требует от программиста хорошего знания архитектуры (устройства) компьютера и сопряжено со значительными трудозатратами, в то же время именно с помощью Ассемблера можно наилучшим образом использовать в программе ресурсы компьютера (память, быстродействие), поэтому Ассемблерпо-преж-нему широко распространен среди профессиональных программистов.
Первым алгоритмическим языком стал Fortran, созданный в 1957г. специалистами фирмы IBM под руководством Джона Бекуса. Сейчас существует большое множество алгоритмических языков: Pascal, C, Algol, PL1, Basic, Lisp, Prolog и многие другие. Ниже схематически представлена история создания языков:
Алгоритмические языки и ассемблеры относятся к языками символьного кодирования, т.е. к языкам, которые оперируют не машинными кодами, а условными символьными обозначениями, поэтому программы, составленные на этих языках, не могут быть непосредственно выполнены на компьютере. Чтобы такая программа заработала, ее текст нужно преобразовать в машинные коды. Для этого существуют специальные программы-переводчики
(трансляторы). Различают 2 РІРёРґР° трансляторовкомпилятор Рё интерпретатор. Компилятор транслирует программу сразу целиком, Рё лишь после этого возможно ее выполнение. Рнтерпретатор - это более простой транслятор, РѕРЅ последовательно транслирует операторы программы Рё так же РїРѕ частям ее выполняет.
Сами же языки программирования можно разделить на языки высокого уровня и языки низкого уровня.
studfiles.net
По мере развития вычислительной техники возникали разные методики программирования. На каждом этапе создавался новый подход, который помогал программистам с растущим усложнением программ.
Первые программы заключались в установке ключевых переключателей на передней панели вычислительного устройства. Очевидно, таким способом можно было составить только небольшие программы.
С развитием компьютерной техники появился машинный язык, с помощью которого программист мог задавать команды, оперируя с ячейками памяти, полностью используя возможности машины.
Однако использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Поэтому от его использования пришлось отказаться.Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающие наличие и типы ошибок, которые надо анализировать.
«Слова» на машинном языке называются инструкции, каждая из которых представляет собой одно элементарное действие для центрального процессора, такое, например, как считывание информации из ячейки памяти.
Каждая модель процессора имеет свой собственный набор машинных команд, хотя большинство из них совпадает. Если Процессор А полностью понимает язык Процессора Б, то говорится, что Процессор А совместим с Процессором Б. Процессор Б будет назваться не совместимым с Процессором А если А имеет команды, не распознаваемые Процессором Б.
В случае, когда нужно иметь эффективную программу, вместо машинных языков используются близкие к ним машинно-ориентированные языки — ассемблеры. Люди используют мнемонические команды взамен машинных команд.
Но даже работа с ассемблером достаточно сложна и требует специальной подготовки.
Например, для процессора Zilog Z80 машинная команда 00000101 предписывает процессору уменьшить на единицу свой регистр B. На языке ассемблера это же будет записано как DEC B.
Следующий шаг был сделан РІ 1954 РіРѕРґСѓ, РєРѕРіРґР° был создан первый язык высокого СѓСЂРѕРІРЅСЏ — Фортран (англ. FORTRAN - FORmula TRANslator). Языки высокого СѓСЂРѕРІРЅСЏ имитируют естественные языки, используя некоторые слова разговорного языка Рё общепринятые математические символы. Рти языки более СѓРґРѕР±РЅС‹ для человека, СЃ помощью РЅРёС…, можно писать программы РґРѕ нескольких тысяч строк длиной. Однако легко понимаемый РІ коротких программах, этот язык становился нечитаемым Рё трудно управляемым, РєРѕРіРґР° дело касалось больших программ. Решение этой проблемы пришло после изобретения языков структурного программирования (англ. structured programming language), таких как Алгол(1958), Паскаль(1970), РЎРё(1972).
Структурное программирование предполагает точно обозначенные управляющие структуры, программные блоки, отсутствие инструкций безусловного перехода (GOTO), автономные подпрограммы, поддержка рекурсии и локальных переменных.
Суть такого подхода заключается в возможности разбиения программы на составляющие элементы.
Также создавались функциональные (аппликативные) языки (Пример: Lisp — англ. LISt Processing, 1958) и логические языки (пример: Prolog — англ. PROgramming in LOGic, 1972).
Хотя структурное программирование, при его использовании, дало выдающиеся результаты, даже оно оказывалось несостоятельным тогда, когда программа достигала определенной длины. Для того чтобы написать более сложную (и длинную) программу, нужен был новый подход к программированию.
В итоге в конце 1970-х и начале 1980-х были разработаны принципы объектно-ориентированного программирования. ООП сочетает лучшие принципы структурного программирования с новыми мощными концепциями, базовые из которых называются инкапсуляцией, полиморфизмом и наследованием.
Примером объектно-ориентированных языков являются: Object Pascal, C++,
ООП позволяет оптимально организовывать программы, разбивая проблему на составные части, и работая с каждой по отдельности. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути, описывает часть мира, относящуюся к этой задаче.
Wikimedia Foundation. 2010.
dic.academic.ru
Министерство образования РФ
Предмет: информатика
Тема: Рстория языков программирования.
Ассемблер.
Выполнила: ученица 11__ класса,
средней школы №62
____________________
Проверила: преподаватель
средней школы №62
Кулешова Н.Г.
Прокопьевск 2002
Лист
Введение | 3 |
Для чего нужен язык программирования? | 5 |
Машинные языки, языки ассемблера и | 12 |
языки высокого уровня | |
Рстория языка РЎ | 14 |
Заключение | 15 |
Список использованной литературы | 16 |
С увеличением объёма вычислений появился первый счётный переносной инструмент — “Счёты”.
В начале 17 века возникла необходимость в сложных вычислениях. потребовались счётные устройства, способные выполнять большой объём вычислений с высокой точностью. В 1642 г. французский математик Паскаль сконструировал первую механическую счётную машину — “Паскалину”.
В 1830 г. английский учёный Бэбидж предложил идею первой программируемой вычислительной машины (“аналитическая машина”). Она должна была приводиться в действие силой пара, а программы кодировались на перфокарты. Реализовать эту идею не удалось, так как было не возможно сделать некоторые детали машины.
Первый реализовал идею перфокарт Холлерит. Он изобрёл машину для обработки результатов переписи населения. В своей машине он впервые применил электричество для расчётов. В 1930 г. американский учёный Буш изобрел дифференциальный анализатор — первый в мире компьютер.
Большой толчок в развитии вычислительной техники дала вторая мировая война. Военным понадобился компьютер, которым стал “Марк-1” — первый в мире цифровой компьютер, изобретённый в 1944 г. профессором Айкнем. В нём использовалось сочетание электрических сигналов и механических приводов. Размеры: 15 X 2,5 м., 750000 деталей. Могла перемножить два 23-х разрядных числа за 4 с.
Р’ 1946 Рі. РіСЂСѓРїРїРѕР№ инженеров РїРѕ заказу военного ведомства РЎРЁРђ был создан первый электронный компьютер — “Рниак”. Быстродействие: 5000 операций сложения Рё 300 операций умножения РІ секунду. Размеры: 30 Рј. РІ длину, объём — 85 Рј3., вес — 30 тонн. Рспользовалось 18000 СЌР». ламп.
Первая машина СЃ С…СЂРѕРЅРёРјРѕР№ программой — ”Рдсак” — была создана РІ 1949 Рі., Р° РІ 1951 Рі. создали машину “
Юнивак” — первый серийный компьютер с хронимой программой. В этой машине впервые была использована магнитная лента для записи и хранения информации
Для чего нужен язык программирования?
Компьютеpы появились очень давно в нашем миpе, но только в последнее вpемя их начали так усиленно использовать во многих отpаслях человеческой жизни. Ещё десять лет назад было редкостью увидеть какой-нибудь персональный компьютер — они были, но были очень дорогие, и даже не каждая фирма могла иметь у себя в офисе компьютер. А теперь? Теперь в каждом третьем доме есть компьютер, который уже глубоко вошёл в жизнь самих обитателей дома.
Сама идея создания искусственного интеллекта появилась давным давно, РЅРѕ только РІ 20 столетии её начали приводить РІ исполнение. Сначала появились огромные компьютеры, которые были подчастую размером СЃ огромный РґРѕРј. Рспользование таких махин, как РІС‹ сами понимаете, было РЅРµ очень СѓРґРѕР±РЅРѕ. РќРѕ что поделаешь? РќРѕ РјРёСЂ РЅРµ стоял РЅР° РѕРґРЅРѕРј месте эволюционного развития — менялись люди, менялась РёС… Среда обитания, Рё вместе СЃ ней менялись Рё сами технологии, РІСЃС‘ больше совершенствуясь. Ркомпьютеры становились РІСЃС‘ меньше Рё меньше РїРѕ СЃРІРѕРёРј размерам, РїРѕРєР° РЅРµ достигли сегодняшних размеров.
Но человеку ведь тоже надо как-нибудь общаться с машиной — ведь кому нужна неуправляемая машина? Сначала люди вели своё общение с компьютерам посредством перфокарт. Перфокарты — это небольшие карточки, на которые нанесены ряды цифр. У компьютера имелся “дисковод”, в который вставлялись сами карты и он при помощи маленьких иголочек ставил дырочки на цифрах. Такое общение мало кому доставляло удовольствие — ведь не очень удобно таскать с собой кучи перфокарт, которые после одного использования приходилось выбрасывать.
РќРѕ, как Рё РґСЂСѓРіРёРµ технологии, процесс общения человека СЃ искусственным интеллектом претерпел РєРѕРµ-какие изменения. Теперь человек РїСЂРѕРІРѕРґРёС‚ СЃРІРѕСЋ беседу СЃ компьютером РїСЂРё помощи клавиатуры Рё мышки. Рто довольно СѓРґРѕР±РЅРѕ Рё РёРЅРѕРіРґР° даже доставляет удовольствие человеку.
Современные вычислительные машины представляют РѕРґРЅРѕ РёР· самых значительных достижений человеческой мысли, влияние которого РЅР° развитие научно-технического прогресса трудно переоценить. Области применения РР’Рњ непрерывно расширяются. Ртому РІ значительной степени способствует распространение персональных РР’Рњ, Рё особенно РјРёРєСЂРѕРР’Рњ.
Р—Р° время, прошедшее СЃ 50-С… РіРѕРґРѕРІ, цифровая РР’Рњ превратилась РёР· “волшебного”, РЅРѕ РїСЂРё этом РґРѕСЂРѕРіРѕРіРѕ, уникального Рё перегретого нагромождения электронных ламп, РїСЂРѕРІРѕРґРѕРІ Рё магнитных сердечников РІ небольшую РїРѕ размерам машину — персональный компьютер — состоящий РёР· миллионов крошечных полупроводниковых РїСЂРёР±РѕСЂРѕРІ, которые упакованы РІ небольшие пластмассовые коробочки.
В результате этого превращения компьютеры стали применяться повсюду. Они управляют работой кассовых аппаратов, следят за работой автомобильных систем зажигания, ведут учёт семейного бюджета, или просто используются в качестве развлекательного комплекса… Но это только малая часть возможностей современных компьютеров. Более того, бурный прогресс полупроводниковой микроэлектроники, представляющей собой базу вычислительной техники, свидетельствует о том, что сегодняшний уровень как самих компьютеров, так и областей их применения является лишь слабым подобием того, что наступит в будущем.
Компьютеры начинают затрагивать жизнь каждого человека. Если вы заболеете, и если вас направят в больницу, то попав туда, в окажетесь в мире, где от компьютеров зависят жизни людей (в части современных больниц вы даже встретите компьютеров больше, чем самих пациентов, и это соотношение будет со временем расти, перевешивая число больных). Постепенно изучение компьютерной техники пытаются вводить в программы школьного обучения как обязательный предмет, чтобы ребёнок смог уже с довольно раннего возраста знать строение и возможности компьютеров. А в самих школах (в основном на западе и в Америке) уже многие годы компьютеры применялись для ведения учебной документации, а теперь они используются при изучении многих учебных дисциплин, не имеющих прямого отношения к вычислительной технике. Даже в начальной школе компьютеры внедряются для изучения курсов элементарной математики и физики. Сами микропроцессоры получили не менее широкое распространение чем компьютеры — они встраиваются в кухонные плиты для приготовления пищи, посудомоечные машины и даже в часы.
Очень широкое распространение получили игры, построенные на основе микропроцессоров. Сегодня игровая индустрия занимает очень большую часть рынка, постепенно вытесняя с него другие развлечения детей. Но для детского организма очень вредно сидеть часами за монитором и отчаянно нажимать на клавиши, так как у ребёнка может развиться своеобразная болезнь — когда у него только одно на уме — компьютер, и больше ничего. Дети с такой болезнью обычно становятся агрессивными, если их начинают ограничивать в доступе к играм. У таких детей сразу пропадает какое-либо желание делать что-то, что не относится к компьютеру и что им не интересно — так они начинают забрасывать свою учёбу, что ведёт к не очень хорошим последствиям.
Уже сейчас компьютеры могут чётко произносить различные фразы, словосочетания, проигрывать музыку и.т.д. Человек теперь может сам записать какие-нибудь слова, предложения и даже музыкальные композиции на своём компьютере для того, чтобы потом компьютер мог их воспроизводить в любое назначенное время.
Компьютеры способны также воспринимать устную речь в качестве сигналов, однако им приходится выполнять большую работу по расшифровке услышанного, если форма общения жестко не установлена. Ведь одну и ту же команду один и тот же человек может произнести несколькими способами, и всё время эта команда будет звучать по-разному; а в целом мире — миллиарды людей, и каждый произносит одну и ту же команду несколькими различными способами. Поэтому в данное время довольно сложно создать компьютер, который будет управляться при помощи голоса человека. Многие фирмы пытаются решить эти проблемы. Некоторые фирмы делают небольшие шажки на пути к данной цели, но всё равно эти шажки пока ещё почти незаметные.
РќРѕ проблема распознавания речи является частью более широкой проблемы, называемой распознаванием образов. Если компьютеры СЃРјРѕРіСѓС‚ хорошо распознавать образы, РѕРЅРё Р±СѓРґСѓС‚ СЃРїРѕСЃРѕР±РЅС‹ анализировать рентгенограммы Рё отпечатки пальцев, Р° также выполнять РјРЅРѕРіРёРµ РґСЂСѓРіРёРµ полезные функции (сортировкой писем РѕРЅРё занимаются уже сейчас). Следует заметить, что человеческий РјРѕР·Рі прекрасно справляется СЃ распознаванием образов даже РїСЂРё наличии различных шумов Рё искажений, Рё исследования РІ этой области, направленные РЅР° приближение соответствующих возможностей компьютера Рє способностям человека, представляются весьма перспективными. Если компьютеры СЃРјРѕРіСѓС‚ достаточно качественно распознавать речь Рё отвечать РЅР° неё РІ словесной форме, то, РїРѕ-РІРёРґРёРјРѕРјСѓ, станет возможным вводить РІ РЅРёС… РІ этой форме программы Рё данные. Рто позволит РІ буквальном смысле слова говорить компьютеру, что РѕРЅ должен делать, Рё выслушивать его мнение РїРѕ этому РїРѕРІРѕРґСѓ РїСЂРё условии, конечно, что выдаваемые ей указания чёткие, РЅРµ содержат противоречий Рё.С‚.Рґ.
Устное общение с компьютерами позволит упростить его программирование, однако остаётся нерешённая проблема, на каком именно языке следует с ним общаться. Многие предлагают для этих целей английский язык, но он не обладает точностью и однозначностью, необходимыми с точки зрения компьютера и исполняемых в нём программ. В этой области уже многое сделано, но ещё много предстоит сделать.
Мы часто жалуемся, что другие люди не понимают нас; но пока и сами персональные компьютеры не способны до конца понять нас, или понять, что мы хотим сказать с полуслова. Рв течение какого-то периода времени нам придётся довольствоваться такими машинами, которые просто следуют нашим указаниям, исполняя их “с точностью до миллиметра”.
Для общения СЃ компьютерами, ещё РІРѕ времена перфокарт, тогдашние программисты использовали язык программирования, очень похожий РЅР° современный Ассемблер. Рто такой язык, РіРґРµ РІСЃРµ команды, поступающие Рє компьютеру пишутся РїРѕРґСЂРѕР±РЅРѕ РїСЂРё помощи специальных слов Рё значков{?}.
В наше время усиленно используются языки программирования более высокого уровня, работать с которыми намного легче чем с Ассемблером, так как в них одно слово может заменять сразу несколько команд. Рпритом большинство языков программирования высокого уровня в названиях команд, используемых при общении с компьютером, используют эквиваленты, названные на английском языке, что, естественно, облегчает программирование. Но в них есть один минус по сравнению с языками, подобными Ассемблеру — в Ассемблере все команды, поступаемые из программы чётко распределяются в памяти компьютера, занимая свободные места, тем самым значительно выигрывая в скорости; а языки высокого уровня не умеют этого, соответственно теряя в скорости исполнения программы. А в нашем сегодняшнем мире всем известно, что: “Время — деньги”.
Хотя, пока компьютер уступает человеку с точки зрения творческой деятельности, потому что машина не наделена пока такими качествами, которые смогли бы ей помочь создать что-нибудь новое, что не введено в её память самим человеком.
Боьшинство людей, по-видимому, считают, что термины “вычислительная машина” и “вычислительная техника” синонимами и связывают их с физическим оборудованием, как, например, микропроцессором, дисплеем, дисками, принтерами и другими истройствами, привлекающими внимание людей, когда человек видит компьютер. Хотя эти устройства и важны, всё-таки они составляют только “верхушку айсберга”. На начальном этапе использованаия современного компьютера мы имеем дело не с самим компьютером, а с совокупностью правил, называемых языками программироваания, на которых указываются действия, которые должен выполнять компьютер. Важное значение языка программирования подчёркивается тем фактом, что сама вычислительная машина может рассматриваться как аппаратный интерпретатор какого-нибудь конкретного языка, который называется машинным языком. Для обеспечения эффективной работы машины разработаны машинные языки, использование которых представляет известные трудностидля человека. Большинство пользователей не чувствуют этих неудобств благодаря наличию одного или нескольких языков, созданных для улучшения связи человека с машиной. Гибкость вычислительной машины проявляется в том, что она может исполнять программы-трансляторы (в общем случае онм называются компиляторами или интерпретаторами) для преобразования программ с языков, ориентированных на пользователей, в программы на машинном языке. (В свою очередь даже сами программы, игры, системные оболочки являются ни чем иным, как довольно простая программа-транслятор, которая по мере работы, или игры обращается при помощи своих команд к “компьютерным внутренностям и наружностям”, транслиуя свои команды в машинные языки. Рвсё это происходит в реальном времени.)
Машинные языки, языки ассемблера и
языки высокого уровня
Программисты пишут программы на различных языках программирования, некоторые из которых непосредственно понятны компьютеру, а другие нуждаются в промежуточной стадии трансляции. Сотни имеющихся языков могут быть подразделены на три общих типа:
1. Машинные языки
2. Ассемблерные языки
3. Языки высокого уровня.
Каждый компьютер может понимать только свой машинный язык, который является естественным языком конкретного компьютера. Он тесно связан с его аппаратной частью. Машинные языки в общем случае состоят из последовательностей чисел (обычно нулей и единиц), которые являются командами на выполнение одиночных элементарных операций. Машинные языки являются машинно- зависимыми, т.е. конкретный машинный язык может быть использован только с определенным типом компьютера. Машинные языки неудобны для восприятия человеком.
По мере распространения компьютеров становилось очевидным, что программирование на машинных языках тормозит развитие компьютерной техники, является очень медленным и для большинства программистов непосильным занятием. Вместо последовательности чисел, непосредственно понятных компьютеру, программисты для представления элементарных операций стали применять англоязычные аббревиатуры, которые и сформировали основу языков ассемблера. Для преобразования программ, написанных на таких языках, в машинный язык были разработаны программы-трансляторы, называемые ассемблерами. Преобразование происходило со скоростью, равной быстродействию компьютера. С появлением языков ассемблера использование компьютеров значительно расширилось, однако все еще требовалось написание большого количества инструкций даже для реализации решения простейших задач. Для ускорения процесса программирования были разработаны языки высокого уровня, в которых для выполнения сложных действий достаточно написать один оператор. Программы для преобразования последовательности операторов на языке высокого уровня в машинный язык называются компиляторами. В языках высокого уровня инструкции, написанные программистами, зачастую выглядят как обычный текст на английском языке с применением общепринятых математических знаков.
Одним из языко высокого уровня является язык программирования С.
Язык с берет свое начало от двух языков, BCPL и B. В 1967 году Мартин Ричардс разработал BCPL как язык для написания системного программного обеспечения и компиляторов. В 1970 году Кен Томпсон использовал В для создания ранних версий операционной системы UNIX на компьютере DEC PDP-7. как в BCPL, так и в В переменные не разделялись на типы- каждое значение данных занимало одно слово в памяти и ответственность на различение, например, целых и действительных чисел целиком ложилась на плечи программиста.
Язык РЎ был разработан (РЅР° РѕСЃРЅРѕРІРµ Р’) Деннисом Ричи РёР· Bell Laboratories Рё впервые был реализован РІ 1972 РіРѕРґСѓ РЅР° компьютере DEC PDP-11. Рзвестность РЎ получил РІ качестве языка РћРЎ UNIX. Сегодня практически РІСЃРµ основные операционные системы были написаны РЅР° РЎ Рё/ или РЎ++. РџРѕ прошествии РґРІСѓС… десятилетий РЎ имеется РІ наличии РЅР° большинстве компьютеров. РћРЅ РЅРµ зависит РѕС‚ аппаратной части.
В конце 70-х годов С превратился в то, что мы называем «традиционный С». В 1983 году Американским комитетом национальных стандартов в области компьютеров и обработке информации был учрежден единый стандарт этого языка.
1. Том Сван “Освоение Turbo Assembler”, Диалектика, Киев, 1996 г.
2. Березин Р‘.Р., Березин РЎ.Р‘. “Начальный РєСѓСЂСЃ программирования”, Диалог РњРР¤Р, РњРѕСЃРєРІР°, 1996 Рі.
3. Лекции Комлевой Нины Викторовны по предмету “Языки программирования и методы трансляции”
4.РҐ.Рњ.Дейтел, Как программировать РЅР° РЎ, Рздательство Бином, РњРѕСЃРєРІР°, 2000 Рі.
www.ronl.ru
РРЎРўРћР РРЇ ЯЗЫКОВ ПРОГРАММРР РћР’РђРќРРЇ
Первые шаги автоматизации программированияПрограммы для первых РР’Рњ программисты писали РЅР° языках машинных команд. Рто очень трудоемкий Рё длительный процесс. Проходило значительное время между началом составления программы Рё началом ее использования. Решить эту проблему можно было лишь путем создания средств автоматизации программирования.Первыми "инструментами", которые экономили труд программистов, стали подпрограммы. Р’ августе 1944 РіРѕРґР° для релейной машины "Марк-I" РїРѕРґ руководством Грейс Хоппер (женщина-программист, РјРѕСЂСЃРєРѕР№ офицер Р’РњР¤ РЎРЁРђ) была написана первая подпрограмма для вычисления sinx.РќРµ РѕРґРЅСѓ Грейс Хоппер волновала проблема облегчения труда программистов. Р’ 1949 РіРѕРґСѓ Джон Моучли (РѕРґРёРЅ РёР· создателей РР’Рњ ENIAC) разработал систему Short Code, которую можно считать предшественницей языков программирования высокого СѓСЂРѕРІРЅСЏ. Программист записывал решаемую задачу РІ РІРёРґРµ математических формул, преобразовывал формулы РІ двухбуквенные РєРѕРґС‹. Р’ дальнейшем специальная программа переводила эти РєРѕРґС‹ РІ двоичный машинный РєРѕРґ. Таким образом, Дж. Моучли разработал РѕРґРёРЅ РёР· первых примитивных интерпретаторов. Рђ РІ 1951 РіРѕРґСѓ Р“. Хоппер создала первый компилятор Рђ-0. Ею же впервые был введен этот термин.Первые языки высокого СѓСЂРѕРІРЅСЏ: РљРѕР±РѕР» Рё ФортранВ 50-Рµ РіРѕРґС‹ прошлого века РіСЂСѓРїРїР° РїРѕРґ руководством Р“. Хоппер приступила Рє разработке РЅРѕРІРѕРіРѕ языка Рё компилятора Р’-0. Новый язык позволил Р±С‹ программировать РЅР° языке, близком Рє обычному английскому. Разработчики языка выбрали около 30 английских слов, для распознавания которых Р“. Хоппер придумала СЃРїРѕСЃРѕР±, сохранившийся РІ операторах будущих языков программирования: каждое слово содержит неповторимую комбинацию РёР· первой Рё третьей Р±СѓРєРІ. Благодаря этому компилятор РїСЂРё создании машинного РєРѕРґР° программы может игнорировать РІСЃРµ остальные Р±СѓРєРІС‹ РІ слове.Необходимость появления такой системы, язык которой приближен Рє разговорному, Р“. Хоппер связывала СЃ тем, что область применения РР’Рњ Р±СѓРґСѓС‚ расширяться, РІ СЃРІСЏР·Рё СЃ чем будет расти Рё РєСЂСѓРі пользователей. РџРѕ словам Р“. Хоппер, следует оставить попытки "превратить РёС… всех РІ математиков".Р’ 1958 РіРѕРґСѓ система Р’-0 получила название FLOW-MATIC Рё была ориентирована РЅР° обработку коммерческих данных. Р’ 1959 РіРѕРґСѓ был разработан язык COBOL (Common Business Oriented Language) (РљРѕР±РѕР»)- машинно независимый язык программирования высокого СѓСЂРѕРІРЅСЏ для решения задач бизнеса. РћРґРЅР° Рё та же программа, написанная РЅР° машинно независимом языке, может быть выполнена РЅР° РР’Рњ разных типов, оснащенных соответствующим транслятором СЃ этого языка. Консультантом РїСЂРё создании языка COBOL РІРЅРѕРІСЊ выступила Р“. Хоппер.Р’ 1954 РіРѕРґСѓ публикуется сообщение Рѕ создании языка FORTRAN (FORmula TRANslation) (Фортран). Местом рождения языка стала штаб-квартира фирмы IBM РІ РќСЊСЋ-Йорке. РћРґРЅРёРј РёР· главных разработчиков является Джон Бэкус. РћРЅ же стал автором НФБ (нормальная форма Бэкуса), которая используется для описания синтаксиса РјРЅРѕРіРёС… языков программирования.Р’ тот же период РІ европейских странах Рё РІ СССРпопулярным становится язык ALGOL. Как Рё FORTRAN, РѕРЅ ориентировался РЅР° математические задачи. Р’ нем была реализована передовая для того времени технология программирования - структурное программирование.Большое количество новых языков стало появляться РІ 60-Рµ, 70-Рµ РіРѕРґС‹ прошлого столетия, РЅРѕ РЅРµ РІСЃРµ РёР· РЅРёС… выдержали испытание временем. Рљ языкам-долгожителям следует отнести язык BASIC, разработанный РІ Дартмутском университете РІ 1964 РіРѕРґСѓ РїРѕРґ руководством Джона Кемени Рё Томаса Курца. РџРѕ замыслу авторов, это простой язык, легко изучаемый, предназначенный для программирования несложных расчетных задач. Наибольшее распространение BASIC получил РЅР° РјРёРєСЂРѕ-РР’Рњ Рё персональных компьютерах. Однако первоначально этот язык был неструктурным Рё СЃ этой точки зрения плохо РїРѕРґС…РѕРґРёР» для обучения качественному программированию. Р’ 1985 РіРѕРґСѓ была создана версия языка True BASIC, которая РїРѕ мнению разработчиков была совершеннее, чем PASCAL. Р’ 1991 РіРѕРґСѓ появилась первая версия языка VISUAL BASIC.Языки процедурного программированияДля первых языков программирования характерной чертой была предметная ориентация. Рто значит, что каждый язык предназначался для решения какого-то определенного класса задач. COBOL был ориентирован РЅР° решение задач бизнеса, FORTRAN - РЅР° проведение инженерных Рё научных расчетов. Р’ СЌРїРѕС…Сѓ РР’Рњ третьего поколения большое распространение получил язык PL/1 (Program Language/1), разработанный фирмой IBM. Рто был первый язык, претендовавший РЅР° универсальность, С‚. Рµ. РЅР° возможность решать любые задачи: вычислительные, обработки текстов, накопления Рё РїРѕРёСЃРєР° информации. PL/1 оказался слишком сложным языком. Транслятор СЃ него недостаточно оптимальный, содержащий СЂСЏРґ РЅРµ выявленных ошибок. РџРѕ этой причине этот язык РЅРµ получил распространения. Однако линия РЅР° универсализацию языков была продолжена. Старые языки были модернизированы РІ универсальные варианты. Примером тому стал FORTRAN 77.Значительным событием РІ истории языков программирования стало создание РІ 1971 РіРѕРґСѓ языка PASCAL. Его автором является Никлаус Р’РёСЂС‚, профессор РёР· Швейцарии. Р’РёСЂС‚ назвал этот язык РІ честь французского математика Рё физика Блэза Паскаля, который РІ 1642 РіРѕРґСѓ сконструировал вычислительный механизм. Первоначально PASCAL создавался как язык для обучения. Р’ нем СЏСЂРєРѕ выражена структурная линия программирования. РЁРёСЂРѕРєРѕРµ практическое применение язык получил СЃ появлением персональных компьютеров РІ версии Turbo PASCAL.Язык программирования РЎ ("РЎРё") был задуман как инструментальный язык для разработки операционных систем. РћРЅ создавался одновременно СЃ операционной системой UNIX. Авторами этого языка Рё РћРЎ UNIX являются американские программисты Деннис Ричи Рё Кеннет РўРѕРјРїСЃРѕРЅ. Первоначально Рљ. РўРѕРјРїСЃРѕРЅ начал писать РћРЎ UNIX РЅР° языке FORTRAN. Р’ дальнейшем был создан язык РЎ, Рё РІ 1973 РіРѕРґСѓ СЏРґСЂРѕ операционной системы вместе СЃ программами-утилитами было переписано РЅР° РЎ. Ртот язык является структурным языком высокого СѓСЂРѕРІРЅСЏ. Р’ настоящее время РѕРЅ применяется для разработки РЅРµ только операционных систем, РЅРѕ Рё трансляторов, системных Рё прикладных программ.Языки искусственного интеллекта
Р’ 90-С… годах прошлого столетия планировалось появление компьютеров пятого поколения, называемых машинами "искусственного интеллекта". Р’ качестве основных языков программирования РІ этом, РїРѕРєР° неосуществленном, проекте предполагались языки искусственного интеллекта LISP Рё PROLOG.Создателем языка LISP (1956-1959 РіРі.) является Джон Маккарти, которого называют отцом искусственного интеллекта. Рменно РѕРЅ первым ввел термин "искусственный интеллект". Основным РІ языке LISP является понятие рекурсивно определенных функций. Доказано, что любой алгоритм может быть описан СЃ помощью некоторого набора рекурсивных функций. Основные идеи этого языка были позже использованы РІ языке программирования для детей LOGO, разработанном РІ 70-Рµ РіРѕРґС‹ РІ Массачусетском технологическом институте РїРѕРґ руководством РЎСЌР№РјСѓСЂР° Пейперта. Подмножество языка LOGO, включающее команды для Черепашки, применяется РїСЂРё раннем обучении программированию.Язык PROLOG разработан РІРѕ Франции РІ 1972 РіРѕРґСѓ также для решения проблем искусственного интеллекта. PROLOG позволяет РІ формальном РІРёРґРµ описывать различные утверждения, логику рассуждений, заставляет компьютер давать ответы РЅР° заданные РІРѕРїСЂРѕСЃС‹.Современные языки объектно-ориентированного Рё визуального программированияВ последнее время РѕРґРЅРёРј РёР· основных направлений РІ развитии программного обеспечения компьютера стал объектно-ориентированный РїРѕРґС…РѕРґ. РџРѕРґ словом "объект" понимается структура, объединяющая РІ единое целое данные РЅ программы РёС… обработки. Стали популярны объектно-ориентированные операционные системы (например, Windows), прикладные программы, Р° также системы объектно-ориентированного программирования (РћРћРџ).Первым языком СЃ элементами РћРћРџ был язык Симула-67. Р’ Turbo PASCAL, начиная СЃ версии 5.5, появились средства РћРћРџ. Ртогом развития Turbo PASCAL РІ этом направлении стало создание фирмой Borland системы программирования DELPHI (Делфи). Рспользование этой системы, РІ частности, дает возможность легко Рё быстро программировать сложный графический интерфейс. Р’ 1991 РіРѕРґСѓ появилась первая версия языка VISUAL BASIC. Начиная СЃ пятой версии (1997 РіРѕРґ) язык стал полностью объектно-ориентированным. РџРѕ данным РЅР° конец 90-С… РіРѕРґРѕРІ прошлого столетия количество программистов, использующих для СЃРІРѕРёС… разработок VISUAL BASIC, РЅРµ уступает числу сторонников VISUAL C++ Рё DELPHI.Р’ 1985 РіРѕРґСѓ лаборатория Bell Labs (РЎРЁРђ) сообщила Рѕ создании языка программирования C++ (РЎР++). Ртот язык является сегодня наиболее популярным среди языков объектно-ориентированного программирования. РЎ его помощью возможно создание программных приложений, ориентированных РЅР° любые машины - РѕС‚ персональных РґРѕ суперкомпьютеров. Создателем языка является Бьорн Страуструп.Представителем языков объектно-ориентированного программирования является Рё язык JAVA, созданный РІ 1995 РіРѕРґСѓ РїРѕРґ руководством Джеймса Гослинга РіСЂСѓРїРїРѕР№ инженеров компании Sun Microsystems. РџСЂРё его разработке была поставлена цель - создать простой язык, РЅРµ требующий специального изучения. Язык JAVA был разработан так, чтобы быть максимально похожим РЅР° C++. JAVA является идеальным инструментом РїСЂРё создании приложений для Рнтернета.
bukvasha.ru
Министерство образования РФ
Предмет:информатика
Тема:Рстория языков программирования.
Ассемблер.
Выполнила: ученица 11__класса,
средней школы №62
____________________
Проверила: преподаватель
средней школы №62
Кулешова Н.Г.
Прокопьевск 2002
Лист
Для чего нужен язык программирования? | 5 |
Машинные языки, языки ассемблера и | 12 |
языки высокого уровня | |
Рстория языка РЎ | 14 |
Заключение | 15 |
Список использованной литературы | 16 |
С увеличением объёма вычислений появился первый счётный переносной инструмент - “Счёты”.
В начале 17 века возникла необходимость в сложных вычислениях. потребовались счётные устройства, способные выполнять большой объём вычислений с высокой точностью. В 1642 г. французский математик Паскаль сконструировал первую механическую счётную машину - “Паскалину”.
В 1830 г. английский учёный Бэбидж предложил идею первой программируемой вычислительной машины (“аналитическая машина”). Она должна была приводиться в действие силой пара, а программы кодировались на перфокарты. Реализовать эту идею не удалось, так как было не возможно сделать некоторые детали машины.
Первый реализовал идею перфокарт Холлерит. Он изобрёл машину для обработки результатов переписи населения. В своей машине он впервые применил электричество для расчётов. В 1930 г. американский учёный Буш изобрел дифференциальный анализатор - первый в мире компьютер.
Большой толчок в развитии вычислительной техники дала вторая мировая война. Военным понадобился компьютер, которым стал “Марк-1” - первый в мире цифровой компьютер, изобретённый в 1944 г. профессором Айкнем. В нём использовалось сочетание электрических сигналов и механических приводов. Размеры: 15 X 2,5 м., 750000 деталей. Могла перемножить два 23-х разрядных числа за 4 с.
Р’ 1946 Рі. РіСЂСѓРїРїРѕР№ инженеров РїРѕ заказу военного ведомства РЎРЁРђ был создан первый электронный компьютер - “Рниак”. Быстродействие: 5000 операций сложения Рё 300 операций умножения РІ секунду. Размеры: 30 Рј. РІ длину, объём - 85 Рј3., вес - 30 тонн. Рспользовалось 18000 СЌР». ламп.
Первая машина СЃ С…СЂРѕРЅРёРјРѕР№ программой - ”Рдсак” - была создана РІ 1949 Рі., Р° РІ 1951 Рі. создали машину “
Юнивак” - первый серийный компьютер с хронимой программой. В этой машине впервые была использована магнитная лента для записи и хранения информации
Для чего нужен язык программирования?
Компьютеpы появились очень давно в нашем миpе, но только в последнее вpемя их начали так усиленно использовать во многих отpаслях человеческой жизни. Ещё десять лет назад было редкостью увидеть какой-нибудь персональный компьютер — они были, но были очень дорогие, и даже не каждая фирма могла иметь у себя в офисе компьютер. А теперь? Теперь в каждом третьем доме есть компьютер, который уже глубоко вошёл в жизнь самих обитателей дома.
Сама идея создания искусственного интеллекта появилась давным давно, РЅРѕ только РІ 20 столетии её начали приводить РІ исполнение. Сначала появились огромные компьютеры, которые были подчастую размером СЃ огромный РґРѕРј. Рспользование таких махин, как РІС‹ сами понимаете, было РЅРµ очень СѓРґРѕР±РЅРѕ. РќРѕ что поделаешь? РќРѕ РјРёСЂ РЅРµ стоял РЅР° РѕРґРЅРѕРј месте эволюционного развития — менялись люди, менялась РёС… Среда обитания, Рё вместе СЃ ней менялись Рё сами технологии, РІСЃС‘ больше совершенствуясь. Ркомпьютеры становились РІСЃС‘ меньше Рё меньше РїРѕ СЃРІРѕРёРј размерам, РїРѕРєР° РЅРµ достигли сегодняшних размеров.
Но человеку ведь тоже надо как-нибудь общаться с машиной — ведь кому нужна неуправляемая машина? Сначала люди вели своё общение с компьютерам посредством перфокарт. Перфокарты — это небольшие карточки, на которые нанесены ряды цифр. У компьютера имелся “дисковод”, в который вставлялись сами карты и он при помощи маленьких иголочек ставил дырочки на цифрах. Такое общение мало кому доставляло удовольствие — ведь не очень удобно таскать с собой кучи перфокарт, которые после одного использования приходилось выбрасывать.
РќРѕ, как Рё РґСЂСѓРіРёРµ технологии, процесс общения человека СЃ искусственным интеллектом претерпел РєРѕРµ-какие изменения. Теперь человек РїСЂРѕРІРѕРґРёС‚ СЃРІРѕСЋ беседу СЃ компьютером РїСЂРё помощи клавиатуры Рё мышки. Рто довольно СѓРґРѕР±РЅРѕ Рё РёРЅРѕРіРґР° даже доставляет удовольствие человеку.
Современные вычислительные машины представляют РѕРґРЅРѕ РёР· самых значительных достижений человеческой мысли, влияние которого РЅР° развитие научно-технического прогресса трудно переоценить. Области применения РР’Рњ непрерывно расширяются. Ртому РІ значительной степени способствует распространение персональных РР’Рњ, Рё особенно РјРёРєСЂРѕРР’Рњ.
Р—Р° время, прошедшее СЃ 50-С… РіРѕРґРѕРІ, цифровая РР’Рњ превратилась РёР· “волшебного”, РЅРѕ РїСЂРё этом РґРѕСЂРѕРіРѕРіРѕ, уникального Рё перегретого нагромождения электронных ламп, РїСЂРѕРІРѕРґРѕРІ Рё магнитных сердечников РІ небольшую РїРѕ размерам машину - персональный компьютер - состоящий РёР· миллионов крошечных полупроводниковых РїСЂРёР±РѕСЂРѕРІ, которые упакованы РІ небольшие пластмассовые коробочки.
В результате этого превращения компьютеры стали применяться повсюду. Они управляют работой кассовых аппаратов, следят за работой автомобильных систем зажигания, ведут учёт семейного бюджета, или просто используются в качестве развлекательного комплекса… Но это только малая часть возможностей современных компьютеров. Более того, бурный прогресс полупроводниковой микроэлектроники, представляющей собой базу вычислительной техники, свидетельствует о том, что сегодняшний уровень как самих компьютеров, так и областей их применения является лишь слабым подобием того, что наступит в будущем.
Компьютеры начинают затрагивать жизнь каждого человека. Если вы заболеете, и если вас направят в больницу, то попав туда, в окажетесь в мире, где от компьютеров зависят жизни людей (в части современных больниц вы даже встретите компьютеров больше, чем самих пациентов, и это соотношение будет со временем расти, перевешивая число больных). Постепенно изучение компьютерной техники пытаются вводить в программы школьного обучения как обязательный предмет, чтобы ребёнок смог уже с довольно раннего возраста знать строение и возможности компьютеров. А в самих школах (в основном на западе и в Америке) уже многие годы компьютеры применялись для ведения учебной документации, а теперь они используются при изучении многих учебных дисциплин, не имеющих прямого отношения к вычислительной технике. Даже в начальной школе компьютеры внедряются для изучения курсов элементарной математики и физики. Сами микропроцессоры получили не менее широкое распространение чем компьютеры — они встраиваются в кухонные плиты для приготовления пищи, посудомоечные машины и даже в часы.
Очень широкое распространение получили игры, построенные на основе микропроцессоров. Сегодня игровая индустрия занимает очень большую часть рынка, постепенно вытесняя с него другие развлечения детей. Но для детского организма очень вредно сидеть часами за монитором и отчаянно нажимать на клавиши, так как у ребёнка может развиться своеобразная болезнь — когда у него только одно на уме - компьютер, и больше ничего. Дети с такой болезнью обычно становятся агрессивными, если их начинают ограничивать в доступе к играм. У таких детей сразу пропадает какое-либо желание делать что-то, что не относится к компьютеру и что им не интересно — так они начинают забрасывать свою учёбу, что ведёт к не очень хорошим последствиям.
Уже сейчас компьютеры могут чётко произносить различные фразы, словосочетания, проигрывать музыку и.т.д. Человек теперь может сам записать какие-нибудь слова, предложения и даже музыкальные композиции на своём компьютере для того, чтобы потом компьютер мог их воспроизводить в любое назначенное время.
Компьютеры способны также воспринимать устную речь в качестве сигналов, однако им приходится выполнять большую работу по расшифровке услышанного, если форма общения жестко не установлена. Ведь одну и ту же команду один и тот же человек может произнести несколькими способами, и всё время эта команда будет звучать по-разному; а в целом мире — миллиарды людей, и каждый произносит одну и ту же команду несколькими различными способами. Поэтому в данное время довольно сложно создать компьютер, который будет управляться при помощи голоса человека. Многие фирмы пытаются решить эти проблемы. Некоторые фирмы делают небольшие шажки на пути к данной цели, но всё равно эти шажки пока ещё почти незаметные.
РќРѕ проблема распознавания речи является частью более широкой проблемы, называемой распознаванием образов. Если компьютеры СЃРјРѕРіСѓС‚ хорошо распознавать образы, РѕРЅРё Р±СѓРґСѓС‚ СЃРїРѕСЃРѕР±РЅС‹ анализировать рентгенограммы Рё отпечатки пальцев, Р° также выполнять РјРЅРѕРіРёРµ РґСЂСѓРіРёРµ полезные функции (сортировкой писем РѕРЅРё занимаются уже сейчас). Следует заметить, что человеческий РјРѕР·Рі прекрасно справляется СЃ распознаванием образов даже РїСЂРё наличии различных шумов Рё искажений, Рё исследования РІ этой области, направленные РЅР° приближение соответствующих возможностей компьютера Рє способностям человека, представляются весьма перспективными. Если компьютеры СЃРјРѕРіСѓС‚ достаточно качественно распознавать речь Рё отвечать РЅР° неё РІ словесной форме, то, РїРѕ-РІРёРґРёРјРѕРјСѓ, станет возможным вводить РІ РЅРёС… РІ этой форме программы Рё данные. Рто позволит РІ буквальном смысле слова говорить компьютеру, что РѕРЅ должен делать, Рё выслушивать его мнение РїРѕ этому РїРѕРІРѕРґСѓ РїСЂРё условии, конечно, что выдаваемые ей указания чёткие, РЅРµ содержат противоречий Рё.С‚.Рґ.
Устное общение с компьютерами позволит упростить его программирование, однако остаётся нерешённая проблема, на каком именно языке следует с ним общаться. Многие предлагают для этих целей английский язык, но он не обладает точностью и однозначностью, необходимыми с точки зрения компьютера и исполняемых в нём программ. В этой области уже многое сделано, но ещё много предстоит сделать.
Мы часто жалуемся, что другие люди не понимают нас; но пока и сами персональные компьютеры не способны до конца понять нас, или понять, что мы хотим сказать с полуслова. Рв течение какого-то периода времени нам придётся довольствоваться такими машинами, которые просто следуют нашим указаниям, исполняя их “с точностью до миллиметра”.
Для общения СЃ компьютерами, ещё РІРѕ времена перфокарт, тогдашние программисты использовали язык программирования, очень похожий РЅР° современный Ассемблер. Рто такой язык, РіРґРµ РІСЃРµ команды, поступающие Рє компьютеру пишутся РїРѕРґСЂРѕР±РЅРѕ РїСЂРё помощи специальных слов Рё значков{?}.
В наше время усиленно используются языки программирования более высокого уровня, работать с которыми намного легче чем с Ассемблером, так как в них одно слово может заменять сразу несколько команд. Рпритом большинство языков программирования высокого уровня в названиях команд, используемых при общении с компьютером, используют эквиваленты, названные на английском языке, что, естественно, облегчает программирование. Но в них есть один минус по сравнению с языками, подобными Ассемблеру — в Ассемблере все команды, поступаемые из программы чётко распределяются в памяти компьютера, занимая свободные места, тем самым значительно выигрывая в скорости; а языки высокого уровня не умеют этого, соответственно теряя в скорости исполнения программы. А в нашем сегодняшнем мире всем известно, что: “Время — деньги”.
Хотя, пока компьютер уступает человеку с точки зрения творческой деятельности, потому что машина не наделена пока такими качествами, которые смогли бы ей помочь создать что-нибудь новое, что не введено в её память самим человеком.
Боьшинство людей, по-видимому, считают, что термины “вычислительная машина” и “вычислительная техника” синонимами и связывают их с физическим оборудованием, как, например, микропроцессором, дисплеем, дисками, принтерами и другими истройствами, привлекающими внимание людей, когда человек видит компьютер. Хотя эти устройства и важны, всё-таки они составляют только “верхушку айсберга”. На начальном этапе использованаия современного компьютера мы имеем дело не с самим компьютером, а с совокупностью правил, называемых языками программироваания, на которых указываются действия, которые должен выполнять компьютер. Важное значение языка программирования подчёркивается тем фактом, что сама вычислительная машина может рассматриваться как аппаратный интерпретатор какого-нибудь конкретного языка, который называется машинным языком. Для обеспечения эффективной работы машины разработаны машинные языки, использование которых представляет известные трудностидля человека. Большинство пользователей не чувствуют этих неудобств благодаря наличию одного или нескольких языков, созданных для улучшения связи человека с машиной. Гибкость вычислительной машины проявляется в том, что она может исполнять программы-трансляторы (в общем случае онм называются компиляторами или интерпретаторами) для преобразования программ с языков, ориентированных на пользователей, в программы на машинном языке. (В свою очередь даже сами программы, игры, системные оболочки являются ни чем иным, как довольно простая программа-транслятор, которая по мере работы, или игры обращается при помощи своих команд к “компьютерным внутренностям и наружностям”, транслиуя свои команды в машинные языки. Рвсё это происходит в реальном времени.)
Машинные языки, языки ассемблера и
языки высокого уровня
Программисты пишут программы на различных языках программирования, некоторые из которых непосредственно понятны компьютеру, а другие нуждаются в промежуточной стадии трансляции. Сотни имеющихся языков могут быть подразделены на три общих типа:
1. Машинные языки
2. Ассемблерные языки
3. Языки высокого уровня.
Каждый компьютер может понимать только свой машинный язык, который является естественным языком конкретного компьютера. Он тесно связан с его аппаратной частью. Машинные языки в общем случае состоят из последовательностей чисел (обычно нулей и единиц), которые являются командами на выполнение одиночных элементарных операций. Машинные языки являются машинно- зависимыми, т.е. конкретный машинный язык может быть использован только с определенным типом компьютера. Машинные языки неудобны для восприятия человеком.
По мере распространения компьютеров становилось очевидным, что программирование на машинных языках тормозит развитие компьютерной техники, является очень медленным и для большинства программистов непосильным занятием. Вместо последовательности чисел, непосредственно понятных компьютеру, программисты для представления элементарных операций стали применять англоязычные аббревиатуры, которые и сформировали основу языков ассемблера. Для преобразования программ, написанных на таких языках, в машинный язык были разработаны программы-трансляторы, называемыеассемблерами. Преобразование происходило со скоростью, равной быстродействию компьютера. С появлением языков ассемблера использование компьютеров значительно расширилось, однако все еще требовалось написание большого количества инструкций даже для реализации решения простейших задач. Для ускорения процесса программирования были разработаны языки высокого уровня, в которых для выполнения сложных действий достаточно написать один оператор. Программы для преобразования последовательности операторов на языке высокого уровня в машинный язык называются компиляторами. В языках высокого уровня инструкции, написанные программистами, зачастую выглядят как обычный текст на английском языке с применением общепринятых математических знаков.
Одним из языко высокого уровня является язык программирования С.
Язык с берет свое начало от двух языков, BCPL и B. В 1967 году Мартин Ричардс разработал BCPL как язык для написания системного программного обеспечения и компиляторов. В 1970 году Кен Томпсон использовал В для создания ранних версий операционной системы UNIX на компьютере DEC PDP-7. как в BCPL, так и в В переменные не разделялись на типы- каждое значение данных занимало одно слово в памяти и ответственность на различение, например, целых и действительных чисел целиком ложилась на плечи программиста.
Язык РЎ был разработан (РЅР° РѕСЃРЅРѕРІРµ Р’) Деннисом Ричи РёР· Bell Laboratories Рё впервые был реализован РІ 1972 РіРѕРґСѓ РЅР° компьютере DEC PDP-11. Рзвестность РЎ получил РІ качестве языка РћРЎ UNIX. Сегодня практически РІСЃРµ основные операционные системы были написаны РЅР° РЎ Рё/ или РЎ++. РџРѕ прошествии РґРІСѓС… десятилетий РЎ имеется РІ наличии РЅР° большинстве компьютеров. РћРЅ РЅРµ зависит РѕС‚ аппаратной части.
В конце 70-х годов С превратился в то, что мы называем «традиционный С». В 1983 году Американским комитетом национальных стандартов в области компьютеров и обработке информации был учрежден единый стандарт этого языка.
1. Том Сван “Освоение Turbo Assembler”, Диалектика, Киев, 1996 г.
2. Березин Р‘.Р., Березин РЎ.Р‘. “Начальный РєСѓСЂСЃ программирования”, Диалог РњРР¤Р, РњРѕСЃРєРІР°, 1996 Рі.
3. Лекции Комлевой Нины Викторовны по предмету “Языки программирования и методы трансляции”
4.РҐ.Рњ.Дейтел, Как программировать РЅР° РЎ, Рздательство Бином, РњРѕСЃРєРІР°, 2000 Рі.
superbotanik.net
Реферат на тему:
Рта статья описывает важнейшие этапы РІ истории развития языков программирования. Р—Р° деталями обратитесь Рє хронологии языков программирования.
Первые программы заключались в установке ключевых переключателей на передней панели вычислительного устройства. Очевидно, таким способом можно было составить только небольшие программы.
С развитием компьютерной техники появился машинный язык, с помощью которого программист мог задавать команды, оперируя с ячейками памяти, полностью используя возможности машины. Однако использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Поэтому от его использования пришлось отказаться.
Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающие наличие и типы ошибок, которые надо анализировать.
«Слова» на машинном языке называются инструкции, каждая из которых представляет собой одно элементарное действие для центрального процессора, такое, например, как считывание информации из ячейки памяти.
Каждая модель процессора имеет свой собственный набор машинных команд, хотя большинство из них совпадает. Если Процессор А полностью понимает язык Процессора Б, то говорится, что Процессор А совместим с Процессором Б. Процессор Б будет называться не совместимым с Процессором А если А имеет команды, не распознаваемые Процессором Б.
РќР° протяжении 60-С… РіРѕРґРѕРІ запросы РЅР° разработку программного обеспечения возросли Рё программы стали очень большими. Люди начали понимать, что создание программного обеспечения – гораздо более сложная задача, чем РѕРЅРё себе представляли. Рто привело Рє тому, что было разработано структурное программирование. РЎ развитием структурного программирования следующим достижением были процедуры Рё функции. Рљ примеру, если есть задача, которая выполняется несколько раз, то ее можно объявить как функцию или процедуру Рё РІ выполнении программы просто вызывать ее. Общий РєРѕРґ программы РІ данном случае становится меньше. Функции позволяют создавать модульные программы.
Следующим достижением было использование структур, благодаря которым перешли Рє классам. Структуры – это составные типы данных, построенные СЃ использованием РґСЂСѓРіРёС… типов. Например, структура время. Р’ нее РІС…РѕРґРёС‚: часы, минуты, секунды. Программист РјРѕРі создать структуру время Рё работать СЃ ней, как СЃ отдельной структурой. Класс – это структура, которая имеет СЃРІРѕРё переменные Рё функции, которые работают СЃ этими переменными. Рто было очень большое достижение РІ области программирования. Теперь программирование можно было разбить РЅР° классы Рё тестировать РЅРµ РІСЃСЋ программу, состоящую РёР· 10’000 строк РєРѕРґР°, Р° разбить программу РЅР° 100 классов, Рё тестировать каждый класс. Рто существенно облегчило написание программного продукта.
В случае, когда нужно иметь эффективную программу, вместо машинных языков используются близкие к ним машинно-ориентированные языки — ассемблеры. Люди используют мнемонические команды взамен машинных команд.
Но даже работа с ассемблером достаточно сложна и требует специальной подготовки.
Например, для процессора Zilog Z80 машинная команда 00000101 предписывает процессору уменьшить на единицу свой регистр B. На языке ассемблера это же будет записано как DEC B.
Следующий шаг был сделан РІ 1954 РіРѕРґСѓ, РєРѕРіРґР° был создан первый язык высокого СѓСЂРѕРІРЅСЏ — Фортран (англ.В FORTRAN - FORmula TRANslator). Языки высокого СѓСЂРѕРІРЅСЏ имитируют естественные языки, используя некоторые слова разговорного языка Рё общепринятые математические символы. Рти языки более СѓРґРѕР±РЅС‹ для человека, СЃ помощью РЅРёС…, можно писать программы РґРѕ нескольких тысяч строк длиной. Однако легко понимаемый РІ коротких программах, этот язык становился нечитаемым Рё трудно управляемым, РєРѕРіРґР° дело касалось больших программ. Решение этой проблемы пришло после изобретения языков структурного программирования (англ.В structured programming language), таких как Алгол(1958), Паскаль(1970), РЎРё(1972).
Структурное программирование предполагает точно обозначенные управляющие структуры, программные блоки, отсутствие инструкций безусловного перехода (GOTO), автономные подпрограммы, поддержка рекурсии и локальных переменных.
Суть такого подхода заключается в возможности разбиения программы на составляющие элементы.
Также создавались функциональные (аппликативные) языки (Пример: Lisp — англ. LISt Processing, 1958) и логические языки (пример: Prolog — англ. PROgramming in LOGic, 1972).
Хотя структурное программирование, при его использовании, дало выдающиеся результаты, даже оно оказывалось несостоятельным тогда, когда программа достигала определенной длины. Для того чтобы написать более сложную (и длинную) программу, нужен был новый подход к программированию.
В итоге в конце 1970-х и начале 1980-х были разработаны принципы объектно-ориентированного программирования. ООП сочетает лучшие принципы структурного программирования с новыми мощными концепциями, базовые из которых называются инкапсуляцией, полиморфизмом и наследованием.
Примерами объектно-ориентированных языков являются Object Pascal, C++, Java и др.
ООП позволяет оптимально организовывать программы, разбивая проблему на составные части, и работая с каждой по отдельности. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути, описывает часть мира, относящуюся к этой задаче.
11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000
wreferat.baza-referat.ru