...
...

Блиц-обзор языков программирования

Скажите, сколько языков программирования вы знаете? Нет, не каким количеством языков владеете, а сколько названий можете перечислить? Попробовав без подготовки ответить на этот вопрос, ваш покорный слуга за малым не дотянул до двух десятков. Попробуйте сами: это интересно.

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

ABC - интерактивный язык и среда разработки, который по замыслу создателей должен был заменить BASIC. Язык создавался по результатам анализа хода разработки программ. Первоначально предназначенный для начинающих, ABC развился в мощный язык, подходящий как новичкам, так и профессионалам.

ADA - язык, разработанный с целью обеспечить создание программных систем с многолетним сроком службы и высокой степенью надежности. Создан по заказу и состоит на вооружении министерства обороны США. Сравнительно с другими языками, ADA обнаруживает большое количество ошибок еще во время компиляции программ. Для предотвращения возможных ошибок в ходе выполнения используется механизм обработки исключений.

ALEF - язык, предоставляющий средства для работы с параллельно исполняющимися программами, а также возможности межпрограммного и межкомпьютерного взаимодействия. Использует типизованные каналы и абстрактные типы данных.

ALGOL - язык, ставший важной вехой в развитии языков программирования. Логичный и математически строгий, до сих пор применяется для записи алгоритмов.

ALLOY - язык программирования "повышенного" уровня, ориентированный на программирование параллельных компьютерных систем. Alloy комбинирует подходы функционального, объектного и логического программирования.

AMPL - полный и мощный язык алгебраического моделирования. Позволяет решать задачи линейной и нелинейной оптимизации с дискретными или непрерывными переменными.

APL - язык математической обработки данных. Отличительной особенностью является использование нестандартных символов и компактной мощной нотации.

AWK - язык назван по первым буквам фамилий авторов: Aho, Weinberger, Kernighan. Они писали: "AWK является удобным и выразительным языком, подходящим для решения широкого круга задач как вычислительного характера, так и связанных с обработкой данных".

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

C - третья буква английского алфавита, название языка программирования, разработанного Деннисом Ричи в начале 70-х годов в Bell Laboratories. Использован для реализации OS Unix. Часто характеризуется как "переносимый ассемблер".

C++ -расширение языка С. В частности, С++ поддерживает объектно-ориентированное программирование. Разработан в Bell Laboratories Бьерном Страустрапом.

COBOL - один из первых языков программирования. Ориентирован на разработку программ для обработки коммерческих данных и управления бизнесом. Широко используется до сих пор.

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

EIFFEL - "чистый" объектно-ориентированный язык с акцентом на разработке надежного программного обеспечения.

FORTH - язык среднего уровня и интерактивная среда разработки. Нашел широкое применение в науке, робототехнике, управлении оборудованием, обработке образов и искусственном интеллекте. Позволяет создавать очень компактные и быстрые программы.

FORTRAN - первый язык программирования высокого уровня. Главное применение - числовые расчеты. Употребляется до сих пор.

HASKELL - "чистый" функциональный язык. Программы на HASKELL состоят исключительно из функций. Язык основан на лямбда-исчислении и назван в честь логика Хаскела Кэрри, чьи работы были положены в основу языка.

ICON - высокоуровневый язык общего назначения. Обладает обширными средствами для обработки структур данных и манипуляций со строками. ICON является императивным процедурным языком с синтаксисом, напоминающим С или PASCAL, но с семантикой гораздо более высокого уровня.

J - язык общего назначения очень высокого уровня. Характеризуется сильной ориентацией на функциональное программирования и обработку массивов. Включает средства переопределения операций. Хорошо подходит для программирования сложных аналитических задач и моделирования.

JAVA - С-подобный объектно-ориентированный язык для программирования Internet-приложений.

LISP - язык обработки списков. Родной язык искусственного интеллекта. Разработан в конце 50-х Джоном Мак-Карти. В основу языка положена идея списков переменной длины и деревьев в роли основных типов данных, а также возможность интерпретации кода программы как данных и наоборот.

LOGO - язык, призванный служить средством обучения программированию не только взрослых, но и детей. Он сконструирован так, чтобы новичок мог сразу начать писать первые программы, получая от этого удовольствие. Не менее важно, что язык в то же время достаточно мощный, чтобы отвечать потребностям уже искушенного программиста.

ML (meta-language) - семейство языков, как правило, функциональных, характеризуемых четкой семантикой, полиморфной системой типов и параметризованными модулями. Включает Standard ML, Lazy ML, CAML, CAML Light и многие экспериментальные языки. Особенную популярность ML-языки завоевали в сфере науки. В некоторых университетах их даже преподают в качестве первого языка программирования.

MODULA-2 - последовавший за PASCAL язык программирования Никлауса Вирта. Предназначен для реализации крупных программных проектов в профессиональном стиле, а также разработки встроенных систем реального времени.

MODULA-3 - язык, расширяющий MODULA-2. Разработан в конце 80-х компаниями DEC и Olivetti. Поддерживает сборку мусора, объектно-ориентированное программирование и спецификации компонентного программного обеспечения.

NETREXX - новый язык общего назначения. Призван служить альтернативой языку JAVA. К числу основных достоинств относятся простота синтаксиса Rexx в сочетании с надежностью и переносимостью JAVA. В результате язык подходит как для написания скриптов, так и для разработки приложений.

OBERON, OBERON-2 - языки, продолжающие традицию PASCAL и MODULA. OBERON-2 включает в себя автоматическую сборку мусора и объектно-ориентированное программирование. Кроме того, так называется новаторская современная операционная система, полностью разработанная на языке OBERON-2.

OBLIQ - нетипизированный интерпретирующий язык, реализующий концепцию распределенного объектно-ориентированного программирования. OBLIQ-программа может включать множественные потоки исполнения в одном или нескольких адресных пространствах на одной или на многих машинах в составе одной или нескольких сетей, взаимодействующих через Internet.

OCCAM - язык параллельных вычислений, разработанный для программирования транспьютеров. Позволяет программисту реализовывать схемы последовательной и/или параллельной обработки данных.

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

PERL - язык, оптимизированный для просмотра текстовых файлов, извлечения из них информации и генерации соответствующих отчетов. Широко применяется для системного администрирования среды Unix. Сочетает в себе качества С, AWK и является скорее практичным, чем элегантным языком.

PHANTOM - современный интерпретирующий язык, созданный для решения проблем, связанных с программированием крупных распределенных интерактивных приложений, таких, как сетевые игры, системы связи и средства групповой работы. PHANTOM частично унаследовал семантику OBLIQ.

PL/1 - язык общего назначения, который по замыслу IBM должен был вытеснить специализированные языки программирования. PL/1 предназначался не только для программирования в сферах коммерции, науки и инженерного дела, но даже для системного программирования. Попытка не удалась.

POSTSCRIPT - язык, оптимизированный для вывода текста и графики. Изображение может выводиться на произвольное устройство, будь то принтер или дисплей. Сейчас POSTSCRIPT часто называют "языком описания страниц". Разработан фирмой Adobe в 1985 году.

PROLOG - язык искусственного интеллекта. Реализует концепцию логического программирования. На PROLOG написаны многие экспертные системы, позволяющие делать выводы на основе имеющихся фактов и обширной базы правил, представленных в виде "если - то".

PYTHON - интерпретирующий объектно-ориентированный язык программирования. По своему назначению принадлежит к группе языков Tcl, Perl, Scheme и Java. Поддерживает модули, классы, исключения и динамические типы данных.

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

REXX - процедурный язык с ясным синтаксисом, поддерживающий структурное программирование. Предназначен для манипуляций с символическими объектами.

SATHER - объектно-ориентированный язык, который претендует быть таким же эффективным, как C или Fortran, таким же элегантным, но более надежным, чем Eiffel, таким же абстрактным, как Lisp или Scheme.

SCHEME - диалект LISP, имеющий предельно ясную и простую семантику. С его помощью удобно программировать и в императивном, и в функциональном стиле, и в стиле передачи сообщений.

SIMULA - объектно-ориентированный язык, разработанный в 1967 году. Широко применяется практически для всех видов обработки данных. Стандартизирован в 1986 году. Язык SIMULA реализован почти на всех моделях компьютеров: от больших машин до персональных.

SMALLTALK - объектно-ориентированный язык, происходящий от SIMULA. Очень эффективен в прототипировании сложных графических интерфейсов.

SR (Synchronizing Resources) - язык для разработки параллельных программ. Главными конструкциями языка являются ресурсы и операции. Ресурсы инкапсулируют процессы и разделяемые переменные, а операции служат основой взаимодействия процессов.

Tcl - строко-ориентированный скриптующий язык и интерпретатор для встраивания в приложения.

Евгений ЩЕРБАТЮК

© Компьютерная газета

полезные ссылки
Оффшорные банковские счета