Языки программирования высокого уровня
Высокоуровневый язык программирования – язык программирования, разработанный с расчетом на быстроту и удобство использования программистом. Обычно под этим термином подразумеваются универсальные алгоритмические языки третьего поколения, однако сюда можно включить и некоторые языки четвертого поколения. Основная черта высокоуровневых языков – это абстракция, то есть использование смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описание которых на машинном коде (или другом низкоуровневом языке программирования) очень длинно и сложно для понимания.
Кроме того, высокоуровневые языки позволяют упростить перенос программного обеспечения между разными операционными системами. Это достигается использованием разнообразных трансляторов и интерпретаторов, в то время как исходный код остаётся неизменным.
Первым языком программирования высокого уровня считается язык Plankalkül, разработанный немецким инженером Конрадом Цузе в 1942-1946 гг. Однако транслятора для него не существовало вплоть до 2000 года. Поэтому первым компилируемым языком программирования высокого уровня является Fortran.
Язык Fortran создан в середине 50-х гг. группой программистов IBM. Название Fortran является сокращением от FORmula TRANslator (переводчик формул). Основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. В Фортране впервые был реализован ряд важнейших понятий программирования, но при этом удобство создания программ в целом было принесено в жертву возможности получения эффективного машинного кода.
Фортран широко используется в первую очередь для научных и инженерных вычислений. За почти шесть десятилетий на нем создано огромное количество программ и библиотек подпрограмм, начиная от статистических комплексов и заканчивая пакетами управления спутниками. Многие из современных АСНИ реализованы именно на Фортране.
Одной из причин такой живучести Фортрана является то, что он – жёстко стандартизированный язык, и поэтому легко переносится на различные платформы. Новые стандарты языка в значительной мере сохраняют преемственность с более старыми, что позволяет интенсивно использовать уже разработанные и отлаженные коды, а также модифицировать их.
Языков программирования высокого уровня существует множество. За десятилетия развития информационных технологий ставились различные задачи, для решения которых зачастую оптимальным вариантом было создание языка программирования, ориентированного на задачи подобного рода. Закономерно, что многие из языков по разным причинам не получили дальнейшего развития и сегодня не используются, а ряд других языков по сути определяет развитие информационной индустрии в настоящее время. Более того, новые языки часто создавались под влиянием уже существующих, а удачные идеи, появляющиеся в них, включались в обновления старых языков. Всего насчитывается более 5 тыс. языков программирования, большая часть которых уже нигде не используется.
Сегодня существует около 200 популярных языков программирования высокого уровня. Для оценки популярности часто используют индекс TIOBE. Он вычисляется на основе подсчета результатов поисковых запросов, содержащих название языка, по нескольким информационным системам, таким как Google, Wikipedia, Baidu и др.
Рассмотрим некоторые наиболее популярные языки программирования в порядке их популярности по состоянию на ноябрь 2012 г.
С
Си (англ. C) – стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би, из этого языка берут начало многие его особенности. Первоначально C не рассматривался как массовый, а планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. Си был создан для использования в операционной системе UNIX, но с тех пор перенесен на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си разрабатывался не для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков.
Для языка Си характерны лаконичность, современный набор конструкций управления потоком выполнения, структур данных и обширный набор операций. В 70-е годы на нем написано множество прикладных и системных программ, а также ряд операционных систем семейства Unix.
Java
Java – объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems, официально выпущен 23 мая 1995 года.
Язык разработан на основе языка Си++ с целью упрощения разработки приложений путем исключения из него всех низкоуровневых возможностей. Приложения Java обычно компилируются в специальный платформно-независимый байт-код, поэтому они могут работать на любой виртуальной Java-машине (Java Virtual Machine, JVM) независимо от компьютерной архитектуры, главное чтобы существовала соответствующая виртуальная машина. Важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
Внутри Java существуют три основных семейства технологий:
– J2EE или Java EE (начиная с v1.5) – Java Enterprise Edition, для создания программного обеспечения уровня предприятия;
– J2SE или Java SE (начиная с v1.5) – Java Standard Edition, для создания пользовательских приложений, в первую очередь – для настольных систем;
– J2ME, Java ME или Java Micro Edition, для использования в устройствах, ограниченных по вычислительной мощности, в том числе мобильных телефонах, PDA, встроенных системах
Самыми популярными считаются серверные технологии семейства J2EE.
Objective C
Objective-C, известный также как Objective C, ObjC или Obj-C – компилируемый объектно-ориентированный язык программирования корпорации Apple, построенный на основе языка Си и парадигм Smalltalk. Появился в 1986 г. Язык полностью совместим с Си.
Компилятор Objective-C входит в GCC и доступен на большинстве основных платформ. Язык используется в первую очередь для Mac OS X (Cocoa) и GNUstep – двух реализаций объектно-ориентированного стандарта операционной системы NeXTSTEP.
C++
C++ (Си++) – компилируемый статически типизированный язык программирования общего назначения, был разработан в начале 1980-х годов, стандартом стал в 1998 г. В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.
Наибольшее внимание в этом языке уделено поддержке объектно-ориентированного и обобщённого программирования. Концепция ООП появилась до этого языка, но приобрела популярность именно благодаря ему.
При создании C++ стремились сохранить совместимость с языком Си. Большинство программ на Си будут исправно работать и с компилятором C++. C++ имеет синтаксис, основанный на синтаксисе Си.
PHP
PHP (англ. PHP: Hypertext Preprocessor – «PHP: препроцессор гипертекста», англ. Personal Home Page Tools (устар.) – «Инструменты для создания персональных веб-страниц») – скриптовый язык программирования общего назначения, интенсивно применяющийся для разработки веб-приложений. Появился в 1994 году как специализированная версия языка Perl, но довольно быстро обособился. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.
C#
C# (произносится си-шарп) – объектно-ориентированный язык программирования. Разработан в 1998-2001 годах компанией Microsoft как основной язык разработки приложений для платформы Microsoft.NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде Visual Studio.
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.
Переняв многое от своих предшественников – языков C++, Java, Delphi, Модула и Smalltalk – С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).
BASIC
Бейсик (от BASIC, сокращение от англ. Beginner’s All-purpose Symbolic Instruction Code – универсальный код символических инструкций для начинающих; англ. basic – основной, базовый) – семейство высокоуровневых языков программирования. Был разработан в 1963 году профессорами Дартмутского колледжа Томасом Куртцем (Thomas E. Kurtz) и Джоном Кемени (John G. Kemeny).
Поначалу язык предназначался для обучения программированию и получил широкое распространение в виде различных диалектов, прежде всего, как язык для домашних микрокомпьютеров. Бейсик был спроектирован так, чтобы студенты могли без затруднений писать программы, используя терминалы с разделением времени. Он предназначался для пользователей, не столько заинтересованных в скорости исполнения программ, сколько просто в возможности использовать компьютер для решения своих задач не имея специальной подготовки.
При проектировании языка использовались следующие восемь принципов. Новый язык должен:
– быть простым в использовании для начинающих
– быть языком программирования общего назначения
– предоставлять возможность расширения функциональности, доступную опытным программистам
– быть интерактивным
– предоставлять ясные сообщения об ошибках
– быстро работать на небольших программах
– не требовать понимания работы аппаратного обеспечения
– защищать пользователя от операционной системы
Язык был основан частично на Фортране, частично на Алголе, с некоторыми добавлениями.
Настоящее распространение Бейсика началось с его появления на микрокомпьютере Altair 8800 в 1975 г. Многие языки программирования были слишком большими чтобы поместиться в небольшую память, которую пользователи таких машин могли себе позволить. Для машин с таким медленным носителем как бумажная лента (позднее – аудиокассета) и без подходящего текстового редактора такой небольшой язык как Бейсик был отличной находкой. В 1975 году Microsoft (тогда это были лишь двое – Билл Гейтс и Пол Аллен) выпустила Altair BASIC. Затем его версии появились на другой платформе под лицензией и скоро в использовании были уже миллионы копий и вариантов; один из вариантов, Applesoft BASIC, стал стандартным языком на Apple II. Для операционной системы CP/M был создан диалект BASIC-80, надолго определивший развитие языка.
В 1979 году Microsoft обсуждала с несколькими поставщиками компьютеров (включая IBM) лицензирование интерпретатора Бейсик на их машинах. Одна из версий (ROM BASIC) была включена в ПЗУ IBM PC – компьютер мог автоматически загружаться в Бейсик. Так как IBM не придавала тогда большого значения персональным компьютерам (основным полем её деятельности были мейнфреймы), то, вопреки своим принципам, она разрешила Microsoft продавать интерпретатор отдельно. Это сделало последнюю пионером в выпуске ПО нового поколения – не привязанного к конкретной аппаратуре и поставляемого отдельно от компьютера.
В начале 1990-х был разработан графически-ориентированный вариант языка. Microsoft создала вариант под названием WordBasic и использовала его в MS Word до появления Word 97. Вариант Visual Basic for Applications (VBA) был встроен в Excel 5.0 в 1993 году, затем в Access 95 в 1995 году, а после и во все остальные инструменты, входящие в пакет Microsoft Office. Internet Explorer 3.0 и выше, а также Microsoft Outlook, включали интерпретатор VBScript.
Python
Python – высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Разработка языка начата в конце 1980-х, название дано в честь популярного британского комедийного телешоу 1970-х «Воздушный цирк Монти Пайтона».
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты – динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство платформ. Он распространяется свободно под лицензией, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные.
Разработчики языка Python придерживаются определённой философии программирования, называемой «Дзэном Питона». Её текст выдаётся интерпретатором Питона по команде import this (работает один раз за сессию). Автором этой философии считается Тим Пейтерс.
Текст философии:
Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.
Плоское лучше, чем вложенное.
Разреженное лучше, чем плотное.
Читабельность имеет значение.
Особые случаи не настолько особые, чтобы нарушать правила.
Хотя практичность побеждает стремление к чистоте.
Ошибки никогда не должны замалчиваться.
Если не замалчиваются явно.
Встретив двусмысленность, отбрось искушение угадать.
Должен существовать один – и, желательно, только один – очевидный способ сделать это.
Хотя он поначалу может быть и не очевиден, если вы не голландец.
Сейчас лучше, чем никогда.
Хотя никогда зачастую лучше, чем прямо сейчас.
Если реализацию сложно объяснить – идея плоха.
Если реализацию легко объяснить – идея, возможно, хороша.
Пространства имён, черт возьми, – отличная штука! Будем делать их побольше!
Perl
Perl – высокоуровневый интерпретируемый динамический язык программирования, созданный в 1987 г. лингвистом Ларри Уоллом. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language «практический язык для извлечения данных и составления отчётов». Первоначально аббревиатура состояла из пяти символов и в таком виде в точности совпадала с английским словом pearl, жемчужина. Но затем стало известно, что язык с таким названием уже существует, и букву «а» убрали. Талисманом языка Perl является верблюд – не слишком красивое, но очень выносливое животное, способное выполнять тяжёлую работу.
Согласно Ларри Уоллу, Perl имеет два девиза. Первый – «There’s more than one way to do it» («Есть больше одного способа сделать это», также известный как TMTOWTDI); второй – «Easy things should be easy and hard things should be possible» («Простые вещи должны быть простыми, а сложные вещи – возможными»).
Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе реализованные при помощи регулярных выражений. Перл унаследовал много свойств от языков Си, shell script, awk.
Узкая специализация Perl, ограниченная в основном обработкой текстовых данных, позволяет отнести его к четвертому поколению языков программирования.
Ruby
Ruby – динамический интерпретируемый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования, появился в 1995 г. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по объектно-ориентированному подходу – к Smalltalk. Также некоторые черты языка взяты из Python, Лисп, Dylan и CLU.
Название навеяно языком Perl, многие особенности синтаксиса и семантики из которого заимствовано в Ruby: англ. pearl – «жемчужина», ruby – «рубин».
Целью разработки было создание «настоящего объектно-ориентированного», лёгкого в разработке и понимании, интерпретируемого языка программирования.
JavaScript
JavaScript – объектно-ориентированный скриптовый язык программирования, выпущен в 1995 г. как специальная версия языка Java. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах в качестве языка сценариев для придания интерактивности веб-страницам.
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.
Delphi
Delphi – язык программирования, который используется в одноимённой среде разработки. Сначала язык назывался Object Pascal. Появился в 1995 году как результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, добавил объектно-ориентированные свойства, а в Object Pascal – динамическую идентификацию типа данных с возможностью доступа к метаданным классов.
Изначально Delphi был предназначена исключительно для разработки приложений Microsoft Windows, позже был реализован также для платформы Linux.
Pascal
Паскаль (англ. Pascal) – высокоуровневый язык программирования общего назначения. Один из наиболее известных языков программирования, широко применяется в промышленном программировании, обучении программированию в высшей школе, является базой для большого числа других языков. Был создан Никлаусом Виртом в 1968-69 годах (опубликован в 1970 году) после его участия в работе комитета разработки стандарта языка Алгол-68.
Паскаль был создан как язык для обучения процедурному программированию (хотя, по словам Вирта, язык нельзя считать только учебным, поскольку язык, непригодный для написания реальных программ, для обучения использоваться не должен). Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля.
Lisp
Лисп (LISP, от англ. LISt Processing language – «язык обработки списков») – семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Лисп является вторым в истории (после Фортрана) используемым по сей день высокоуровневым языком программирования. Создатель Лиспа Джон Маккарти занимался исследованиями в области искусственного интеллекта (в дальнейшем ИИ) и созданный им язык по сию пору является одним из основных средств моделирования различных аспектов ИИ.
Язык Лисп (так же как и следующий – Ada) прошел процесс фундаментальной стандартизации для использования в военном деле и промышленности, в результате чего появился стандарт Common Lisp. Его реализации существуют для большинства компьютерных платформ.
Ada
А́да (Ada) – структурный, модульный, объектно-ориентированный язык программирования, содержащий высокоуровневые средства программирования параллельных процессов, создан в 1975-1980 гг. в результате проекта, предпринятого Министерством обороны США с целью разработать единый язык программирования для встраиваемых систем (то есть систем управления автоматизированными комплексами, работающими в реальном времени). Имелись в виду, прежде всего, бортовые системы управления военными объектами (кораблями, самолётами, танками, ракетами, снарядами и т. п.). Перед разработчиками не стояло задачи создать универсальный язык, поэтому решения, принятые авторами Ады, нужно воспринимать в контексте особенностей выбранной предметной области. Язык назван в честь Ады Лавлэйс.
В СССР в 80-х годах была организована Рабочая Группа по языку Ада при Госкомитете по науке и технике. Группа занималась изучением всех открытых (а также, по слухам, добытых разведкой закрытых) данных по языку Ада и исследовала возможность и целесообразность развития и использования Ады в СССР. Деятельность этой группы привела к концу 80-х годов к разработке компиляторов Ады для практически всех применяемых в СССР компьютеров. Было выпущено несколько книг по языку Ада на русском языке.
PL/SQL
PL/SQL (Procedural Language / Structured Query Language) – язык программирования, процедурное расширение языка SQL. Базируется на языке Ада. Стандартный SQL является специализированным декларативным языком программирования четвертого поколения. На него наложены определённые ограничения, такие как, например, отсутствие прямой поддержки циклов. PL/SQL же позволяет разработчикам обрабатывать реляционную базу данных, используя более привычный стиль программирования. Операторы SQL могут быть легко вызваны непосредственно из PL/SQL-процедуры, функции или из триггера (иногда с некоторыми ограничениями).
MatLab
MATLAB (сокращение от англ. «Matrix Laboratory») – термин, относящийся к пакету прикладных программ для решения задач технических вычислений, а также к используемому в этом пакете высокоуровневому интерпретируемому языку программирования. MATLAB используют более 1 000 000 инженерных и научных работников, он работает на большинстве современных операционных систем, включая GNU/Linux, Mac OS, Solaris и Microsoft Windows.
MATLAB как язык программирования был разработан Кливом Моулером (англ. Cleve Moler) в конце 1970-х годов, когда он был деканом факультета компьютерных наук в Университете Нью-Мексико. Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и EISPACK без необходимости изучения Фортрана. Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. До сих пор в Интернете можно найти версию 1982 года, написанную на Фортране, распространяемую с открытым исходным кодом. Инженер Джон Литтл (англ. John N. (Jack) Little) познакомился с этим языком во время визита Клива Моулера в Стэнфордский университет в 1983 году. Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом (англ. Steve Bangert). Совместными усилиями они переписали MATLAB на C и основали в 1984 компанию The MathWorks для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов.
Кроме этих языков, важную роль сыграли такие языки, как Algol, Cobol и Smalltalk.
Algol
Компилируемый язык ALGOL создан в 1960 году целым коллективом высококлассных разработчиков, специалистов по языкам программирования, среди которых были разработчик Фортрана Джон Бэкус, автор Лиспа Джон Маккарти, один из создателей структурного программирования Эдсгер Дейкстра и другие. Алгол был призван заменить Фортран, но из-за более сложной структуры Алгола этого не произошло. В 1968 году была создана версия Алгол 68, по своим возможностям даже сегодня опережающая многие языки программирования. Однако из-за отсутствия достаточно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы, поэтому особую популярность язык не завоевал. Тем не менее, он оказал существенное влияние на развитие всех языков, которые появились после него, в частности, как уже было упомянуто, Pascal является прямым наследником Алгола.
Cobol
Компилируемый язык для применения в экономической области и решения бизнес-задач, разработан в начале 60-х годов. Он отличается большой «многословностью» – его операторы иногда выглядят как обычные английские фразы. В Коболе реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано очень много приложений, которые активно эксплуатируются и сегодня.
Smalltalk
Smalltalk – первый широко распространенный объектно-ориентированный язык программирования с динамической типизацией, разработан в Xerox PARC в 1970-е гг. Оказал большое влияние на развитие многих других языков, таких как: C++, Objective-C, Java. Многие идеи 1980-х и 1990-х по написанию программ появились как результат развития языка Smalltalk.
Дата добавления: 2019-10-16; просмотров: 13114;