«Эзоповы языки» для программистов
Словарь терминов по информатике
11 июня 2004
Рубрика: Технологии.
Автор: .
pic

Есть известная легенда про древнегреческого баснописца Эзопа о том, что его хозяин спрашивает: «Что самое хорошее на свете?» — «Язык, — отвечает Эзоп, — потому что при помощи языка мы едим, говорим хорошие слова, признаемся в любви, слагаем стихи, поем и вообще отличаемся речью от зверей».
«Что же тогда самое плохое на свете?» — спрашивает хозяин. — «Язык, — отвечает Эзоп, — потому что при помощи языка мы говорим злые слова, отдаем приказ на убийство, лжем, сквернословим и предаем». «Что же тогда самое вкусное на свете?» «Язык, — опять отвечает Эзоп, — потому что хорошо отваренный язык, приправленный специями, настолько вкусен, что язык можно проглотить».
Как известно, Эзоп является создателем понятия «Эзопов язык», или иносказательного языка, используемого в баснях. Языков много, каждый народ имеет собственный язык. Есть язык жестов и много еще различных языков. Имеет многочисленные языки и информатика. Причем применяемые в информатике языки — самые иносказательные в мире. Сегодня мы расскажем о некоторых языках программирования. Их такое количество, что мы вынуждены дать лишь самые краткие данные, которые не в состоянии охватить последние версии языков или вновь появившиеся. Далеко не все из используемых в настоящее время языков программирования вошли в данный перечень.

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Язык программирования [programming language] — формализованный язык, предназначенный для описания программ и алгоритмов решения задач на ЭВМ. Языки программирования являются искусственными. В них синтаксис и семантика строго определены. Поэтому они не допускают свободного толкования выражения, что характерно для естественного языка. Языки программирования разделяются на две основные категории — языки высокого уровня и языки низкого уровня.
Язык высокого уровня [high-level language] — язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на нем, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран, ПЛ/1, Бейсик, Паскаль, Си, Ада и др.
Язык низкого уровня [low-level language] — язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код («Машинный язык», «Машино-ориентированный язык» и «Язык ассемблера»).
Язык ассемблера, ассемблер [assembler language] — универсальный язык программирования, относящийся к категории языков низкого уровня, структура которого определяется форматами команд, данными машинного языка и архитектурой ЭВМ. Используется программистами в тех случаях, когда невозможно применение языка высокого уровня или требуются эффективные программы в машинных кодах.

Языки программирования высокого уровня

Ада [Ada] — язык программирования высокого уровня, ориентированный на применение в системах реального времени и предназначенный для автоматизации задач управления процессами и/или устройствами, например в бортовых (корабельных, авиационных и др.) ЭВМ. Разработан по инициативе министерства обороны США в 1980-х гг. Назван в честь английского математика Ады Августы Байрон (Лавлейс), жившей в 1815-1851 гг. Именно ее считают первым программистом мира.
Алгол [ALGOL — ALGOrithmic Language] — язык программирования высокого уровня, ориентированный на описание алгоритмов решения вычислительных задач. Был создан в 1958 г. специалистами западноевропейских стран для научных исследований. Версия этого языка Алгол-60 была принята Международной конференцией в Париже (1960 г.) и широко использовалась на ЭВМ 2-го поколения. Версия Алгол-68, разработанная группой специалистов Международной федерации по обработке информации (ИФИП) в 1968 г., получила статус международного универсального языка программирования, ориентированного на решение не только вычислительных, но и информационных задач. В настоящее время Алгол практически не используется, но он послужил основой и оказал существенное влияние на разработку более современных языков, например: Ада, Паскаль и других.
Бейсик [BASIC — Beginner’s АН-purpose Symbolic Instruction Code] — язык программирования высокого уровня, разработанный в 1963-1964 гг. в Дартмутском колледже Томасом Куртом и Джоном Кемени. Первоначально предназначался для обучения программированию. Отличается простотой, легко усваивается начинающими программистами благодаря наличию упрощенных конструкций языка Фортран и встроенных математических функций, алгоритмов и операторов. Существует множество различных версий Бейсика, которые не полностью совместимы друг с другом. Некоторые реализации Бейсика включают средства обработки и наборов данных. Большинство версий Бейсика используют интерпретатор, который преобразует его компоненты в машинный код и позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные версии Бейсика позволяют использовать для этой цели трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra Publishing). В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных приложений для систем уровня предприятий.
Кобол [COBOL — Common Business-Oriented Language] — язык программирования высокого уровня, разработанный в конце 1950-х гг. ассоциацией КАДАСИЛ для решения коммерческих и экономических задач. Отличается развитыми средствами работы с файлами. Поскольку команды программ, написанных на этом языке, активно используют обычную английскую лексику и синтаксис, Кобол рассматривается как один из самых простых языков программирования. В настоящее время используется для решения экономических, информационных и других задач.
Лисп [LISP — LISt Processing] — алгоритмический язык, разработанный в 1960 г. Дж. Маккарти и предназначенный для манипулирования перечнями элементов данных (списками). Используется преимущественно в университетских лабораториях США для решения задач, связанных с искусственным интеллектом. В Европе для работ по искусственному интеллекту предпочитают использовать Пролог.
ЛОГО [LOGO от греч. logos — слово] — язык программирования высокого уровня, разработан в Массачусетском технологическом институте ориентировочно в 1970 г. для целей обучения математическим понятиям. Используется также в школах и пользователями ПЭВМ при написании программ для создания чертежей на экране монитора и управления перьевым графопостроителем.
Паскаль [PASCAL — акроним с французского — Program Applique a la Selection et la Compilation Automatique de la Litterature] — процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом первоначально для обучения программированию в университетах. Назван в честь французского математика XVII в. Блеза Паскаля. В своей начальной версии Паскаль имел довольно ограниченные возможности, поскольку предназначался для учебных целей, однако последующие доработки позволили сделать его хорошим универсальным языком, широко используемым и для написания больших и сложных программ. Существует ряд систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland.
Пролог [PROLOG — PROgramming in LOGic] — язык программирования высокого уровня декларативного типа, предназначенный для разработки систем и программ искусственного интеллекта. Относится к категории языков пятого поколения. Был разработан в 1971 г. в университете г. Марселя (Франция), относится к числу широко используемых и постоянно развиваемых языков. Последняя его версия Prolog 6.O.
Си [С] — многоцелевой язык программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на мини-ЭВМ и ПЭВМ. Является базовым языком операционной системы Unix, однако применяется и вне этой системы для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе Turbo С (фирмы Borland), Microsoft С и Quick С (фирмы Microsoft), а также Zortech С (фирмы Symantec). Многие из указанных версий обеспечивают также работу с Си и Си++.
Си++ [C++] — язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США).
С# (С Sharp) — «Си Шарп» — новый объектно-ориентированный язык программирования, разработанный фирмой Microsoft в начале этого века. По своему характеру он напоминает языки C++ и Java и предназначен для разработчиков программ, использующих языки С и C++ для того, чтобы они могли более эффективно создавать интернет-приложения. С# тесно интегрирован с языком XML.
Фортран [FORTRAN — FORmula TRANslation] — язык программирования высокого уровня, разработанный фирмой IBM в 1956 г. для описания алгоритмов решения вычислительных задач. Относится к категории процедурно-ориентированных языков. Наиболее распространенными версиями этого языка являются Фортран IV, Фортран 77 и Фортран 90. Используется на всех классах ЭВМ. Последняя его версия также применяется на ЭВМ с параллельной архитектурой.
AppleScript — машинно-зависимый язык программирования (ориентирован на работу с ПЭВМ типа Macintosh фирмы Apple), близкий к естественному английскому языку. Предназначен для автоматизации повторяющихся задач, преимущественно связанных с процессами компьютерной графики (в том числе обработки результатов сканирования, ввода изображений, цветоделения, составления каталогов, передачи печатных документов в World Wide Web и др.).
Clipper — язык высокого уровня и система программирования, предназначенные для разработки программ для ПЭВМ, преимущественно систем управления большими объемами данных (см. «СУБД»). Владельцем и разработчиком языка и системы Clipper является фирма Nantucket (США). Начало работ по их созданию связано с разработкой компилятора для dBase (см. далее) и относится к 1984 г. (год основания фирмы Nantucket Барри Ребеллом и Брайаном Расселом). Первые программные продукты Clipper ClipperWinter’84 (май 1985 г.), ClipperWinter’85 (январь 1986 г.), МсМах (версия для ПК Macintosh, сентябрь 1986 г.) и ClipperSummer’87 (декабрь 1987 г.). Летом 1990 г. была выпущена версия языка Clipper 5.0, получившая широкое распространение в России.
dBASE
1. Язык программирования высокого уровня, предназначенный для создания пакетов прикладных программ, связанных с манипулированием большими объемами данных (Xbase). Первая версия языка dBASE II вышла в свет в начале 1980-х гг., в августе 1994 г. была выпущена версия dBASE 5.0 для Windows.
2. Семейство программ для ПЭВМ, предназначенное для манипулирования большими объемами данных.
FoxPro — объектно-ориентированный язык, предназначенный для создания пакетов прикладных программ, в том числе для современных операционных систем, например версия этого языка — FoxPro for Windows. Одна из последних версий этого языка — Visual FoxPro 3.0 фирмы Microsoft.
SGML (Standardized General Markup Language) — стандартизованный обобщенный язык разметки. Разработка языка была вызвана необходимостью создания средств описания документов и правил их построения. Для задания структуры документа используются специальные метки — тэги, которые отделяют друг от друга элементы документа и файлы определения типа документа (Document Type Definition — DTD), выполняющие функции грамматики и определяющие структуру и содержание каждого элемента в документе. Принят ISO в качестве стандарта в 80-е гг. Сложность этого языка помешала ему лечь в основу первой спецификации для Web HTML, которая стала производной от SGML.
HTML, html (HyperText Markup Language) — язык разметки гипертекста, разработан в исследовательском центре CERN в 1992 г. Он является производным от SGML (см. ранее). HTML устанавливает формат гипермедийных документов в сети WWW. HTML-документы представляют собой ASCII-файлы, доступные для просмотра и редактирования в любом текстовом редакторе. Отличием от обычного текстового файла является наличие в HTML-документах специальных команд — тэгов, которые указывают правила форматирования документа.

pic

Некоторые версии языка HTML: HTML 2.0 — стандарт был утвержден в ноябре 1994 г. организацией IETF (Internet Engineering Task Force). В нем были расширены возможности предыдущей версии языка, и он получил широкое распространение как у профессионалов, так и у любителей. HTML 4.0 (кодовое наименование проекта «Cougar») — последняя версия языка. В нем реализованы многие распространенные концепции web-дизайна и приняты некоторые средства HTML 3.2. Самым значительным отличием HTML 4.0 от предыдущих версий является кодировка Unicode, тэг «OBJECT», позволяющая работать с мультимедиа (с видеоклипами и звуком) и др.
DHTML (Dynamic HTML) — динамический HTML — развитие языка HTML для создания движущихся, находящихся в динамике, эффектов на web-страницах.
XML (Extensible Markup Language) — расширяемый язык разметки. Предложен WWW Consortium (W3C) (консорциум ориентированных языков) в 1996 г. Входит в подмножество SGML. Возник в результате необходимости создать более обобщенный язык разметки без соблюдения сложного и громоздкого для использования в Интернете стандарта SGML. Хотя XML и требует формально определять язык разметки, стадия проверки корректности стала необязательной: наличия определений типов документов (DTD — Document Type Definition) не требуется, хотя и допускается. Кроме того, в XML используется лишь некоторое подмножество правил SGML, что облегчает его использование. XML, подобно SGML, является метаязыком и содержит правила, по которым должно определяться множество тэгов, допустимых в документе. Пакет данных, описанный на XML, называют XML-документом.
Java — объектно-ориентированный язык интерпретирующего типа, разработанный фирмой Sun Microsystems в 1994 г. Он во многом сходен с языком C++ и нашел широкое применение для написания разного рода программных продуктов (приложений), ориентированных на работу в сетевых системах типа «клиент-сервер» и «файл-сервер» под управлением современных операционных систем (Windows, OS/2 и др.). Язык рассчитан на передачу по Интернету текстов программ, которые на всех компьютерах должны выполняться одинаковым образом. Основное достоинство, привлекшее к этому языку специалистов, заключается в предоставляемой им возможности разработки платформо-независимых программ. Считается, что своим успехом этот язык обязан в первую очередь фирме Netscape Communication, которая лицензировала его интерпретатор в свой самый популярный в мире браузер web-страниц (Navigator 2.0). Общими характеристиками языка Java являются: его простота, значительный объем библиотеки подпрограмм, возможность распространения на любой тип ЭВМ, независимость от ее архитектуры, высокая защищенность создаваемых программ, динамичность языка, обеспечивающая гибкое введение изменений в программы и др. В настоящее время язык Java лицензировали такие фирмы, как IBM, Microsoft, Borland, Symantec, Micromedia, и многие другие.
Occam — язык высокого уровня, предназначенный для выполнения параллельного программирования и создания транспьютеров. Является результатом совместной разработки фирмы INMOS (Великобритания) и Оксфордского университета (Дэвид Мэй). Концепция Occam базируется на теории связанных последовательных процессов, созданной профессором Оксфордского университета С. Хора. Свое название получил в честь английского философа XIV в. Уильяма Оккама, поскольку в основе разработки языка был использован провозглашенный им принцип: «Сущность не должна превышать необходимость» («бритва Оккама»). В соответствии с упомянутым принципом из двух одинаково эффективных вариантов решений принимается наиболее простое. Язык Occam используется в транспьютерах первых и всех последующих выпусков.
PostScript — объектно-ориентированный язык, разработанный фирмой Adobe Systems. Является одним из основных стандартов для печати и передачи документов, работает с изображениями, включая шрифты. Поэтому относится также к классу специализированных языков описания страниц. Представляет собой набор команд по формированию сложных геометрических фигур из коллекции простейших заготовок (круги, прямоугольники, прямые и кривые линии и т. д.). Шрифты и чертежи, выполненные с использованием векторной графики языка PostScript, могут масштабироваться без потери качества их печати или отображения на экране монитора.

pic

Используется для управления лазерными, струйными принтерами при печати документов и другими устройствами вывода данных.
SQL (Structured Query Language) — язык структурированных запросов — предназначен для обеспечения доступа к реляционным базам данных. Создан корпорацией IBM. Большинство файловых серверов и многие СУБД используют SQL в качестве стандартного средства доступа к данным из приложений-клиентов.
OQL (Object Query Language) — объектный язык запросов — расширенная версия языка SQL, дополненная объектными свойствами, средствами описания типов данных и итераций с объектами в базах данных.
ТеХ — язык, разработанный фирмой Donald Knuth еще в 1980 г. Он предназначен для обеспечения высококачественной печати. Особое внимание в нем уделяется возможности кодировки математических знаков с использованием ASCII для выдачи, обработки и хранения их на ЭВМ. До настоящего времени он считается незаменимым дополнением других языков (например, PostScript) при подготовке материалов по математике и смежным специальностям.
UML (Unified Modelling Language) — унифицированный язык моделирования — язык для спецификации, просмотра и документирования элементов программных систем, предназначенный для описания бизнес- объекта как компонента прикладной системы.
VRML (Virtual Reality Modelling Language) — язык моделирования виртуальной реальности (сленговый термин вермел) — предназначен для унификации и упрощения представления трехмерной и подвижной графики, в том числе синхронизации изображения и звука. VRML рассматривается разработчиками как язык хотя и родственный, но альтернативный по отношению к HTML и взаимодействующий с ним. Впервые идея языка была предложена Марком Песке (Mark Pesce) в 1993 г., а его первая спецификация (VRML 1.0) была подготовлена на основе формата Open Inventor фирмы SGI и представлена на второй конференции WWW в октябре 1994 г. в Женеве. Главной задачей было дальнейшее усовершенствование интерактивных интерфейсов в целях лучшего их восприятия человеком. Во второй версии, в разработке которой приняли участие и другие фирмы (например, Sony Research, Mitra и др.), его интерактивные возможности были расширены. В частности, VRML 2.0 стал поддерживать анимацию и звуковые эффекты, а также взаимодействие с Java и JavaScript. В августе 1996 г. был принят его стандарт, а в декабре 1997 г. VRML 2.0 был официально заменен на VRML 97, называемый также VRML Technical Symposium. Новый стандарт ISO/IEC 14772 построен на основе спецификаций VRML 2.0 с некоторыми поправками и дополнениями. Разработана очередная версия — VRML 2000.
DSML (Directory Services Markup Language) — язык разметки службы каталогов — предназначен для поддержки служб администрации сетей, работающих с каталогами. Специализированные каталоги позволяют эффективно хранить сведения об абонентах сети, необходимых им сервисных услугах, а также сетевых ресурсах и другие данные, сопоставление которых обеспечивает возможность администраторам сети оптимизировать предоставление абонентам необходимых им услуг в реальном масштабе времени. DSML был предложен в 1999 г. рабочей группой (DSML Working Group), представленной фирмами IBM, Microsoft, Novell, Sun Microsystems, Netscape, Oracle и др. для создания унифицированного формата разработки таких каталогов, их публикации и обмена их содержимым.

Альтернативный словарь сленга
о программировании и языках

Алкоголик — программист, работающий на Алголе.
Багланд — народное название фирмы Borland
Васик: 1. Алгоритмический язык Basic; 2. Любой язык программирования, кажущийся говорящему слишком простым и недостаточно мощным.
Вермел — язык моделирования виртуальной реальности (or «VRML»).
Виндец — аварийное завершение приложения или самой ОС Windows.
Виндуза, виндзе, виндузы, винды, виндюк — операционная система MS Windows (она же «Окноус», «Ставни», «Стекляшки мелкомягкие»).
Виндура — программа Corel! Ventura Publisher.
Жаба — язык программирования Java.
Лиса — база данных FoxPro (она же «Фокса»).
Макрушник — программист-системщик, работающий на макроассемблере.
Насильник — программист, работающий на языке Си (он же «Сишник» и «Сионист»).
Паскалик, пасквилянт, паскудник — программист, пишущий на языке Pascal.
Пасквиль — язык программирования Pascal.
Плюсы — язык программирования Си++.
Подосиновик — программа, работающая под управлением OS/2.
Полумух, полуось, полупчелка, пополос, ось пополам — операционная система OS/2.
Сисемблер — написание программы на языке Си со вставками на ассемблере.
Ся — язык программирования Си. Сяо — бред, дезинформация, треп.
Трубопаскаль — язык программирования Turbo Pascal.
Турбочист — программист, предпочитающий компиляторы фирмы Borland.

Orphus system
В Telegram
В Одноклассники
ВКонтакте