Файл: История развития программирования в России (Сущность языков программирования и история возникновения программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 83

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Далее Ruby (англ. Ruby— «Рубин») — динамический, рефлективный, интерпретируемый высокоуровневый язык программирования для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Rubyблизок по особенностям синтаксиса к языкам Perl и Eiffel, по Объектно-ориентированному подходу — к Smalltalk. Также некоторые черты языка взяты из Python, Лисп, Dylan и CLU.Платформенная реализация интерпретатора языка является полностью свободной.Язык использует простые соглашения для обозначения области видимости.

В языке Ruby реализован простой и удобный механизм для расширения языка с помощью библиотек, написанных на Си, позволяющий легко разрабатывать дополнительные библиотеки. Для унифицированного доступа к базам данных разработана библиотека 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.

Большинство расширений распространяются под свободными лицензиями (LGPL, лицензия Ruby) и могут быть использованы в любом проекте практически без ограничений.

Рисунок 3- Схема пересечения семантики языков программирования[3]

Хотя современные языки программирования похожи друг на друга, идентичность их далеко не полная. Каждый содержит конструкции, присущие только ему. Если мы попытаемся начертить схему пересечения семантики языков программирования, то можем получить изображение, приведенное на рисунке 3.

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

Таким образом, семантику каждого языка программирования можно условно поделить на «область пересечения» (конструкции общие для всех языков) и «область объединения» (конструкции специфические для данного языка).

ЗАКЛЮЧЕНИЕ

Данным написанным курсовой работе была изучена история возникновения программирования. В создании программы участвуют изначально участвовали машинные языки, потом ассемблеры, затем языки программирования высокого уровня и языки моделирования.

Языки программирования делятся на два вида: процедурное и непроцедурное. Процедурное программирование, в свою очередь, делится на операционное и структурное. К операционному относятся такие языки, как Ассемблеры, Фортран, Бейсик, Си. К структурному Паскаль, Модула.

Непроцедурное делится га объектное (Смолток, С++, Делфи) и декларативное, которое состоит из логического и функционального.

В настоящее время внедряются новейшие технологии, оборудования и ИКТ, которые способствуют дальнейшему повышению точности и оперативности краткосрочного и долгосрочного прогнозирования.

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

Если анализировать системы развития основных языков программирования, можно выделить следующие постоянно присутствующие, сменяющие друг друга тенденции:


• Выдвижение акцентов от частного (программирование деталей), к общему (программирование более крупных компонент);

• Формирование и совершенствование инструментария программиста (языков программирования высокого уровня и рабочей среды);

• Возрастание примитивности программных и информационных систем;

Если сделать вывод что в развитии языков программирования на данный момент является тенденция: языки программирования формируются в сторону все большей и большей абстракции от реальных машинных команд. К чему это приведет? К увеличению быстроты разработки программ, повышению уровня надежности программирования, сопровождающиеся при этом падением эффективности. Но это того стоит. С небольшой эффективностью можно бороться путем создания более быстрых компьютеров. Если требуется увеличить памяти машин, можно повышать ее объем. А это, перебивают времени и средств, но это решаемо. Также есть вариант исправлять ошибок в программах только одним способом: только их надо выправлять. А лучше — не совершать ошибку. Также максимально затруднить их совершение. И именно на это направлены все исследования в сферы языков программирования. А с потерей эффективности придется смириться.

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

Таким образом, можно определенно сказать, что наиболее перспективными являются языки программирования, приближенные к человеческой логике, которые позволят пользователям действительно общаться с компьютером.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ