Реферат: История языков программирования:. Реферат история программирования языков


История языков программирования - Реферат

Министерство образования РФ

Предмет: информатика

Реферат

Тема: История языков программирования.

Ассемблер.

Выполнила: ученица 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 г.

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

Реферат Краткая история развития языков программирования

скачать

Реферат на тему:

План:

Введение

Эта статья описывает важнейшие этапы в истории развития языков программирования. За деталями обратитесь к хронологии языков программирования.

1. Начало развития

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

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

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

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

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

На протяжении 60-х годов запросы на разработку программного обеспечения возросли и программы стали очень большими. Люди начали понимать, что создание программного обеспечения – гораздо более сложная задача, чем они себе представляли. Это привело к тому, что было разработано структурное программирование. С развитием структурного программирования следующим достижением были процедуры и функции. К примеру, если есть задача, которая выполняется несколько раз, то ее можно объявить как функцию или процедуру и в выполнении программы просто вызывать ее. Общий код программы в данном случае становится меньше. Функции позволяют создавать модульные программы.

Следующим достижением было использование структур, благодаря которым перешли к классам. Структуры – это составные типы данных, построенные с использованием других типов. Например, структура время. В нее входит: часы, минуты, секунды. Программист мог создать структуру время и работать с ней, как с отдельной структурой. Класс – это структура, которая имеет свои переменные и функции, которые работают с этими переменными. Это было очень большое достижение в области программирования. Теперь программирование можно было разбить на классы и тестировать не всю программу, состоящую из 10’000 строк кода, а разбить программу на 100 классов, и тестировать каждый класс. Это существенно облегчило написание программного продукта.

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

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

Но даже работа с ассемблером достаточно сложна и требует специальной подготовки.

Например, для процессора Zilog Z80 машинная команда 00000101 предписывает процессору уменьшить на единицу свой регистр B. На языке ассемблера это же будет записано как DEC B.

3. Структурное программирование

Следующий шаг был сделан в 1954 году, когда был создан первый язык высокого уровня — Фортран (англ. FORTRAN - FORmula TRANslator). Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека, с помощью них, можно писать программы до нескольких тысяч строк длиной. Однако легко понимаемый в коротких программах, этот язык становился нечитаемым и трудно управляемым, когда дело касалось больших программ. Решение этой проблемы пришло после изобретения языков структурного программирования (англ. structured programming language), таких как Алгол(1958), Паскаль(1970), Си(1972).

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

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

Также создавались функциональные (аппликативные) языки (Пример: Lisp — англ. LISt Processing, 1958) и логические языки (пример: Prolog — англ. PROgramming in LOGic, 1972).

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

4. ООП

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

Примерами объектно-ориентированных языков являются Object Pascal, C++, Java и др.

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

5. Пример записи программы на разных языках

5.1. Язык высокого уровня (Delphi)

5.2. Ассемблер x86 (сопроцессор)

fldpi fmul qword ptr [Y] fsin fld1 faddp st(1) fstp qword ptr [X]

5.3. Машинный код (шестнадцатеричное представление, каждая команда начинается с новой строки)

D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00

5.4. Машинный код (двоичное представление)

11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000

wreferat.baza-referat.ru


Смотрите также