Автор: Пользователь скрыл имя, 13 Ноября 2011 в 09:02, реферат
Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко.
1.Введение
1.1. Интерпретаторы
1.2. Компиляторы
2. Классификация языков программирования
2.1. Машинно – ориентированные языки
2.1.1. Машинные языки
2.1.2. Языки символического кодирования
2.1.3. Автокоды
2.1.4. Макрос
2.2. Машинно – независимые языки
2.2.1. Машинно – независимые языки
2.2.2. Универсальные языки
2.2.3. Диалоговые языки
2.2.4. Непроцедурные языки
3. Развитие языков программирования
3.1. Ассемблер
3.2. Лисп
3.4. Бейсик
3.5. Рефал
3.6. Пролог и Пролог++
3.7. Лекс
3.8. Си
3.8.1. Особенности языка Си
3.8.2. Недостатки языка Си
3.9. Си++
3.9.1. Замечание по проекту языка Си++
4. Заключение
5. Библиография
При разработке операционной системы UNIX использовался язык BCPL (1967), и языки которые были созданы на его основе: B (1968) и его переработанная версия - C (1971).
Если говорить о других языках повлиявших на историю развития программирования, то в 1969-ом появился язык Forth и SmallTalk (в последнем заметно влиянием Lisp). Затем, уже в через год, разработан язык логики Prolog и процедурный язык Pascal.
С момента когда появился первый язык программирования высокого уровня программисты могли создавать программы длиной до нескольких тысяч строк. Однако когда дело доходило до больших программ, код становился совершенно нечитаемым и трудно управляемым. Избавление от таких неструктурированных программ пришло с появлением языков структурного программирования. И на сегодня это привело к тому,что все современные языки являются структурными.
Структурное программирование
подразумевает точно
У программистов стояли каждый раз новые задачи, и для решения каждой задачи изучать новый язык программирования было просто неразумно. Большее предпочтение отдавалось универсальным языкам программирования, способным предоставлять эффективный инструментарий для решения разнообразных задач. Не удивительно что все современные реализации широко распространенных языков обладают сходными характеристиками: начиная от скорости написания программ и кончая производительностью полученного кода.
В написании эффективных
многоцелевых языков пробуют использовать
различные техологии
В 1978-ом появился стандарт C от Кернигана и Ритчи, появляется и AWK, унаследовавший кое-что от С. Под влиянием популярности Pascal в 1979-ом появились языки Modula 2 и ADA.
В 1983-ем появляется ML -прародитель таких языков как O'Caml и Standard ML, небезызвестный С++ задумывается именно в этом году, совершенствуются другие языки (ADA'83, Prolog II).
В 1987-ом принят в качестве стандарта ADA ISO, создатель языка Pascal со своим коллегой недовольны малым вниманием к европейским языкам программирования и выпускают на рынок Oberon - операционную систему нового поколения (здесь язык является частью компонентной ОС). В том-же году появляются объектно-ориентированный язык OO Forth, стабильная версия Perl 1.0(гибрид sh и awk), появился Caml.
В 1988-ом уже существовал Modula 3 и Perl 2.0. В 1989-ом: Tcl , ANSI C (C89), Perl 3.0, bash. В 1990-м: Scheme IEEE, ISO C (C90), SML'90. В 1991-ом: Fortran'90 ISO, Python , Java, Perl 4.0, NetRexx, Tcl/Tk. В 1992-ом разработан язык принтеров - PostScript level 2, появился фактический стандарт языка Oberon-2. В 1994-ом: Perl 5.0, Common Lisp ANSI. В 1995-ом: ADA'95, Delphi, Java 1. В 1996-ом: PostScript level 3, APL'96, ISO C (C95), Objective Caml. 1997-ой - довольно богатый на языки год: Object Rexx, Prolog IV, OO Cobol, Modula 2 ISO, SML'97. Также компания Oberon Мicrosystems внесла в Oberon-2 небольшие дополнения и разработав коммерческий компилятор промышленного уровня выпустила его в свет под названием Component Pascal.
Уже заметно что
с усложнением структуры
В 1998-ом году утвержден стандарт на C++ ANSI/ISO, Java 2 (v1.2), O'Caml 2. Впрочем круглая дата и у функционального языка Haskell'98 .
В 1999-ом ничего существенного не появилось. Как обычно затачивались такие языки как TCL/TK 8.1, Python 1.5.2, Delphi 5, ISO C (C99), NetRexx 1.150.
А вот в 2000-ом году у появившегося к тому моменту Java 2(v1.3) появился конкурент - C#. Появилась по-моему самая стабильная из существовавших версия Perl 5.6. Затачивается получивший широкое распространение в Европе функциональный, объектно-ориентированный язык O'Caml 3.
В 1990-х годах модно везде где это возможно добавлять визуальные средства разработки. К таким системам можно отнести такие системы проектирования как AutoCAD, системы лабораторных изследований LabView, MATLAB, математический пакет Maple. Все они являются лидерами в своей области (хотя и не монополии; ;-) ).
В среде системных программистов визуальный интерфейс получил свой современный вид в основном благодаря противостоянию в 1990-ых с Microsoft фирм Borland и Watcom, которое как вылилось в появление семейств языков Microsoft Visual Studio, ставшего мощнейшим инструментом в руках Microsoft для пропаганды миграции на платформу Windows, и разрозненного множества систем от Borland(что лишь усиливало бражение в умах пользователей), - таких сред как Delphi, Kylix, СBuilder и JBuilder. Кроме того флагманским продуктом Borland провозглашается все-таки система, основанная на довольно старом языке Object Pascal - Delphi(кроме Borland, Object Pascal никто так широко не использует).
Короче Microsoft добилась своего. Осталась помеха в виде Java 2, против которого начинает "крестовый поход" язык нового поколения - C#.
Хотя среди всевозможных
мыльных пузырей затерялся
Будущее пренадлежит
кроссплатформенным инструментам разработки,
и к ним можно отнести
Основные причины их популярности следующие:
1. низкая цена;
2. доступность исходных кодов;
3. простота программирования;
4. поддержка большинства
По сравнению с библиотеками тех же Borland, Microsoft или Sun у wxWindows история побогаче будет(первая версия появилась еще в 1993-ем). В отличии от других библиотек подобного типа в поставку wxWindows входят не бесполезные примеры одноразового применения, а довольно редкие(на мой взгляд) программы. Например есть конвертер документов из формата TeX в RTF.
Разумеется совершенствование
систем программирования сегодня и
в России не останавливается. Мое
внимание привлекли материалы
Главным фактором качества, определяющим уверенность пользователя программного обеспечения, не может являться какая-либо однократная проверка (тестирование, инспекция кода или нечто подобное). Гарантию качества дает совокупность мер по организации взаимодействия разработчиков, совместного использования и разработки программ, документов и др. что в целом и определяет уровень зрелости организации- и группы-производителя ПО. Внедрении в процесс разработки организационных процедур и средств управления конфигурациями ПО (проблем структуризации и хранения программных материалов).
В Институте прикладной математики им. М.В.Келдыша РАН в ходе исследований и разработки средств поддержки разработчикам ПО для крупных управляющих систем реального времени разработан подход иерархического конфигурационного управления(ИКУ), который позволил решить следующие задачи:
1. разработать
независимое от языка
2. обеспечить
поддержку откатов и
3. автоматизировать
поддержку сборки
4. обеспечить
целостность контролируемых
Последнее время высока популярность WWW-программирования . Языки WWW-программирования обладают рядом свойств, которые позволяют использовать их на платформе, специализированной для работы в качестве сервера. Чаще всего это интерпретаторы (такие как Perl, PHP) позволяющие использовать их на стороне сервера, или языки поддерживаемые клиентом(браузеры) - HTML, XML, Java, JavaScript, или специальные модули(plug-in), расширяющие клиента - Flash.
PHP (Hypertext Preprocessor - Препроцессор Гипертекста)– это широко используемый язык сценариев общего назначения с открытым исходным кодом.
PHP - язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере. Синтаксис языка во многом основывается на синтаксисе C, Java и Perl. Он очень похож на С и на Perl, поэтому для профессионального программиста не составит труда его изучить. С другой стороны, язык PHP проще, чем C, и его может освоить веб-мастер, не знающий пока других языков программирования.
Огромным плюсом PHP, в отличие от, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. PHP не зависит от скорости компьютера пользователя или его браузера, он полностью работает на сервере. Пользователь даже может не знать, получает ли он обычный HTML-файл или результат выполнения скрипта.
Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.
PHP способен генерировать и преобразовывать не только HTML документы, но и изображения разных форматов - JPEG, GIF, PNG, файлы PDF и FLASH. PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.
PHP - кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS и многих других. PHP поддерживается на большинстве вебсерверов, таких, как Apache, Microsoft Internet Information Server (IIS), Microsoft Personal Web Server и других.
Для большинства серверов PHP поставляется в 2-х вариантах - в качестве модуля и в качестве CGI препроцессора.
PHP поддерживает работу с ODBC и большое количество баз данных: MySQL, MSQL, Oracle, PostgreSQL, SQLite и др.
Язык программирования PHP, особенно в связке с популярнейшей базой данных MySQL - оптимальный вариант для создания интернет-сайтов различной сложности.
Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминирование в области языков web -программирования.
Информация о работе Языки программирования, их классификация и развитие