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

Главная страница

Языки программирования
Операционные системы
ЖЗЛ
Статьи
"Художества"
Компьютерный юмор
Опросы
Программы

Гостевая книга
Rambler's Top100

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

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


Ada

Язык программирования высокого уровня, разработанный Министерством Обороны США вместе с Европейским Экономическим Сообществом и некоторыми другими организациями. Он был разработан для внедренных приложений и управления процессами, но также используется для приложений материально-технического обеспечения. Ada создана на базе Pascal, который является всесторонним языком программирования.

Ada был назван в честь Августы Ады Байрон (1815-1852), Графини Лавлейс, дочери Лорда Байрона. Она была математиком и коллегой Чарльза Бэббиджа, который разработал "Аналитический вычислитель".

Следующая программа на Ada переводит температуру из градусов по Фаренгейту в градусы по Цельсию:

with Text_IO; use Text_IO;
 procedure Convert is
 package InIO is new Text_IO.Integer_IO(Integer);
 Fahrenheit : Integer;
 begin
  Text_IO.Put_Line("Enter Fahrenheit");
  InIO.Get(Fahrenheit);
  Text_IO.Put("Celsius is ");
  InIO.Put((Fahrenheit-32) * 5 / 9);
  Text_IO.New_Line;
 end Convert;

ACTOR

Объектно - ориентированный язык программирования для PC от Whitewater Group Inc., Иванстон, штат Иллинойс. Он работает под управлением Windows и имеет синтаксис, схожий с Pascal для облегчения перехода к объектно - ориентированным языкам.


ALGOL (ALGOrithmic Language)

Компилируемый язык высокого уровня, который был разработан, как международный язык для записи алгоритмов. Первая версия этого языка, ALGOL - 58, была разработана в ходе напряженного восьмидневного совещания в конце весны 1958 года. Программисты неоднозначно приняли новый язык, и широкого одобрения он так и на получил, однако, ALGOL - 60 (1960) был прост и широко использовался в Европе. ALGOL - 68 (1968) был более сложным и громоздким, поэтому не получил признания в Европе.

Многие языки, возникшие позднее базировались на ALGOL'е, и его вклад в их развитие связан с важными идеями в области программирования (блочной структурой, рекурсией, формализованным определением синтаксиса). Эти и другие фундаментальные идеи достались в наследство разработчикам других языков.

Следующий пример переводит градусы по Фаренгейту в градусы по Цельсию:

fahrenheit
begin
 real fahr;
 print ("Enter Fahrenheit ");
 read (fahr);
 print ("Celsius is ", (fahr-32.0) * 5.0/9.0);
end
finish

APL (A Programming Language)

Этот язык программирования был разработан Кеннетом Айверсоном в конце 50х годов. Наибольшее отклонение APL от привычных языков программирования связано с его внешней формой. Язык содержит 95(!) литер (латинские и греческие буквы, арабские цифры, такие символы как ромбик и звездочка и так называемые джоты), кроме того этот набор дополнялся еще 55 сиволами, при этом APL отличается необычайной лаконичностью: используя его можно в одну или две строки то, что на других языках потребовало бы несколько страниц кода. Такие особенности делают APL необычайно трудным для чтения.

APL соответсвовал требования простоты, но на протяжении многих лет оставался не более чем системой обозначений, существовавшей только на бумаге. Первые реализации появились лишь в конце 60х.


awk (Aho Weinberger Kernighan)

Программная утилита UNIX, разработанная в 1977 году Ахо (Aho), Вейнбергером (Weinberger) и Керниганом (Kernighan). Благодаря своему уникальному синтаксису, основанному на сопоставлении с образцом, часто используется при поиске данных и преобразования данных. Также существуют и версии для DOS.

Документация и ссылки...


BASIC (Beginners All purpose Symbolic Instruction Code)

Язык программирования, разработанный Джоном Кимини и Томасом Курцом в середине 1960х в Колледже Дартмута. Летом 1963 года начал разрабатывать первую версию компилятора для языка, а 1 мая 1964 появились первые работающие программы, написанные на BASIC'е. В 1975 году Курц и Кемени провели ревизию языка, введя в него структурные возможности, а в начале 1980х годов ими в содружестве с ANSI была разработана каноническая версия языка для микрокомпьютеров - True BASIC. Изначально созданный как диалоговый язык, работающий в режиме распределения времени на больших ЭВМ, он стал широко использоваться и на малых компьютерах.

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

BASIC реализован как в форме компилятора так и в форме интерпретатора. Как интерпретатор, язык является диалоговым и может отлаживаться по строкам. BASIC также используется в качестве быстрого калькулятора. BASIC рассматривается как один из наиболее легких языков программирования. Простые программы могут быть быстро написаны на лету. Однако, BASIC изначально не являлся структурированным языком, как например Pascal, dBASE или C, и это позволяет легко писать неструктурированные программ, которые тяжело "расшифровать" позже.

Следующий пример на BASIC переводит температуру по шкале Фаренгейта в температуру по шкале Цельсия:

10 INPUT "Enter Fahrenheit "; FAHR
20 PRINT "Celsius is ", (FAHR-32) * 5 / 9

BCPL

Простой рекурсивный язык программирования, разработанный для написания компиляторов и системного программирования: он был производен от истинного CPL (Combined Programming Language) путем удаления тех характеристика полного языка, который делают компиляцию трудной, а именно, правил сопоставления типов и режимов и ряда описывающих структур и связанных с ними правил области видимости.


C

Язык программирования высокого уровня, разработанный в Bell Labs, который может манипулировать компьютером на низком уровне подобно языку ассемблера. На протяжении последней половины 1980х, C стал избранным языком для разработки коммерческого программного обеспечения.

C может быть скомпилирован в машинные языки почти для всех компьютеров. Например, UNIX и Windows написаны на C и выполняется на множестве микро- и миникомпьютеров, а также на больших ЭВМ.

Программа на C - это набор функций, которые вызывают друг друга для выполнения. Даже тело программы - это функция, называемая "main". Механизм функций очень гибок, позволяя программистам выбирать: использовать ли стандартные библиотеки, поставляемые с компилятором, использовать функции от других поставщиков C, или разрабатывать их самим.

В сравнении с другими языкам программирования высокого уровня, C оказывается запутанным, но это появляется вследствие крайней гибкости. C был стандартизован ANSI (Комитет X3J11) и ISO в 1989.

Следующий пример на C переводит градусы по Фаренгейту в градусы по Цельсию:

main()
{
  float fahr;
  printf("Enter Fahrenheit ");
  scanf("%f", &fahr);
  printf("Celsius is %f/n", (fahr-32)*5/9);
}

Истоки C

C был разработан для того, чтобы позволить UNIX'у выполняться на множестве компьютеров. После того как специалисты Bell Labs Кен Томпсон и Деннис Ритчи создали UNIX и выполнили его на нескольких компьютерах PDP, они захотели получить путь для легкого переноса UNIX'а на другие машины без переписывания его с самого начала. Томпсон создал язык под названием B - более простую версию языка BCPL, непосредственно являющегося версией CPL. Позже, для того, чтобы усовершенствовать B, Томпсон и Ритчи создали C.

Документация и ссылки...


C++

С++ - это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.

Существенным критерием при разработке языка была простота. Там, где возникал выбор между упрощением руководства по языку и другой документации и упрощением компилятора, выбиралось первое. Огромное значение также предавалось совместимости с C, это помешало удалить синтаксис C.

В С++ нет типов данных высокого уровня и нет первичных операций высокого уровня. Если пользователю понадобятся подобные типы, их можно определить в самом языке. По сути дела, основное, чем занимается программирование на С++ - это определение универсальных и специально-прикладных типов.

Безусловно, С++ восходит главным образом к C. C сохранен как подможество, поэтому сделанного в C акцента на средствах низкого уровня достаточно, чтобы справляться с самыми насущными задачами системного программирования. C, в свою очередь, многим обязан своему предшественнику BCPL. На самом деле, комментарии // (заново) введены в С++ из BCPL. Еще одним источником вдохновения послужил язык Simula67, из него была позаимствована концепция класса (вместе с производными классами и функциями членами). Это было сделано, чтобы способствовать модульности через использование виртуальных функций. Возможности С++ по перегрузке операций и свобода в расположении описаний везде, где может встречаться оператор, похожи на Алгол68.

Название С++ было придумано Риком Массити летом 1983-его. Более ранние версии языка использовались начиная с 1980-ого и были известны как "C с Классами". Первоначально язык был придуман потому, что автор хотел написать событийно управляемые модели для чего был бы идеален Simula67, если не принимать во внимание эффективность. "C с Классами" использовался для крупных проектов моделирования, в которых строго тестировались возможности написания программ, требующих (только) минимального пространства памяти и времени на выполнение. В "C с Классами" не хватало перегрузки операций, ссылок, виртуальных функций и многих деталей. С++ был впервые введен за пределами исследовательской группы автора в июле 1983-его. Однако тогда многие особенности С++ были еще не придуманы.

Одним из первоначальных предназначений C было применение его вместо программирования на ассемблере в самых насущных задачах системного программирования. Когда проектировался С++, были приняты меры, чтобы не ставить под угрозу успехи в этой области. Различие между C и С++ состоит в первую очередь в степени внимания, уделяемого типам и структурам. C выразителен и снисходителен. С++ еще более выразителен, но чтобы достичь этой выразительности, программист должен уделить больше внимания типам объектов. Когда известны типы объектов, компилятор может правильно обрабатывать выражения, тогда как в противном случае программисту пришлось бы задавать действия с мучительными подробностями. Знание типов объектов также позволяет компилятору обнаруживать ошибки, которые в противном случае остались бы до тестирования. Заметьте, что использование системы типов для того, чтобы получить проверку параметров функций, защитить данные от случайного искажения, задать новые операции и т.д., само по себе не увеличивает расходов по времени выполнения и памяти.

Следующий короткий пример на C++ переводит градусы по Фаренгейту в градусы по Цельсию

void main()
{
    float fahr;
    cout<<"Enter Fahrengeit ";cin>>fahr;
    cout<<"Celsius is "<<(fahr-32)*5/9<<"\n";
}

С++ – это необычный язык программирования. Его появление, становление и развитие повлияло на программистское сообщество, создав особое отношение к C++, которое, на мой взгляд, очень удачно выражено в статье "C++ulture".

Документация и ссылки...


COBOL (COmmon Business Oriented Language)

Язык программирования высокого уровня, который был главным языком для деловых приложений на больших ЭВМ и миникомпьютерах. Это компилируемый язык и один из первых разработанных языков высокого уровня. COBOL - детище Пентагона, был разработан совместными усилиями правительства и производителей компьютеров. Основной целью было создать язык, который моглибы легко понимать деловые люди, профессионально не связанные с программированием. Структура и словарь этого языка весьма близки к английскому. COBOL является основным языком для обработки данных в банках, страховых компаниях и других подобных учреждениях. Формально принятый в 1960, он произошел от языка под названием Flowmatic в середине 1950х. COBOL это очень многословный язык. Хотя математические выражения могут также быть написаны подобно другим языкам программирования (смотри пример ниже), многословный режим очень удобен для чтения новичками. COBOL подразделяется на следующие секции:

Имя секцииСодержание
IDENTIFICATIONИдентификация программы.
ENVIRONMENTТипы используемых компьютеров.
DATAБуферы, константы и рабочие области.
PROCEDUREПрограммная логика.

Следующий пример на COBOL переводит температуру по Фаренгейту в температуру по Цельсию. Чтобы сохранить простоту примера, он выполняет действие на терминале оператора а не на терминале пользователя.

IDENTIFICATION DIVISION.
PROGRAM-ID.  EXAMPLE.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER.   IBM-370.
OBJECT-COMPUTER.   IBM-370.

DATA DIVISION.
WORKING-STORAGE SECTION.
77 FAHR  PICTURE 999.
77 CENT  PICTURE 999.

PROCEDURE DIVISION.
DISPLAY 'Enter Fahrenheit ' UPON CONSOLE.
ACCEPT FAHR FROM CONSOLE.
COMPUTE CENT = (FAHR- 32) * 5 / 9.
DISPLAY 'Celsius is ' CENT UPON CONSOLE.
GOBACK.


Eifell

Объектно - ориентированный язык программирования, разработанный Бертраном Мейером (Bertrand Meyer), Interactive Software Engineering Inc., Голета, штат Калифорния. Он работает в DOS, OS/2 и большинстве платформ UNIX. Компилятор Eiffel генерирует код C, который может быть модифицирован и перекомпилирован компилятором C.


FOCAL

Диалоговый язык программирования высокого уровня, реализованный на ряде микро- и мини-компьютеров (ДВК-2, "Электроника БК-0010", СМ-4 и т. п.). FOCAL характеризуется простотой изучения и использования; полным набором средств, необходимым для изучения основ программирования; широкими функциональными возможностями при небольшом объеме интерпретатора языка; эффективными средствами составления и отладки программ, развитой диагностикой ошибок; наличием библиотеки элементарных математических функций и функций для работы со стандартным перифирийным оборудованием; компактностью программ пользователя.

Следующий пример на FOCAL переволит градусы по Фаренгейту в градусы по Цельсию.

1.01 ASK "Enter Fahrenheit ", TFAHR
1.02 TYPE "Celsius is ", (TFAHR-32)*5/9,!

FORTH (FOuRTH-generation language)

Язык программирования высокого уровня, созданный Чарлзом Муром в конце 1960х, как путь обеспечения прямого управления компьютером и персональное средство повышения производительности труда. Синтаксис похож на LISP: он использует обратную польскую нотацию для вычислений, и знаменит своей растяжимостью.

Существуют как компилируемые так и интерпретируемые версии языка. Исходная программа сначала компилируется, а потом выполняется операционной системой/интерпретатором. Он используется в приложениях управления процессами, которые должны быстро обрабатывать данные, получаемые от приборов и датчиков. Это также используется в программировании видеоигр и в приложениях для управления роботами и работ по искуственному интеллекту. Более широко FORTH стал применяться в задачах управления после того, как Мур использовал его для реализации программы управления радиотелескопом Аризонской обсерватории. Следующий пример на polyFORTH переводит градусы по Фаренгейту в градусы по Цельсию:

: CONV ( n) 32 - 5 9 * / . ." Celsius
: USER_INPUT  ." Enter Fahrenheit " CONV ;

FORTRAN (FORmula TRANslator)

Первый реализованный язык программирования высокого уровня и компилятор, разработанный в 1954 IBM. Местом рождения FORTRAN'а стала штаб-квартира фирмы IBM на Мэдисон-авеню в Нью-Йорке. Группа программистов под руководством Джона Бэкуса расположилась в офисе на двадцатом этаже рядом с лифтом. С самого начала их деятельность шла в обстановке скептицизма и недоверия, однако, они продвигались вперед. Вначале FORTRAN признавали неохотно, однако по сравнению со своими предшественниками FORTRAN был сравнительно прост для изучения и использования, что и привело в итоге к его популярности. Изначально FORTRAN был разработан для работы с формулами, используемыми в математике и других научно-технических дисциплинах, хотя он иногда используется для коммерческих приложений, FORTRAN все еще наиболее широко используемый язык для решения научных, инженерных и математических проблем. FORTRAN - с его четко определенными правилами выполнения арифметических действий - является классическим (чем-то вроде латыни или греческого) языком программирования, наиболее подходящим для данного типа работ.

Следующий пример на FORTRAN переводит градусы по шкале Фаренгейта, в градусы по шкале Цельсия:

      WRITE(6,*) 'Enter Fahrenheit '
      READ(5,*) XFAHR
      XCENT = (XFAHR - 32) * 5 / 9
      WRITE(6,*) 'Celsius is ',XCENT
      STOP
      END

Документация и ссылки...


Java

Java - высокоуровневый язык программирования, разработанный Sun Microsystems. Java - объектно-ориентированный язык подобный C++,Логотип Java но упрощенный для устранения языковых характеристик, вызывающих частые ошибки при программировании. Исходные файлы кода Java (файлы с расширением .java) компилируются в формат, который называют "байтовый код" (файлы с расширением .class), который может быть затем выполнен интерпретатором Java. Скомпилированный код Java может работать на большинстве компьютеров, поскольку интерпретатор Java и среда времени исполнения, известные как "Виртуальная машина Java" (JVM или VM), существуют для большинства операционных систем, включая UNIX, Macintosh OS и Windows.

Java - универсальный язык программирования со множеством характеристик, который делают язык наиболее подходящим для использования в WWW. Небольшие приложения Java, называемые Java applets, могут быть загружены с Web-сервера и выполняться на вашем компьютере Java - совместимыми обозревателями Web, такими как NN или MSIE.


JavaScript

Скриптовый язык Web, который используется и в браузерах, и на Web-сервервх. Это - не технология Java.

Скриптовый язык разработан Netscape, чтобы позволить авторам Web разрабатывать интерактивные сайты. Хотя он использует многие характеристики и структуры полного языка Java, но он был разработан независимо.

JavaScript может взаимодействовать с исходным кодом HTML, позволяя авторам Web оживить свои сайты динамическим содержимым. JavaScript поддерживается множеством программных компаний и является открытым языком, который каждый может использовать, не приобретая лицензии. Новейшие броузеры от Netscape и Microsoft поддерживают этот язык, однако Internet Explorer поддерживает только подмножество, которое Microsoft называет JScript.

Следующая программа на JavaScript преобразует температуру по шкале Фаренгейта в температуру по Целисию:

var fahr=prompt("Enter Fahrenheit",0)
alert("Celsius is "+((fahr-32)*5/9))

Эта ссылка демонстрирует работу вышеприведенной программы.


JOVIAL (Jule's Own Version of the International Algorithmic Language)

Этот язык программирования похож на ALGOL, но специализирован для разработки встроенных (embedded) систем. Он был разработан в 1959 - 1960 годах Джолиусом Шварцем (Jules Schwartz). JOVIAL широко использовался и используется с целью написания программ для бортовой электроники военных самолетов и ракет.

Подробнее...


LISP (LISt Processing)

Язык программирования высокого уровня, используемый в нечисловом программировании. Разработанные в 1960 Джоном Маккарти, его синтаксис и структура очень отличаются, от традиционных языков программирования. Например, нет синтаксической разницы между данными и командами, а списки, которыми представлены данные и код программы сочетаются с системой обозначений, заимствованной из лямбда-исчисления (это исчисление оперирует только тремя элементами: символами, представляющими переменные и константы, скобками для группировки символов и обозначениями функций, обозначаемых буквой λ), но самое существенное свойство LISP'а состоит в том, что данные, программы и даже сам язык представляют собой просто списки в скобках, что позволяет не только писать программы, создающие или модифищирующие другие программы, но и получать программы, вызывающие самих себя. Вообще, LISP гораздо более подходит для задач, связанных с манипулированием символами, чем для обработки обычных чисел. Этот язык, доступен как в виде интерпретатора, так и в компилируемой версии, широко используется в приложениях для искуственного интеллекта, также как и при создании компиляторов. Язык может быть изменен и расширен программистом. Было разработано много вариаций LISP, включая версии, которые эффективно выполняют вычисления. Следующий пример на Common LISP переводит градусы по Фаренгейту в градусы по Цельсию:

(defun convert ()
  (format t "Enter Fahrenheit ")
  (let ((fahr (read)))
   (format t "Celsius is <126>D"
     (truncate (*(-fahr 32)
         (/ 5 9))))))

Logo

Язык программирования высокого уровня, известный легкостью использования и графическими фозможностями. Это рекурсивный язык, который содержит много функций обработки списков, которые существуют в LISP, хотя синтаксис Logo более понятен для новичков. Logo был разработан в конце 60х под руководством Сеймура Пейперта в MIT как средство обучения программированию детей.

Графический язык Logo называется черепашьей графикой, которая позволяет создавать сложные изображения с минимумом программированием. Черепашка - это курсор треугольной формы, который передвигается по экрану командами, которые активизируют черепашку как будто бы вы управляете ей, например, идти вперед на 100 элементов, повернуть вправо на 45 градусов, повернуть влево на 20 градусов.

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

Следующий пример на Object Logo переводит градусы по Фаренгейту в градусы по Цельсию:

   convert
   local [fahr]
   print "|Enter Fahrenheit |
   make "fahr ReadWord
   print "|Celsius is |
   print (:fahr - 32) * 5 / 9
   end

Modula-2 (MODUlar LAnguage-2)

Улучшенная версия Pascal, введенная в 1979 Швейцарским профессором Никлаусом Виртом, создателем Pascal. Он поддерживает раздельную компиляцию модулей. Следующий пример переводит градусы по Фаренгейтк в градусы по Цельсию:

MODULE FahrToCent;
   FROM InOut IMPORT ReadReal,WriteReal,
   WriteString,WriteLn;
   VAR Fahr:REAL;
   BEGIN
   WriteString("Enter Fahrenheit ");
   ReadReal(Fahr);
   WriteLn;
   WriteString("Celsius is ");
   WriteReal((Fahr - 32) * 5 / 9);
END  FahrToCent

MUMPS (Mass. Utility MultiProgramming System)

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

MUMPS имеет уникальные свойства, включая способность сохранить как данные так и операторы программы в своей базе данных. Кроме того, формулы, написанные в программе, могут быть сохранены и использованы другими программами. Разработанный во 1966 в Массачусеттской Главной Больнице, он широко использовался в здравохранении.

Следующий пример переводит градусы по Фаренгейту в Градусы по Цельсию:

   READ "Enter Fahrenheit ",FAHR
   SET CENT=(FAHR-32)*5/9
   WRITE "Celsius is", CENT

Pascal

Высокоуровневый язык программирования, разработанный швейцарским профессором Никлаусом Виртом в ранних 1970х и названный в честь Французского математика, Блейза Паскаля. Он знаменит своей структурированностью что принесло ему популярность изначально в академических кругах. Pascal оказал сильное влияние на последующие языки, такие как, например Ada, dBASE и PAL.

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

Pascal считается важнейшим инструментом для обучения методам структурного программирования. В 1983 году Pascal был объявлен официальным языком программирования для учащихся средних школ, которые были намерены специализироваться в области вычислительной техники и программирования в американских университетах.

Следующий пример на Turbo Pascal переводит градусы по Фаренгейту в градусы по Цельсию:

program convert;
var
fahr, cent : integer;
begin
 write('Enter Fahrenheit ');
 readln(fahr);
 cent := (fahr - 32) * 5 / 9;
 writeln('Celsius is ',cent)
end.

Perl (Practical Extraction and Report Language)

Perl - язык программирования, разработанный Ларри Уоллом (Larri Wall), в первую очередь предназначенный для обработки текста. Из-за своих мощных возможностей обработки текста Perl стал одним из самых популярных языков для написания сценариев CGI. Perl - интерпретируемый язык, что облегчает построение и тестирование простых программ.


PHP

PHP - скриптовый язык, внедряемый в HTML, выполняющийся на стороне сервера, и используемый для создания динамических Web-страниц. В документе HTML, сценарий PHP (аналогичный по синтаксису Perl или C) заключается в специальные теги PHP.

Поскольку PHP внедряется внутрь тегов, автор может перепрыгивать между HTML и PHP (подобно ASP и Cold Fusion) вместо необходимости полагаться на значительные количества кода для вывода HTML. И, поскольку PHP выполняется на сервере, клиент не может увидеть код PHP.

PHP может выполнить любую задачу, которую любая может выполнить любая программа CGI, но его сила заключается в совместимости со многими типами баз данных. Также PHP может взаимодействовать через сети, использующие IMAP, SMTP, NNTP, POP3 или HTTP.

PHP был создан где-то в 1994 году Расмусом Лердорфом (Rasmus Lerdorf). В течение середины 1997 года, разработка PHP перешла в руки других участников. Два из них: Зив Сураски (Zeev Suraski) и Энди Гутманс (Andi Gutmans) - переписали синтаксический анализатор с нуля, чтобы создать PHP версии 3 (PHP3). Сегодня PHP - стандарт для множества Web-серверов, включая RedHat Linux.

Подробнее...


PL/1 (Programming Language One)

В 1963 году фирма IBM приступила к осуществлению новой линии универсальных компьютеров, обладающих очень широким спектром возможностей. Естественно эти компьютеры требовали мощного языка, который и был разработан IBM совместно с ассоциацией SHARE. Работа над языком велась в условиях острой нехватки времени (начав работу в октябре 1963 года, планировали закончить ее к апрелю 1964). Многие хотели видеть в качестве основы этого языка FORTRAN, который, однако, был отвергнут из-за ограниченности возможностей, что делало его непригодным в качестве универсального языка.

Спецификации языка были завершены лишь к февралю 1964 году, а о создании нового языка программирования PL/1 было доложено лишь в марте. Некоторые специалисты называли язык бесформенным, неуклюжим и избыточным; его сравнивали со складным ножом со 100 лезвиями; многие спрашивали, почему бы проектировщикам не добавит в него еще и раковину.

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

Многие надеялись, что PL/1 явится кульминацией всего того, что возникло в языках программирования того времени, так оно и было, отчасти. Критики отмечали, что язык наделен многими качествами, в которых лишь увековечились ошибки прошлого; первые коммерчискеи языки оказали отрицательное влияние на развитие PL/1 и последующих языко программирования.

Следующий пример на PL/1 перводит градусы по Фаренгейту в градусы по Цельсию.

FTOC: PROC OPTIONS(MAIN);
      DCL (FAHR,CENT) REAL DEC FLOAT(6);
      PUT LIST('Input Farengheit: ');
      GET LIST (FAHR);
      CENT=(FAHR-32)*5/9;
      PUT LIST ('Celsius is: '!!CENT);
END FTOC;

Prolog (PROgramming in LOGic)

Язык программирования, используемый для разработки приложений AI (систем перевода, экспертных систем, абстрактного решения проблем, и т.д.). Разработанный в Франции в 1972 Аланом Колмари, он используется во всей Европе и Японии и увеличивает свою популярность в США.

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

Подобно LISP'у, Prolog имеет дело с символическими изображениями объектов. Следующий пример, написанный на Prolog'e Эдингбургского Университета, превращает градусы по Фаренгейту в градусы по Цельсию:

convert:- write('Enter Fahrenheit'),
 read(Fahr),
 write('Celsius is '),
 Cent is (5 * (Fahr - 32)) / 9,
 write(Cent),nl.

Python

Python является интерпретируемым диалоговым объектно-ориентированным языком программирования,Логотип Python разработанным Гвидо ван Россумом (Guido van Rossum). Имя происходит от одного из любимых телевизионных шоу ван Россума: "Летающий цирк Монти Питона" (Monty Python's Flying Circus). Python объединяет поразительную мощность с очень понятным синтаксисом. Он имеет модули, классы, исключения, динамические типы данных очень высокого уровня, и динамический контроль типов. Существуют интерфейсы для множества системных вызовов и библиотек, так же как и для различных оконных систем (X11, Motif, Tk, Mac, MFC). Новые встраиваемые модули легко пишутся на C или C++. Python также удобен как язык расширения для приложений, которым необходим программируемый интерфейс. Реализация Python переносима: он работает на многих марках UNIX, на Windows, DOS, OS/2, Mac, Amiga... Если ваша любимая система не указана здесь, она все же может поддерживаться, если есть компилятор C для нее. Реализация Python охраняется авторским правом, но свободно используется и распространяется, даже для коммерческого использования.


Simula

Simula - универсальный язык программирования. Simula-1 - первый из "cимул" использовался как язык моделирования сложных систем. В более позднем языке - Simula-67 - разработанном в Норвежском вычислительном центре, получили дальнешее развитие основные понятия алгоритмического языка Algol-60, входящего в Simula-67 как подмножество, и языка Simula-1. В дополнение к возможностям Algol-60 язык Simula-67 содержит удобный аппарат описания новых понятий, средства обработки текстовой информации, стандартные средства ввода-вывода.

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

Наиболее широко Simula-67 используется для решения задач имитационного моделирования сложных систем. С помощью Simula-67 успешно разрабатывались модели вычислительных систем, сетей ЭВМ, бортовых систем управления, робототехнических систем.

Следующий пример на Simula-67 переводит температуру из градусов по Фаренгейту в градусы по Цельсию.

begin real fahr, cent;
   outtext('Input Fahrenheit ');
   fahr:=inreal;
   cent:=(fahr-32)*5/9;
   outtext('Celsius is');outfix(cent,10,4);
   outimage;
end

Ассемблер(ы)

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

Точно известно, что первый ассемблер был создан для того, чтобы облегчить программистам их работу. Простые мнемоники похожие на слова (MOV, ADD, MUL и т.д.) позволяли не запоминать непосредственно коды комманд процессора, но каждая инструкция на ассемблере соответсвует одной и только одной команде, позволяя работать с процессором напрямую, избегая лишних конструкций. Такой подход оказался оправданным: написание программ облегчилось (в известной мере), а эффективность утрачена не была, в отличие от использования языков высокого уровня и посредников между ними и компьютером: интерпретаторов и компиляторов.

Поскольку ассемблер непосредственно связан с машиной, существует множество "диалектов" этого языка, а иногда даже оправданнее говорить о нескольких языках, однако для семейств процессоров (80x86, например) ассемблеры остаются похожими, лишь расширяясь и дополняясь.

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


Планкалкюль

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

Работая в одиночку, Цузе создал систему программирования, которую назвал Планкалкюль. К сожалению эта система никогда не была реализована ни на одной из существующих машин...


Если Вы дочитали этот раздел моей странички до конца, значит Вы заинтересовались и мой труд не пропал даром. Если у Вас есть сведения о каких-либо еще языках программирования, которые здесь не перечислены, или Вы просто знаете о существовании таких языков, сообщите мне по адресу selarin@narod.ru или оставьте сообщение в гостевой книге.
С уважением Сергей Ларин.

Хостинг от uCoz