Автор работы: Пользователь скрыл имя, 02 Октября 2011 в 18:18, реферат
До середины 60-х компьютеры были слишком дорогими машинами, использовавшимися только для особых задач, и выполнявшими только одну задачу за раз.
Языки программирования этой эры, как и компьютеры на которых они использовались, были разработаны для специфичных задач, таких как научные вычисления. Поскольку машины были дорогими и медленными, то и машинное время было дорого – поэтому скорость выполнения программы стояла на первом месте.
Объектно-ориентированное программирование (ООП).Идея ООП заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое - объект. ООП основано на трех важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм.
Существуют и другие технологии программирования, о которых также следует немного сказать.
Прикладное программирование - разработка и отладка программ для конечных пользователей, например бухгалтерских, обработки текстов и т.п.
Системное программирование - разработка средств общего программного обеспечения, в том числе операционных систем, вспомогательных программ, пакетов программ общесистемного назначения, например: автоматизированных систем управления, систем управления базами данных и т.д.
Декларативное (логическое, продукционное) программирование - метод программирования, предназначенный для решения задач искусственного интеллекта. В указанном контексте программа описывает логическую структуру решения задачи, указывая преимущественно, что нужно сделать, не вдаваясь в детали, как это делается. Используются языки программирования типа Пролог.
Параллельное программирование - разработка программ, обеспечивающих одновременное (параллельное) выполнение операций, связанных с обработкой данных.
Процедурное (процедурно-
Функциональное программирование- метод программирования, основанный на разбиении алгоритма решения задачи на отдельные функциональные модули, а также описании их связей и характера взаимодействия. Для функционального программирования наиболее широко используются языки НОРЕ и ML. Элементы функционального программирования реализуются также другими языками, например Си.
Эвристическое
программирование - метод программирования,
основанный на моделировании мыслительной
деятельности человека. Используется
для решения задач, не имеющих строго формализованного
алгоритма или связанных с неполнотой
исходных данных.
2.Языки программирования
2.1
Понятие языка программирования
2.2
Классификация языков
Первые языки программирования были очень примитивными и мало чем отличались от формализованных упорядоченных последовательностей единиц и нулей, понятных компьютеру. Использование таких языков было крайне неудобно с точки зрения программиста, так как он должен был знать числовые коды всех машинных команд, должен был сам распределять память под команды программы и данные.
Для того, чтобы облегчить общение человека с ЭВМ были созданы языки программирования типа Ассемблер. Переменные величины стали изображаться символическими именами. Числовые коды операций заменились на мнемонические обозначения, которые легче запомнить. Язык программирования приблизился к человеческому языку, и отдалился от языка машинных команд.
Существуют различные классификации языков программирования. По наиболее распространенной классификации все языки программирования делят на языки низкого, высокого и сверхвысокого уровня.
В группу языков низкого уровня входят машинные языки и языки символического кодирования: (Автокод, Ассемблер). Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно-зависимыми.
Машинно-ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
Следующую,
существенно более
К языкам сверхвысокого уровня можно отнести лишь Алгол-68 и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов.
Другая
классификация делит языки на
В современной
информатике можно выделить два основных
направления развития языков программирования: процедурное
Процедурное программирование возникло на заре вычислительной техники и получило широкое распространение. В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.
Среди
процедурных языков выделяют в свою
очередь структурные и
Непроцедрное (
В функциональных языках пр
В логических языках програ
Можно
выделить еще один класс языков программирования - объектно-
Языки
описания сценариев, такие как Perl, Python,
Rexx, Tcl и языки оболочек UNIX, предполагают
стиль программирования, весьма отличный
от характерного для языков системного
уровня. Они предназначаются не для написания
приложения с нуля, а для комбинирования
компонентов, набор которых создается
заранее при помощи других языков. Развитие
и рост популярности Internet также способствовали
распространению языков описания сценариев.
Так, для написания сценариев широко употребляется
язык Perl, а среди разработчиков Web-страниц
популярен JavaScript.
3.Развитие языков программирования
Ассемблер.
Язык Ассемблера – это символическое представление
машинного языка. Он облегчает процесс
программирования по сравнению с программированием
в машинных_кодах.
Программисту не обязательно употреблять
настоящие адреса ячеек памяти с размещенными
в них данными, участвующими в операции,
и вычисляемые результаты, а также адреса
тех команд, к которым программа не обращается.
Некоторые задачи, например, обмен с нестандартными
устройствами обработки данных сложных
структур невозможно решить с помощью
языков программирования высокого уровня.
Это под силу ассемблеру.
В принципе, язык Ассемблер является машинным
языком. И программист реализующий какую-либо
задачу на языках высокого уровня, с помощью Ассемблера
может определить осмыслено ли решение
данной задачи, с точки_зрения_использования_ВМ.
Умея разобраться в распечатке языка ассемблера,
дает возможность облегчить поиск ошибок
в программах, т.к. некоторые языки являются
компиляторами.
Бейсик.
Как знаменитые гамбургеры, бейсбол и
баскетбол, Бейсик - это продукт Новой Англии.Бейсик,
созданный в 1964г., как язык обучения программированию. Бейсик
Вскоре как обучаемые, так и авторы программ
обнаружили, что Бейсик может делать практически
все то, что делает скучный, неуклюжий
Фортран. А так как Бейсику было легко обучиться
и легко с ним работать, программы на нем
писались обычно быстрее, чем на Фортране.
Бейсик был также доступен на персональных
компьютерах, обычно он встроен в ПЗУ.
Так Бейсик завоевал популярность. Интересно,
что спустя 20 лет после изобретения Бейсика,
он и сегодня самый простой для освоения
из десятков языков общецелевого программирования,
имеющихся в распоряжении любителей программирования.
Более того, он прекрасно справляется
с работой.
Несмотря на высказывания снобов - сторонников
языков Си и Паскаля, Бейсик
Исторически Бейсик обычно реализовался
как интерпретатор (знакомым изомером
является сам интерпретаторный Бейсик).
Причинами перехода от любительского
уровня к профессиональному являются
многочисленные расширения классической
версии языка: возможность отключения
нумерации строк, многостроковые структурированные
программные конструкции, структуры типа
"запись", поименованные подпрограммы
с параметрами и локальные переменные.
Более того, с появлением транслятора QuickBasic фирмы M
Рефал.
Несомненно надо рассказать и о некоторых
языках программирования созданных у
нас на родине. Один из таких языков является Рефал,
разработанный у нас в России (СССР), в
1966г. ИПМ АН СССР. Этот язык прост и удобен
для описания манипуляций над произвольными
текстовыми объектами.
Рефал широко применяется при разработке
трансляторов с алгоритмических языков
как универсальных и проблемно – ориентированных,
так и автокодов. Кроме использования
в задачах трансляции, Рефал имеет такие
важные сферы применения, как машинное
выполнение громоздких аналитических
выкладок в теоретической физике и прикладной
математике; проектирование «умных» информационных
систем, осуществляющих нетривиальную
логическую обработку информации; машинное
доказательство теорем; моделирование
целенаправленного поведения; разработка
диалоговых обучающих систем; исследования
в области искусственного интеллекта_и_т.п.
Программирование на Рефале имеет специфику,
связанную, прежде всего, с тем, что Рефал является
языком функционального типа в отличие
от обычных операторных языков типа Алгол, Фортран и
т.д.. Если программа на операторных языках
– ни что иное, как совокупность приказов-операторов,
то программа на Рефале представляет собой
по существу описание связей и отношений
между определенными__понятиями.
Вследствие того, что в Рефале программист
сам определяет структуру обрабатываемой
информации, эффективность программы
существенно зависит от удачного или неудачного
выбора этой структуры. Для задания структур
в Рефале используются скобки, а специфика
всех реализаций языка такова, что использование
скобок резко повышает эффективность
выполнения программы. Это достигается
с помощь_дресного_соединения_
Определенной спецификой обладают и переменные
типа «выражения» – имеется в виду их
способность удлиняться при отождествлении.
Правильное использование переменных
этого типа также позволяет значительно
повысить эффективность Рефал –
Cи.
Си – это язык программирования общего
назначения, хорошо известный своей эффективностью,
экономичностью, и переносимостью. Указанные
преимущества Си обеспечивают хорошее
качество разработки почти любого вида
программного продукта. Использование Си в
качестве инструментального языка позволяет
получать быстрые и компактные программы.
Во многих случаях программы, написанные
наСи, сравнимы по скорости с программами,
написанными на языке ассемблера. При
этом они имеют лучшую наглядность и их
более просто сопровождать. Си сочетает
эффективность и мощность в относительно
малом по размеру_языке.
Си – это замечательный язык, и хотя некоторым
он не нравится, но все же большинство
программистов его любят. На Си вы можете
создавать программы, которые делают все,
что вы пожелаете. Нет другого такого языка,
который бы так же стимулировал к программированию.
Создается впечатление, что остальные
языки программирования воздвигают искусственные
препятствия для творчества, а Си – нет.
Использование этого языка позволяет
сократить затраты времени на создание
работающих программ. Си позволяет программировать
быстро, эффективно и предсказуемо. Еще
одно преимущество Си заключается в том,
что он позволяет использовать все возможности
вашей ЭВМ. Этот язык создан программистом
для использования другими программистами,
чего о других языках программирования_сказать_