- •Доклад
- •МОСКВА 2014
- •Введение. История развития языков программирования
- •Этапы развития
- •Ассемблер
- •Первые языки программирования высокого уровня
- •Язык программирования FORTRAN
- •ALGOL
- •LISP
- •COBOL
- •Basic
- •Pascal
- •Java
- •JavaScript
- •Ruby
- •Список литературы:
- •Краткая хронология истории языков програмирования
вызовов), он обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными, а применение высокоэффективных машинных языков слишком сложно из-за их ограниченной выразительности. Так, язык Симула имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно, а язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения.
Java
Язык Java произошел от языка программирования Oak (а не от C++, как думают многие). Oak был приспособлен для работы в Internet и затем переименован в Java.
Синтаксис Java близок к синтаксису языка C++. Унаследовав самое лучшее от языка программирования C++, язык Java при этом избавился от некоторых недостатков C++, в результате чего на нем стало проще программировать.
В этом языке нет, например, указателей, которые сложны в использовании и потенциально могут послужить причиной доступа программы к не принадлежащей ей области памяти. Нет множественного наследования и шаблонов, хотя функциональные возможности языка Java от этого не пострадали.
Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах. К сети Internet подключены компьютеры самых разных типов - Pentium PC, Macintosh, рабочие станции Sun и так далее. Даже в рамках компьютеров, созданных на базе процессоров Intel, существует несколько платформ, например, MicrosoftWindows версии 3.1, Windows 95, Windows NT, OS/2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой XWindows. Между тем, создавая сервер Web в сети Internet, хотелось бы, чтобы им могло пользоваться как можно большее число людей. В этом случае выручают приложения Java, предназначенные для работы на различных платформах и не зависящие от конкретного типа процессора и операционной системы.
13
JavaScript
Сам язык изобрел Brendan Eich (компания Netscape) и назвал его JavaScript. Впервые новый язык был использован в браузере NetscapeNavigator 2.0. После этого он стал использоваться во всех последующих браузерах от Netscape и во всех браузерах от Microsoft, начиная с InternetExplorer 3.0. Компания Microsoft по-своему развила идею, и дала своей версии языка более короткое название: JScript.
Далее, чтобы обеспечить совместимость версий языка независимых разработчиков, Генеральной Ассамблеей ECMA был создан стандарт. Этот стандарт основан на нескольких базовых технологиях, наиболее известными из которых являются упомянутые уже JavaScript (Netscape) и JScript (Microsoft).
Развитие этого Стандарта началось в ноябре 1996. Первое издание Стандарта ECMA было принято Генеральнаой Ассамблеей ECMA в июне 1997.
Данный ECMA Стандарт был представлен международной комиссии по стандартам ISO/IEC JTC 1 для принятия, и одобрен как международный эталон ISO/IEC 16262 в апреле 1998. Генеральная Ассамблея ECMA в июне 1998 одобрила второе издание ECMA-262, с сохранением всех требований.
Ruby
Ruby (англ. Ruby ['ɹu:bɪ] — «Рубин») — динамический, рефлективный, интерпретируемый высокоуровневый язык программирования для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по Объектно-ориентированному подходу — к Smalltalk. Также некоторые черты языка взяты из Python, Лисп, Dylan и CLU.
Платформенная реализация интерпретатора языка является полностью свободной.
Язык использует простые соглашения для обозначения области видимо-
сти.
В языке Ruby реализован простой и удобный механизм для расширения
14
языка с помощью библиотек, написанных на Си, позволяющий легко разрабатывать дополнительные библиотеки. Для унифицированного доступа к базам данных разработана библиотека Ruby DBI (поддерживает SQLite, Oracle, ODBC, MySQL, DB2, MS SQL, InterBase, ADO и др.). Также существуют библиотеки для конкретных баз данных, поддерживающих специфические для них операции. Для реализации ORM существуют несколько библиотек, такие как ActiveRecord, DataMapper или Sequel. Из графических библиотек следует отметить FxRuby — интерфейс к графической библиотеке FOX, графический пакет разработчика wxRuby (интерфейс к кроссплатформенному пакету wxWidgets на C++), QtRuby/Korundum — привязка к Qt и KDE соответственно, графические библиотеки для работы с Tk и Gtk. Также реализована библиотека для работы с OpenGL, позволяющая программировать трёхмерную графику.
Win32utils — позволяет обращаться к специфическим возможностям Win32 API.
Rmagick — библиотека для работы с изображениями, поддерживающая более 90 форматов (основана на ImageMagick и GraphicsMagick).
Библиотека Ruport (Rubyreports) предназначена для лёгкой реализации отчётов и создания диаграмм на основе данных из БД или прямо из текстовых файлов CSV. Причём результаты можно сохранять в форматах PDF, HTML, CSV и TXT.
RuTils — обработчик русского текста на Ruby. Позволяет реализовать сумму прописью и выбор числительного.
Например, 231.propisju(2) => «двести тридцать одна» или 341.propisju_items(1, «чемодан», «чемодана», чемоданов») => «триста сорок один чемодан». А также перевод в транслит и работу с датами.
Для управления библиотеками и программами Ruby в виде самодостаточных пакетов предназначена система управления пакетами RubyGems (англ. gems, gem — драгоценный камень).
Существует всемирный репозиторий программного обеспечения Ruby RAA (RubyApplicationArchive). Большое количество программного обеспечения, написанного на Ruby, пользуются хостингом проекта RubyForge, созданного специально с этой целью.
FreeRIDE — IDE для Ruby, реализованная с использованием библиотеки FxRuby.
15
