Языки программирования список основные: Список языков программирования по категориям — Википедия – Язык программирования — Википедия

Содержание

Основы программирования и основные языки программирования | Info-Comp.ru

Программирование для начинающих

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

Умение писать программы — это такое же умение, как и умение плавать, танце­вать или жонглировать. Некоторым людям действительно удается делать это намного лучше, чем другим, но любой человек сможет достичь определенных результатов при должной практике. Именно по этой причине дети становятся асами программирова­ния в раннем возрасте. Дети не обязательно гениальны; они просто склонны позна­вать новое и не боятся ошибаться.

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

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

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

Самое сложное в программировании — определение небольших проблем, обра­зующих проблему, которую вам необходимо решить. Так как компьютеры абсолютно глупы, вам придется рассказать им, как выполнять любые действия.

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

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

Любознательность. Здоровая доза любознательности может подогревать ваше стремление к экспериментированию и дальнейшему совершенст­вованию навыков программирования даже после прочтения настоящей книги. Благодаря любопытству изучение программирования окажется для вас менее скучным и более интересным. А если вам интересно, вы обязательно изучите и запомните больше сведений, чем любой абсо­лютно незаинтересованный в этом человек (например, ваш начальник).

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

Стремление, любознательность и воображение — вот три самых важных качества, которыми должен обладать каждый программист. Если вы обладаете ими, вам стоит беспокоиться только о мелочах: какой язык программирования изучать (например, C++), что там с математикой и т.д.

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

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

0010 1010 0001 1101

ООН 1100 1010 1111

0101 ОНО 1101 0101

1101 1111 0010 1001

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

Теперь мне бы хотелось разъяснить вам, что следует отличать язык программирования (Basic, Pascal) от его реализации, которая обычно представлена в составе среды программирования (Quick Basic, Virtual Pascal) — набора средств для редактирования исходных текстов, генерации исполняемого кода, отладки, управления проектами и т.д. Синтаксис и семантика языка программирования фиксируется в стандарте языка. Каждая среда программирования предоставляет свой интерпретатор или компилятор с этого языка, который зачастую допускает использование конструкций, не фиксированных в стандарте.

Рассмотрим основные и популярные языки программирования

Assembler Это ярчайший представитель языков низкого уровня, набор понятий которого основан на аппаратной реализации. Это средство автоматизации для программирования непосредственно в кодах процессора. Машинные команды описываются в виде мнемонических операций, что позволяет добиться достаточно высокой модифицируемости кода. Поскольку набор команд на разных процессорах различен, то и о совместимости говорить не приходится. Использование ассемблера целесообразно в случаях, когда необходимо напрямую взаимодействовать с оборудованием, либо получить большую эффективность для некоторой части программы за счет более высокого контроля над генерацией кода.

Кобол — Язык программирования высокого уровня, разработанный в конце 1950-х гг. ассоциацией КАДАСИЛ для решения коммерческих и экономических задач. Отличается развитыми средствами работы с файлами. Поскольку команды программ, написанных на этом языке, активно используют обычную английскую лексику и синтаксис, Кобол рассматривается как один из самых простых языков программирования. В настоящее время используется для решения экономических, информационных и других задач.

Фортран — Язык программирования высокого уровня, разработанный фирмой IBM в 1956 г. для описания алгоритмов решения вычислительных задач. Относится к категории процедурно-ориентированных языков. Наиболее распространенными версиями этого языка являются Фортран IV, Фортран 77 и Фортран 90. Используется на всех классах ЭВМ. Последняя его версия также применяется на ЭВМ с параллельной архитектурой.

Ада — Язык программирования высокого уровня, ориентированный на применение в системах реального времени и предназначенный для автоматизации задач управления процессами и/или устройствами, например, в бортовых (корабельных, авиационных и др.) ЭВМ. Разработан по инициативе министерства обороны США в 1980-х гг. Назван в честь английского математика Ады Августы Байрон (Лавлейс), жившей в 1815-1851 гг.

BASIC (Beginner’s All-purpose Symbolic Instruction Code) Рожденный в 60-е годы в Америке. Бейсик был задуман как простой язык для быстрого освоения. Бейсик стал фактическим стандартом для МикроЭВМ именно благодаря своей простоте как в освоении так и в реализации. Однако для достижения этого качества был принят ряд решений (отсутствие типизации, нумерация строк и неструктурное GOTO, и др.), негативно сказывающихся на стиле изучающих программирование. Кроме того, недостаток выразительных средств привел к появлению огромного количества диалектов языка, не совместимых между собой. Современные, специализированные версии Бейсика (такие как Visual Basic) несмотря на приобретенную «структурность» обладают все теми же недостатками, прежде всего — небрежностью по отношению к типам и описаниям. Пригоден для использования на начальном этапе обучения, как средство автоматизации (в случаях когда он встроен в соответствующие системы) либо как средство для быстрого создания приложений.

Pascal Разработанный известным теоретиком Н.Виртом на основе идей Алгола-68, Паскаль предназначался прежде всего для обучения программированию. Построенный по принципу «необходимо и достаточно», он располагает строгим контролем типов, конструкциями для описания произвольных структур данных, небольшим, но достаточным набором операторов структурного программирования. К сожалению, обратной стороной простоты и строгости является громоздкость описаний конструкций языка. Наиболее известная реализация — Turbo/Borland Pascal — несмотря на отличия от стандарта Паскаля, представляет из себя среду и набор библиотек, сделавшие из учебного языка промышленную систему для разработки программ в среде MS-DOS.

C и C++ В основе языка C — требования системного программиста: полный и эффективный доступ ко всем ресурсам компьютера, средства программирования высокого уровня, переносимость программ между различными платформами и операционными системами. С++, сохраняя совместимость с C, вносит возможности объектно-ориентированного программирования, выражая идею класса (объекта) как определяемого пользователем типа. Благодаря перечисленным качествам, C/C++ занял позицию универсального языка для любых задач. Но его применение может стать неэффективным там, где требуется получить готовый к употреблению результат в кратчайшие сроки, либо там, где невыгодным становится сам процедурный подход.

Delphi — это не продолжатель дела Borland Pascal / Borland C, его ниша — т.е. быстрое создание приложений (Rapid Application Developing, RAD). Подобные средства позволяют в кратчайшие сроки создать рабочую программу из готовых компонентов, не растрачивая массу усилий на мелочи. Особое место в таких системах занимают возможности работы с базами данных.

Лисп — Алгоритмический язык, разработанный в 1960 г. Дж. Маккарти и предназначенный для манипулирования перечнями элементов данных. Используется преимущественно в университетских лабораториях США для решения задач, связанных с искусственным интеллектом. В Европе для работ по искусственному интеллекту предпочитают использовать Пролог.

Пролог — Язык программирования высокого уровня декларативного, предназначенный для разработки систем и программ искусственного интеллекта. Относится к категории языков пятого поколения. Был разработан в 1971 г. в университете г. Марсель (Франция), относится к числу широко используемых и постоянно развиваемых языков. Последняя его версия Prolog 6.0

ЛОГО — Язык программирования высокого уровня, разработан в Массачусетском технологическом институте в ориентировочно 1970 г. для целей обучения математическим понятиям. Используется также в школах и пользователями ПЭВМ при написании программ для создания чертежей на экране монитора и управления перьевым графопостроителем.

Java Как яркий пример специализации, язык Java появился в ответ на потребность в идеально переносимом языке, программы на котором эффективно исполняются на стороне клиента WWW. В ввиду специфики окружения, Java может быть хорошим выбором для системы, построенной на Internet/Intranet технологии.

Алгол — Язык программирования высокого уровня, ориентированный на описание алгоритмов решения вычислительных задач. Был создан в 1958 г. специалистами западно-европейских стран для научных исследований. Версия этого языка Алгол-60 была принята Международной конференцией в Париже (1960 г.) и широко использовалась на ЭВМ 2-го поколения. Версия Алгол-68, разработанная группой специалистов Международной федерации по обработке информации (ИФИП) в 1968 г., получила статус международного универсального языка программирования, ориентированного на решение не только вычислительных, но и информационных задач. Хотя в настоящее время Алгол практически не используется, он послужил основой или оказал существенное влияние на разработку более современных языков, например, Ада, Паскаль и др.

Самого лучшего языка не существует. Если вы собираетесь стать профессионалом в написании программ, вам необходимо изучить один из языков программирования высокого уровня (наиболее популярен язык программирования C++), а также один из языков программирования баз данных (например, SQL). Изучив язык программиро­вания C++, вы не ошибетесь. Зная этот язык, вы всегда сможете найти работу в любой компании, занимающей­ся программированием.
Несмотря на большую популярность языка программирования C++, часто исполь­зуются и другие языки. На многих устаревших компьютерах до сих пор работают программы, написанные на языке программирования COBOL. Поэтому нужны про­граммисты, которые умеют усовершенствовать данные программы, а также писать но­вые. Очень часто крупные компании выплачивают таким программистам высокую за­работную плату.
Если вы собираетесь работать самостоятельно, предпочтительнее всего научиться создавать собственные программы для баз данных. Для этого вам понадобится изучить такие языки программирования, как SQL или VBA, которые используются в програм­ме Microsoft Access. Для того чтобы создавать Web-страницы, необходимо знать HTML, а также немного знать Java, JavaScript, VBScript и другие языки программиро­вания для Internet. Самым нужным будет тот язык программирования, который по­зволит решить поставленные перед вами задачи легко и быстро. Это может быть язык программирования C++, BASIC, Java, SQL или язык ассемблера.

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

Желаю удачи в освоение программирования!

Список языков программирования по типу — List of programming languages by type

список статей Викимедиа

Это список известных языков программирования , сгруппированных по типу.

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

языки массива

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

языки Ассамблеи

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

языки авторинга

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

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

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

Языки интерфейса командной строки

Интерфейс командной строки (CLI) языки также называются языками пакетных или языки управления заданиями. Примеры:

Составитель языки

Эти языки , как правило , обработанные с помощью трансляторов , хотя теоретически любой язык может быть транслируемым или интерпретируемым. Смотрите также скомпилированный язык .

  • ActionScript
  • Ада (язык многоцелевой)
  • Алгол (чрезвычайно влиятельная дизайн язык — второй компилятор языка высокого уровня)
  • Балерина (компилируется в байт — код специфичные для Балерина Время воспроизведения (BVM))
  • Основные (некоторые диалекты, включая первую версию Дартмут BASIC)
  • BCPL
  • C (один из наиболее широко используемых процедурных языков программирования)
  • С ++ (Одним из наиболее широко используемых объектно-ориентированных языков (ОО) , специально используемых в крупномасштабных, очень сложны, программное обеспечение высокой производительности системы)
  • C # (скомпилирован в CIL , который генерирует машинный образ во время выполнения)
  • Цейлон (компилируются в JVM байт — код )
  • CHILL
  • CLIPPER 5.3 (Язык программирования для программного обеспечения DOS основы)
  • CLEO (Clear язык для заказов) , используемый в качестве компилятора для британских компьютеров Leo
  • Кобол
  • кобра
  • Common Lisp
  • кристалл
  • Curl
  • D (на основе реинжиниринга C ++)
  • DASL компилируется в Java, JavaScript, JSP, Flex и т.д., которые дополнительно собраны в .war файл
  • Delphi ( Borland системы объектов разработки Паскаля)
  • Дибол (Digital Interactive Business Oriented Language)
  • Dylan
  • еС
  • Эйфелева (объектно-ориентированный язык , разработанный Bertrand Meyer )
  • вяз
  • Emacs Lisp
  • Erlang
  • F # (скомпилирован в CIL , который генерирует машинный образ во время выполнения)
  • фактор
  • Forth (профессиональные системы, как VFX и SwiftForth)
  • Fortran (первый высокого уровня, компилируемый язык, от IBM , Джон Бэкусом , и др.)
  • GAUSS
  • Идти
  • Gosu (компилируются в JVM байт — код )
  • Превосходные (компилируются в JVM байт — код )
  • Haskell
  • гавань
  • Java (обычно компилируются в JVM байткод , хотя впереди, по времени (АОТ) компиляторы существуют , которые компилируются в машинный код )
  • ДЖОВИАЛ
  • LabVIEW
  • Меркурий
  • столовая гора
  • Nemerle (компилируется в промежуточный язык байт — код)
  • Nim
  • Objective-C
  • п
  • Pascal (большинство реализаций)
  • PL / I (большой языком общего назначения, первоначально для IBM мэйнфреймы)
  • плюс
  • Python (компилируется в промежуточный Virtual Machine байткод )
  • RPG (Report Generator Программа)
  • Ржавчина
  • Скала (компилируются в JVM байт — код )
  • Схема (некоторые реализации, например Гамбит)
  • SequenceL — чисто функциональный, автоматически распараллеливания и гонки бесплатно
  • Симула (первый объектно-ориентированный язык, разработанный Ole-Johan Dahl и Нюгорд )
  • Smalltalk обычно компилируются платформы независимого байткод , который работает на виртуальной машине
  • стриж
  • ML
  • Тьюринг
  • Валы (компилятор для системы типа GObject)
  • Visual Basic (более ранние версии , собранные непосредственно в родную среду выполнения. Последние версии .NET компилировать в КСС , который только по времени , составленный в нативные изображения во время выполнения.)
  • Visual FoxPro
  • Visual Prolog
  • Xojo

Одновременные языки

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

  • Ада (язык многоцелевой)
  • Алеф — параллельный язык с потоками и передачи сообщений, используется для системного программирования в ранних версиях Plan 9 от Bell Labs
  • Атэдзи PX расширение языка Java для параллелизма
  • Балерина — это язык , разработанный для внедрения и оркестровки микро-услуг. Обеспечивает параллельную первую модель параллелизма сообщений на основе.
  • Chuck — домен конкретного языка программирования для аудио, точный контроль над параллельности и времени
  • Cilk — одновременный C
  • СШ — C Омега, исследование языка расширения C #, использует асинхронную связь
  • Clojure — диалект Lisp для виртуальной машины Java
  • часовня
  • Co-массив Fortran
  • Параллельное Паскаль (по Brinch-Hansen)
  • Карри
  • E — использует обещания, обеспечивает тупики не может произойти
  • Эйфелева (через SCOOP механизм, Простой Параллельное объектно-ориентированное вычисление)
  • Elixir (работает на Erlang VM)
  • Erlang — использует асинхронную передачу сообщений ничего общего
  • Идти
  • Джава
  • Юля
  • Джоуля — поток данных языка, обмен данными с помощью передачи сообщений
  • Limbo — родственник Alef , используется для системного программирования в Inferno (операционная система)
  • MultiLisp — схема варианта расширена для поддержки параллельности
  • Оккам — влияние в большой степени Взаимодействующие последовательные процессы (ПСУ)
  • орк
  • Оз — multiparadigm язык, поддерживает общее состояние и-передачи сообщений , параллелизм и фьючерсы, и Моцарт Системное программирование кросс-платформенный Oz
  • п
  • Pict — по существу исполняемая реализация Милнер я-исчисление
  • Ржавчина
  • Сальса — язык актер с передачей маркера, присоединиться, и первого класса продолжений для распределенных вычислений через Интернет
  • Scala — реализует Erlang стиля актеров на JVM
  • SequenceL — чисто функциональный, автоматически распараллеливания и гонки бесплатно
  • SR — исследование языка
  • Единая Параллельный С
  • XProc — язык обработки XML, что позволяет параллелизм

Языки Curly-кронштейн

В фигурной скобках, или фигурная скобка языки программирования имеет синтаксис , который определяет операторные блоки , используя фигурные скобки или фигурные скобки символы {и} . Этот синтаксис возник с BCPL (1966), и был популяризированный C . Многие языки фигурные скобки опускаются от или находятся под сильным влиянием C. Примеры языков фигурная скобка , включают:

DataFlow языки

DataFlow программирования языки полагаться на (обычно) визуального представления потока данных , чтобы определить программу. Часто используют для реакции на дискретные события или для обработки потоков данных. Примеры языков включают потоки данных:

Данные-ориентированные языки

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

языки Решения таблицы

Таблицы принятия решений могут быть использованы в качестве вспомогательного средства для разъяснения логики , прежде чем писать программу на любом языке, но в 1960 — х годах были разработаны ряд языков , где основная логика выражается непосредственно в виде решения таблицы, в том числе:

декларативные языки

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

вложимых языки

В исходном коде

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

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

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

на стороне сервера
  • PHP
  • VBScript
  • SMX — посвященный веб — страниц
  • Tcl — на стороне сервера в NaviServer и одним из основных компонентов в системах электронной промышленности
  • WebDNA — посвященный веб — сайтов на основе баз данных

Приведенные выше примеры являются особенно посвящены этой целью. Большое количество других языков, таких как Erlang , Scala , Perl и Ruby , могут быть адаптированы (например, путем превращено Apache модулей).

Сторона клиента

В коде объекта

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

Развивающие языки

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

Эзотерические языки

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

языки расширения

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

языки четвертого поколения

Основная категория: 4GL

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

Функциональные языки

Функциональное программирование Языки разработки программ и подпрограмм , как математические функции и рассматривать их в качестве первого класса. Многие так называемые функциональные языки являются «нечистыми», содержащий императивные функции. Многие функциональные языки связаны с математическими инструментами расчета. Функциональные языки включают:

чистый

нечистый

языки описания аппаратных средств

В электрониках, язык описания аппаратного или HDL является специализированным компьютерным языком , используемый для описания структуры, конструкции и принцип работы электронных схем, и наиболее часто, цифровые логические схемы. Два наиболее широко используемых и хорошо поддержанные сорта ЛПВП , используемые в промышленности Verilog и VHDL . Описание Аппаратная языки включают:

HDLs для проектирования аналоговых схем

  • Verilog-AMS (Verilog для аналоговых и смешанных сигналов)
  • VHDL-AMS (VHDL с расширением аналогового / Mixed-Signal)

HDLs для проектирования цифровых схем

Императивные языки

Императивные языки программирования могут быть несколько парадигм и появляются в других классификациях. Вот список языков программирования , которые следуют императивной парадигме :

Интерактивные языки режима

Интерактивные языки режима действуют как своего рода оболочка: выражения или высказывания могут быть введены один за один раз, и результат их оценки виден сразу. Интерактивный режим также известен как REPL (чтение-EVAL-печати петля).

интерпретируемых языков

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

  • Муравей
  • APL
  • AutoHotkey язык сценариев
  • AutoIt язык сценариев
  • Основные (некоторые диалекты)
  • Databus (более поздние версии добавлена опция компиляции)
  • DM
  • Eiffel (через «Melting Ice Technology» в EiffelStudio )
  • Forth (интерактивная оболочка только, в противном случае компилируется в нативный или шитый код )
  • GameMaker Язык
  • Groovy
  • Haskell (GHCi, Объятия, NHC, МЖК и т.д.)
  • J
  • Джулия (Составитель на лету машинный код , но transpiler Julia2C также доступна.)
  • JavaScript
  • Lisp (Ранние версии, до 1962, а также некоторых экспериментальных из них, система производства Лисп компиляторы, но многие из них до сих пор предоставить переводчик , если это необходимо.)
  • LPC
  • Lua
  • MUMPS (стандарт языка общего назначения ANSI)
  • кленовый
  • Mathematica
  • MATLAB
  • Pascal (начало реализации)
  • PCASTL
  • Perl
  • PHP
  • PostScript
  • ПРОЗА
  • питон
  • REXX
  • р
  • Рубин
  • Сленг
  • Стандартный ML (SML)
  • Вращение
  • Tcl
  • TorqueScript
  • thinBasic язык сценариев
  • VBScript
  • Windows PowerShell ( Microsoft .NET -На CLI)
  • Вольфрам Язык
  • Некоторые языки сценариев ( ниже )

Итерационные языки

Итерационные языки строятся вокруг или предлагают генераторы .

Языки по типу управления памятью

Мусор собирали языки

Языки с ручным управлением памятью

Языки с детерминированным управлением памятью

Языки с автоматизированным подсчетом ссылок (ARC),

Список на основе языков — лепечет

Список основанных языков являются типом данных языка структурированных , которые основаны на список структуру данных.

Маленькие языки

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

  • AWK — могут служить в качестве языка прототипирования для C (акции аналогичный синтаксис)
  • Comet — используется для решения сложных комбинаторных оптимизационных задач в таких областях, как распределение ресурсов и планирование
  • СЭД — разборы и преобразует текст
  • SQL — есть только несколько ключевых слов, и не все конструкции , необходимых для полноценного языка программирования — многие системы управления базами данных SQL расширить с помощью дополнительных конструкций в качестве хранимой процедуры языка

Логика на основе языков

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

Примеры:

Машинные языки

Машинные языки являются исполняемым процессором компьютера. Они , как правило , приготовлены в виде битовых комбинаций, которые обычно представлены в восьмеричном или шестнадцатеричном формате . Каждый бита модель вызывает схемы в ЦП для выполнения одной из основных операций аппаратных средств. Активации специфических электрических входов (например, пакет процессора штырьки для микропроцессоров) и логических настроек для значений состояния процессора, контролировать вычисление процессора. Отдельные языки машины являются специфическими для семейства процессоров; машинно-код языка для одного семейства процессоров не может работать непосредственно на процессорах в другой семье , если процессоры в вопросе не имеют дополнительное оборудование для его поддержки (например, процессоры декабря VAX включен режим совместимости с PDP-11). Они ( по существу) всегда определяется разработчиком процессора, а не 3 сторон. Символическая версия, процессор на языке ассемблера , также определяются разработчиком, в большинстве случаев. Некоторые часто используемые машинный код набора команд являются:

макроязыков

замещение Текстологии макроязыки

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

Macro языки могут быть ограничены , действующие на специально обозначенных областей кода (предварительно фиксируется с #в случае препроцессора C). С другой стороны , они не могут, но в этом случае по — прежнему часто нежелательно (например) расширить макрос , внедренный в строковый литерал , так что они все еще нуждаются в элементарное понимание синтаксиса. В таком случае, они часто по- прежнему применимы к более чем на одном языке. Контраст с исходными-встраиваемыми языками , такими как PHP , которые полностью признаками.

  • CPP (С препроцессор)
  • m4 (первоначально от AT & T, в комплекте с Unix)
  • ML / I (общее назначение Макропроцессор)

макроязыки Применение

Языки сценариев , такие как Tcl и ECMAScript ( ActionScript , ECMAScript для XML , JavaScript , JScript ) были встроены в приложение. Их иногда называют «макро» языки, хотя и в несколько ином смысле , к текстуальным-макроподстановкам как m4 .

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

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

Multiparadigm языки

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

  • Ада ( одновременно , распределено , общее ( шаблон метапрограммирование ), крайне важно , объектно-ориентированный ( на основе классов ))
  • ALF ( функциональная , логика )
  • Алма-0 (ограничение, необходимо, логика)
  • APL (функциональное, императивное, объектно-ориентированный ( на основе классов))
  • БЕТА (функциональный, крайне важно, объектно-ориентированный ( на основе классов))
  • С ++ (родовое, крайне важно, объектно-ориентированный ( на основе классов), функциональный, метапрограммированием)
  • C # (общие, крайне важны, объектно-ориентированный ( на основе классов), функциональный, декларативный)
  • Цейлон (родовой, крайне важно, объектно-ориентированный ( на основе классов), функциональный, декларативный)
  • Chuck (императивное, объектно-ориентированный, основанный на время, одновременно, на лета)
  • Кобра (родовое, крайне важно, объектно-ориентированный ( на основе классов), функциональные, договорные)
  • Common Lisp (функциональное, императивное, объектно-ориентированный (класс на основе), аспектно-ориентированный (пользователь может добавить дополнительные парадигм, например, логика))
  • Скручивание (функциональное, императивное, объектно-ориентированный ( на основе классов), метапрограммированием)
  • Карри (одновременно, функциональный, логика)
  • D (общее, крайне важно, функциональное, объектно-ориентированный ( на основе классов), метапрограммирование)
  • Delphi (родовое, крайне важно, объектно-ориентированный ( на основе классов), метапрограммированием)
  • Дилан (функциональный, объектно-ориентированный ( на основе классов))
  • еС (родовой, крайне важно, объектно-ориентированный ( на основе классов))
  • ECMAScript (функциональное, императивное, объектно-ориентированный (прототип на базе))
  • Эйфелева (обязательно, объектно-ориентированный ( на основе классов), общие, функциональные (агенты), одновременно (совок))
  • F # (функциональный, универсальный, объектно-ориентированный ( на основе классов), язык-ориентированный)
  • Фантом (функциональный, объектно-ориентированный ( на основе классов))
  • Go (императивный, процедурный),
  • Превосходный (функциональный, объектно-ориентированный ( на основе классов), крайне важно, процедурные)
  • гавань
  • Hop
  • J (функциональное, императивное, объектно-ориентированный ( на основе классов))
  • Юлия (императив, множественная диспетчеризация ( «объектно-ориентированный»), функциональное, метапрограммирование)
  • LabVIEW ( поток данных , визуальный )
  • Лава (объектно-ориентированный ( на основе классов), визуальный)
  • Луа (функциональное, императивное, объектно-ориентированный ( прототип на базе ))
  • Ртуть (функциональный, логический, объектно-ориентированный)
  • Метаобъект протоколы (объектно-ориентированный (класс на основе, на основе прототипа))
  • Nemerle (функциональный, объектно-ориентированный ( на основе классов), крайне важно, метапрограммированием)
  • Objective-C (обязательно, объектно-ориентированный ( на основе классов), отражающие)
  • OCaml (функциональное, императивное, объектно-ориентированный ( на основе классов))
  • Oz (функциональная (оценка: нетерпеливый , ленивый ), логика, ограничение , необходимо, объектно-ориентированный (класс на основе), одновременно, распределенных) и системное программирование Моцарт кросс-платформенный Oz
  • Object Pascal (важно, объектно-ориентированный ( на основе классов))
  • Perl (обязательно, функциональный (не может быть чисто функциональным), объектно-ориентированный, класс-ориентированный, аспект-ориентированной (через модули))
  • РНР (обязательно, объектно-ориентированный)
  • щука
  • ПроГраф (поток данных, объектно-ориентированный ( на основе классов), визуальный)
  • Python (функциональный, составленный, интерпретируемый, объектно-ориентированный ( на основе классов), крайне важно, метапрограммирование, расширение, нечистый, интерактивный режим, итеративные, отражательные, сценарии)
  • R (массив, интерпретируется, нечистым, интерактивный режим, на основе списка, объектно-ориентированный прототип на основе сценариев)
  • Ракетка (функциональное, императивное, объектно-ориентированный ( на основе классов) и может быть расширен пользователем)
  • REBOL (функциональное, императивное, объектно-ориентированный (прототип на основе), метапрограммирование (dialected))
  • КРАСНЫЙ (функциональное, крайне важно, объектно-ориентированный (прототип на основе), метапрограммирование (dialected))
  • Руп (обязательно, логика, объектно-ориентированный ( на основе классов), основанной на правилах)
  • Рубин (обязательно, функциональное, объектно-ориентированный ( на основе классов), метапрограммирование)
  • Ржавчина (одновременное, функциональное, императивное, объектно-ориентированный, родовое, метапрограммирование, компилируется)
  • Скала (функциональный, объектно-ориентированный)
  • Seed7 (обязательно, объектно-ориентированный, общий)
  • СИЗАЛЬ (одновременно, поток данных, функциональный)
  • Электронные таблицы (функциональный, визуальный)
  • Свифта (протокол-ориентированный, объектно-ориентированный, функциональный, крайне важно, блок-структурированный)
  • Tcl (функциональное, императивное, объектно-ориентированный ( на основе классов))
    • Чай (функциональное, императивное, объектно-ориентированный (класс на базе))
  • Windows PowerShell (функциональное, императивное, трубопроводный, объектно-ориентированный (класс на базе))
  • Вольфрам Язык

Числовой анализ

языки Non-английский основе

Объектно-ориентированные языки класса на основе

Класс на основе объектно-ориентированные языки программирования поддерживают объекты , определенные в своем классе. Определения классов включают в себя данные членов. Передача сообщений является ключевым понятием (если не ключевое понятие) в объектно-ориентированных языках.

Полиморфные функции параметризованных класса некоторых из их аргументов , как правило , называются методами. В языках с одинарной диспетчеризацией , классы , как правило , также включают в себя определение методов. В языках с множественной диспетчеризации , методы определяются родовыми функциями . Есть исключения , когда единичная диспетчеризация метода являются общими функциями (например Bigloo системы объекта «s).

Множественная диспетчеризация

Одно диспетчерская

  • ActionScript 3.0
  • Актер
  • Ада 95 и Ада 2005 (язык многоцелевой)
  • APL
  • БЕТА
  • C ++
  • C #
  • Цейлон
  • Кислородный (ранее известный как Chrome)
  • зажимной патрон
  • кобра
  • Холодный синтез
  • Curl
  • D
  • DASL
  • Delphi
  • Е
  • GNU E
  • еС
  • Eiffel
  • F-Script
  • Fortran 2003
  • Крепость
  • Gambas
  • Game Maker Language
  • гавань
  • J
  • Джава
  • LabVIEW
  • лава
  • Lua
  • Modula-2 (абстракция данных, сокрытие информации, строгая типизация, полная модульность)
    • Модуле-3 (добавлено более объектно-ориентированные функции в Модуле-2)
  • Nemerle
  • IBM NetRexx
  • Оберон-2 (полная объектно-ориентация эквивалентность в оригинале, строго типизированный, Wirthian образом)
  • Object Pascal
  • REXX Object
  • Objective-C (надмножество C добавив Smalltalk полученную модель объекта и передачи сообщений синтаксиса)
  • OCaml
  • Оз, Моцарт Programming System
  • Perl 5
  • PHP
  • щука
  • ПроГраф
  • Python (интерпретируемый язык, необязательно объектно-ориентированный)
  • Революция (программист не получает , чтобы выбрать объекты)
  • Рубин
  • Scala
  • Симула (первый объектно-ориентированный язык, разработанный Ole-Johan Dahl и Нюгорд )
  • Smalltalk (чистый объектно-ориентации, разработанный в Xerox PARC )
  • ВРАЩЕНИЕ
  • SuperCollider
  • VBScript ( ‘макрос сценариев’ языка Microsoft Office)
  • Visual DataFlex
  • Visual FoxPro
  • Visual Prolog
  • X ++
  • Xojo
  • XOTcl

Объектно-ориентированный прототип на основе языков

Прототип на основе языка являются объектно-ориентированными языками , где было удалено различие между классами и экземплярами:

Языки Off стороны правила

Off-стороны правила языки обозначают блоки кода их отступ .

Процедурные языки

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

  • Ада (язык многоцелевой)
  • Алгол (чрезвычайно влиятельная дизайн язык — второй компилятор языка высокого уровня)
  • Алма-0
  • ОСНОВНЫЕ (Основы невиновны большая модульность (особенно) версий до около 1990)
  • BCPL
  • BLISS
  • С
  • C ++ (C с объектами , а также многое другое, например, дженерики через STL)
  • C # ( по аналогии с Java / C ++)
  • Цейлон
  • CHILL
  • Chuck (C / Java-подобный синтаксис, с новыми элементами синтаксиса времени и параллельности)
  • Кобол
  • кобра
  • Холодный синтез
  • Комбинированный язык программирования (CPL)
  • Curl
  • D
  • DASL (частично декларативный , частично императив )
  • еС
  • ECMAScript
  • Eiffel
  • Fortran (лучше модульность в более поздних стандартов)
  • GAUSS
  • Идти
  • гавань
  • HyperTalk
  • Джава
  • ДЖОВИАЛ
  • Юля
  • Лассо
  • Модуле-2 ( в основном на основе модулей)
  • Mathematica
  • MATLAB
  • столовая гора
  • MUMPS (более модульный в первом выпуске , чем язык того времени должна была быть , стандарт стал еще более модульным с тех пор.)
  • Nemerle
  • Nim
  • Оберон и Оберон-2 (улучшение, меньше, быстрее, безопаснее последующие дополнения для Modula-2)
  • Оккам
  • эркер
  • Паскаль (преемник АЛГОЛа 60, предшественник Модуле-2)
  • PCASTL
  • Perl
  • щука
  • PL / C
  • PL / I (большой языком общего назначения, первоначально для IBM мэйнфреймы)
  • плюс
  • ПРОЗА
  • питон
  • р
  • Рапира
  • RPG (доступна только в IBM «s System я MIDRANGE компьютеры)
  • Ржавчина
  • Сленг
  • VBScript
  • Visual Basic
  • Visual FoxPro
  • Вольфрам Язык
  • X ++

языки запросов

Светоотражающие Язык

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

Правило на основе языков

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

языки сценариев

« Язык сценариев » имеет два по- видимому , другое, но на самом деле похожи, смыслы. В традиционном смысле, скриптовые языки предназначены для автоматизации часто используемых задач , которые обычно включают вызов или передачи команд к внешним программам. Многие сложные прикладные программы обеспечивают встроенные языки , которые позволяют пользователям автоматизировать задачи. Те, которые интерпретирующие часто называются языками сценариев.

В последнее время многие приложений имеют встроенные в традиционных языках сценариев, такие как Perl или Visual Basic , но есть довольно много родных языков сценариев все еще в использовании. Многие языки сценариев компилируются в байт — код , а затем это (обычно) независимый от платформы байткодом проходит через виртуальную машину ( по сравнению с Java виртуальной машины ).

Языки Стек на основе

Стек на основе языки представляют собой тип данных языка структурированных , которые основаны на стеку структуры данных.

Синхронные языки

Синхронные языки программирования оптимизированы для программирования реактивных систем, систем, которые часто прерываются и должны быстро реагировать. Многие такие системы также называют системы реального времени , и часто используются в встраиваемых системах .

Примеры:

языки затенения

Язык затенения это язык программирования графики адаптирован к программированию шейдерных эффектов. Такие языковые формы , как правило , состоят из специальных типов данных, как «цвет» и «нормальные». Из — за различные целевые рынки для 3D компьютерной графики.

В режиме реального времени рендеринга

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

Offline рендеринга

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

Языки обработки Синтаксис

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

  • ANTLR
  • Кокосовый / R (РБНФ с семантикой)
  • GNU Зубр (версия FSF по Yacc)
  • GNU Flex (версия FSF о Lex)
  • glex / gyacc (GoboSoft компилятор компилятор Eiffel)
  • Лекса (Лексический анализ, из Bell Labs)
  • M4
  • Yacc (еще один компилятор компиляторов, из Bell Labs)
  • JavaCC

языки системы

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

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

Обзор языков программирования — AppTractor

Компьютерные программы часто описываются как «наборы инструкций», и компьютерные языки воспринимаются многими только как словарный и синтаксический способ обеспечения этих инструкций.

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

Но реальность программирования гораздо сложнее.

Программирование сегодня

Это странно, но большинство действительно «глобальных» идей в компьютерном программировании были разработаны еще в 1950-х и 60-х годах. С тех пор появилось много новых языков, но ни один из них не реализует действительно нового подхода к логике и вычислениям.

Разработка новых языков программирования в течение последних нескольких десятилетий была основана на опыте разработчиков. Это означает, что появился код, который стало проще писать (движущая сила Ruby) и проще читать (Python), и делать определенные типы логических структур и способы решения проблем более интуитивными.

Некоторые языки были разработаны для решения конкретных проблем в программировании (например PHP и SASS), чтобы управлять определенными типами систем (SQL), или для работы в определенной среде или на определенной платформе (Java и JavaScript). Некоторые языки были разработаны специально для того, чтобы помочь новичкам научиться программировать (классическими примерами являются BASIC и Scratch).

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

Относительно недавнее развитие включает в себя такое понятие, как SOA (Service Oriented Architecture- сервисо-ориентированная архитектура) и MVC (Model-View-Controller), а также фреймворки, такие как  Ruby on Rails, позволяющие программистам легко работать в рамках этих парадигм.

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

Пополняющийся список популярных языков программирования, разметок и протоколов. Ссылки на описание каждого из них:

Кодировка ASCII

  • Кодировка символов является одним из основных компьютерных и Интернет аспектов. ASCII — это первая, широко использованная система кодировки символов. Она была вытеснена UTF-8, но ASCII по-прежнему является основой для подавляющего большинства символов в Интернете и на сегодняшний день. Понимание этого очень важно для программистов. Читайте подробнее здесь (англ): The Ultimate Guide to ASCII Encoding

ASP / ASP.NET

  • ASP — это аббревиатура для Active Server Pages. Это первый скриптовый серверный язык для  веб-сервера Microsoft IIS. ASP был заменен на серверный фреймворк с открытым исходным кодом — ASP.NET. Подробнее (англ): ASP Primer

AutoLISP

  • AutoLISP — это простой, легкий, интерпретируемый язык программирования, созданный специально для автоматизированного проектирования программного обеспечения. Читайте об этом (англ): AutoLISP Resources

Awk

  • Awk является чрезвычайно мощным языком программирования для обработки текстов, позволяющим извлекать данные из файла или другого источника, и выводить их в любом формате, который вам нужен. Он является уже старым инструментом, но все еще так же полезен, как и раньше. Узнайте подробнее (англ):  Awk Resources.

BASH

  • Bash — это наиболее часто используемый интерфейс командной строки в мире Unix. Это интерфейс на основе текста по умолчанию и для Linux и для Mac OS X. Подробнее (англ): Bash Scripting Guide

Common Lisp

  • Lisp является довольно уникальным языком программирования, возможно, самым древним языком и до сих пор продолжает использоваться. Это особенно важно в области искусственного интеллекта. Подробнее (англ): Common Lisp

C

  • Если мы включим сюда две производные этого языка, то смело можно будет сказать, что ни один язык не проиносил большей пользы и большего влияния, чем С. Это особенно важно для развития операционных систем и другого программного обеспечения. Многие компиляторы и интерпретаторы для других языков написаны на языке C. Подробнее (англ): C Developer Resouces

C++

  • Первоначально он назывался «C с классами», C++, во многих отношениях, просто более продвинутый преемник C (хотя в целом ситуация сложнее). C++ был разработан, чтобы добавить высокий уровень парадигмы программирования C, сохраняя при этом возможности аппаратной манипуляции низкого уровня. Многие из этих дополнений добавлялись в C на протяжении многих лет, и языки больше похожи на два диалекта одного и того же языка. Подробнее (англ): C++ Developer Resources

C#

  • Использовался в качестве основного языка для .NET программирования, похож на C++, является расширением языка программирования C, но с важным дополнением в виде объектно-ориентированных возможностей. Подробнее (англ): C# Resources

CSS / CSS3

  • CSS или Cascading Style Sheets, также не является языком программирования, а языком стиля страницы — это язык, предоставляющий стиль и правила компоновки документам и приложениям. Является основным используемым в Интернете языком стиля. Подробнее: CSS Resources

Emacs Lisp

  • Emacs уже давно был известен как популярный и мощный текстовый редактор. Но добавление в него Emacs Lisp, превращает его в интегрированную среду разработки для почти любого языка программирования. Подробнее (англ): Emacs Lisp Resources Page.

F#

  • F# — язык программирования общего назначения. Разработан, чтобы быть чрезвычайно эффективным. Будучи изначально только языком Microsoft, теперь является языком с открытым исходным кодом и используется на всех платформах. Подробнее (англ): F# Resources .

FORTAN

  • Fortran впервые появился в 1957 году и до сих пор используется для решения некоторых из наиболее сложных проблем современной науки и техники. Подробнее (англ):  Fortran Resources

FORTH

  • Работа над Forth началась в 1968 году, и язык обычно используется на оборудовании, не имеющем традиционную операционную систему. Он также широко используется для управления станками. Подробнее (англ): FORTH Resources

Haskell

  • Haskell является одним из наиболее популярных функциональных языков программирования, в дополнение к тому, что стал прототипом для дюжины других языков. Он широко используется в деловых и научных кругах и является отличным языком, с которого стоит начать знакомство с функциональным программированием. Подробнее (англ): Haskell Resources

HTML

  • HTML не является языком программирования. Это язык разметки — язык добавления смысловых и стилистических аннотаций содержимому. Является основным языком для веб-контента. Знание его необходимо и обязательно всем веб-дизайнерам и веб-разработчикам, а также всем (писателям, редакторам), кто производит Интернет контент. Подробнее (англ): Ultimate Guide to HTML и Composing Good and Valid HTML

IDL

  • IDL, или Interactive Data Language, это язык программирования, используемый в основном для анализа и визуализации данных. Он до сих пор широко используется в аэрокосмической промышленности и астрономии. Подробнее (англ): IDL Resources

INTERCAL

  • INTERCAL является пародийным компьютерным языком, разработанным в начале 1970-х годов. Его создали как шутку, чтобы показать как технически сложны языки и трудно читаемы. Это реальный язык, который можно скачать, и с помощью которого можно даже что-то сделать. Подразумевается, что вы должны быть хорошо с ним знакомы для этого — но, опять же, не слишком хорошо, ведь и это не понравится самому INTERCAL. Подробнее (англ): INTERCAL Introduction and Resources

Java

  • Java является языком высокого уровня и предназначен для использования на Java Virtual Machine. Имеет очень мало внешних зависимостей, и был предназначен для работы на любой физической машине. Много используется в сетевой архитектуре, а также во встраиваемых устройствах и других вычислительных приложениях. Подробнее (англ): See our detailed guide to Java.

Javascript

  • JavaScript (не имеет фактического отношения к Java) это скриптовый язык, изначально разработанный для использования в веб-браузерах. Поэтому он имеет встроенную возможность работы с Document Object Model (DOM), отображением находящегося в памяти контента веб-страниц. Является основным языком программирования для front-end веб-разработки. В основном управляется событиями, и, благодаря Node.JS, в последнее время получил признание как серверный язык. Подробнее (англ): More on Javascript и jQuery. И здесь: Bootstrap Resources

Ksh

  • Korn Shell (ksh) представляет собой интерфейс командной строки, используемый на Unix. Он был ранней оболочкой (shell), совместимый со стандартной оболочкой Bourne, но со всеми классными интерактивными функциями оболочки C. Подробнее (англ): Korn Shell Programming Resources

Linux Programming

  • Программирование Linux включает в себя все: начиная от скриптов оболочки до разработки приложений и разработки ядер. Подробнее (англ): Linux Resource

  • Logo один из самых ранних языков по обучению программированию, и до сих пор, вероятно, самый известный. Он известен своей черепахой, которую дети заставляют передвигаться компьютерными командами. Весело обучает программированию. Подробнее (англ): Logo Programming Resources

ML

  • ML первоначально разработан как язык мета-программирования: язык для создания других языков. Но со временем он стал языком общего назначения, широко использовался в образовании, математике, естественных науках и даже финансах. Подробнее (англ): ML Resource and Introduction.

MPI

  • Message Passing Interface (Интерфейс передачи сообщений) представляет собой стандартный протокол для отправки сообщений между процессами или программами. Был реализован в ряде языков программирования, включая C, C++, Java и Python. Благодаря MPI стали возможны параллельные вычисления. Подробнее (англ): See our Guide to MPI

Сетевое программирование с интернет-сокетами

  • Сетевое программирование это процесс объединения компьютеров в сеть, а также создание программных систем, которые будут работать по всей этой сети. Гнездо (сокет) представляет собой конечную точку данных для этой сети, предоставляя интерфейс (API) для взаимодействия с системой извне. Большинство сетевых сокетов — это интернет сокеты, а это значит, что они используют Интернет протокол для связи. Подробнее (англ) :More about network programming & sockets

OAuth

  • Вы, несомненно, использовали эту систему много раз, но вы могли этого даже не знать. Например, некоторые комментирующие системы позволяют войти с вашей учетной записью на Facebook или Google+. Это делается с помощью OAuth. Подробнее (англ): More on OAuth

Objective-C

  • Еще одна версия C, созданная в 1980-е годы для того, чтобы обеспечить полностью объектно-ориентированную реализацию C. Сейчас основное применение этого языка приходится на Mac OSX  и операционные системы iOS. До недавнего времени iOS приложения должны были быть написаны на Objective-C, но сейчас можно писать также на Swift. Подробнее (англ): More on Objective-C

OCaml

  • OCaml является объектно-ориентированным функциональным компьютерным языком. По ML традиции, он много используется для написания других языков программирования и фреймворков. Подробнее (англ): OCaml Introduction and Resources.

Разработка операционной системы

  • Эверестом среди работ по программированию считается разработка операционной системы. Если вы хотите доказать себе, что можете написать все, что угодно, то нет ничего лучше, чем написать свое собственное ядро операционной системы и связанные с ней инструменты.Но будьте осторожны: это путешествие по силам только храбрым и истинным программистам! Подробнее (англ): Operating System Development Resources.

Perl

  • Очень полезный инструмент практически любого программиста. В качестве интерпретируемого языка его не нужно компилировать, иногда упоминается как «швейцарский армейский нож» скриптовых языков. Подробнее (англ): Perl Resources

PROLOG

  • Пролог — язык логического программирования, разработан для обработки естественного языка. Подробнее (англ): Prolog Intro & Resources

Pure Data

  • Pure Data является уникальным визуальным языком программирования. Был создан специально для того, чтобы позволить пользователям создавать видео, аудио и графические работы. Подробнее (англ): Pure Data Resource Page.

Python

  • Python является языком программирования высокого уровня. Интерпретируемый (некомпилируемый) язык, также известный как «скриптовый язык». В основном используется в качестве инструмента для выполнения специализированных задач программирования, таких как задачи по автоматизации и анализу данных. Имеет сильный набор инструментов для математических и научных вычислений, часто используется исследователями. Подробнее (англ):Python Resources

Ruby on Rails

  • Ruby on Rails — это фреймворк для веб-разработки для языка программирования Ruby. Он обеспечивает архитектуру MVC (Model View Controller), уровень абстракции базы данных, а также множество инструментов для ускорения процесса программирования веб-приложений. Очень популярен для быстрой разработки веб-приложений. Подробнее (англ): More about Ruby on Rails

SAS

  • SAS является специализированным языком, предназначенным для анализа статистических данных. Широко используется в правительственных, научных кругах и бизнесе. Для людей, обладающим большим количеством данных, SAS является очевидным выбором. Подробнее (англ): SAS Programming Resources.

Scala

  • Scala является относительно новым языком — более или менее новой и лучшей Java. Это отличный язык для Java-программистов, которые хотят быть более эффективными, или для людей, кто только начинают изучать программирование и хотят изучать мощный язык, который не будет ограничивать их в будущем. Подробнее (англ): Scala Resources.

Scheme

  • Scheme  — старый язык, но до сих пор используется для обучения программированию и более сложных предметов в информатике. Основан главным образом на Lisp, и частично на ALGOL. Подробнее (англ): Scheme Resource page.

Scratch

  • Язык программирования Scratch был создан специально для обучения программированию детей в возрасте от 8 до 16 лет. Scratch — легкий, и с ним изучать основы логики программирования детям можно в увлекательной игровой форме. Подробнее (англ): Scratch Resources

Simula

  • Simula — исторически важный язык, так как это был первый язык, внедривший понятия, ставшие основой для объектно-ориентированного программирования. Подробнее (англ): More on Simula’s interesting history.

SMIL

  • SMIL (Synchronized Multimedia Integration Language) инструмент для тех людей, которые хотят создавать и распространять презентации. Особенно полезен, если вы хотите создавать презентации, которые должны время от времени обновляться. Подробнее (англ): SMIL Guide

SQL

  • SQL (Structured Query Language) — язык, используемый для связи с Relational Database Management Systems (RDBMSes). SQL позволяет программисту создавать структуры данных, вставлять и редактировать данные, а также их запрашивать. Подробнее (англ): SQL Guide

Stata

  • Stata это среда разработки и язык программирования для решения серьезных статистических проблем. И хотя он создан довольно давно, но все еще широко используется. Если вы связаны со статистической работой, Stata — отличный инструмент. Подробнее (англ): Stata Programming Resources

Swift

  • Swift является новыйм языком программирования, разработанным компанией Apple, для iOS, OS X, watchOS, tvOS и Linux. Это язык будущего для разработчиков программ и приложений для устройств Apple. Подробнее (англ): Swift Resources

S-PLUS

  • S-PLUS является коммерческой версией мощного языка программирования S, разработанного для выполнения статистического анализа. Проект GNU имеет свою собственную версию S, называемую R. Все необходимые ресурсы о S с акцентом на S-PLUS: S-PLUS Programming Resources Page.

UNIX Programming

  • Широта программирования на Unix велика. Она охватывает диапазон от административных скриптов к коду на основе текста до разработки X Window. Подробнее (англ): UNIX Programming Resources

XML

  • XML  хорошо структурированный язык для разметки, предназначен, как для чтения человеком, так и машиной. Подробнее (англ):XML Guide & Validators

Урок подготовил: Акулов Иван

Источник урока

Если вы нашли опечатку — выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать [email protected]

Классификация языков программирования

Классификация языков программирования по категориям связана с методами, которые используются при написании программ.

Классификация языков программирования. Автор24 — <a href=интернет-биржа студенческих работ»>

Рисунок 1. Классификация языков программирования. Автор24 — интернет-биржа студенческих работ

Процедурные языки

Процедурные языки являются языками высокого уровня, в которых используется метод разбиения программ на отдельные связанные между собой модули – подпрограммы (процедуры и функции). Компоненты языка состоят из последовательности операторов, которые используют библиотечные процедуры и функции. Первым процедурным языком был Fortran, затем появился Cobol, Algol, Pascal, C, Ada.

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

Замечание 1

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

К языкам низкого уровня относится:

  • программирование в машинных кодах;
  • ассемблер;
  • макроассемблер.

Языки низкого уровня ориентировались на определенный тип процессора и учитывали его особенности, поэтому для того, чтобы перенести программу, написанную на ассемблере, на другую аппаратную платформу её нужно было почти полностью переписать. Различия присутствовали также и в синтаксисе программ под разные компиляторы.

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

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

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

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

Языки высокого уровня делятся на универсальные и проблемно-ориентированные.

Наиболее распространенные универсальные языки C#, C++, Basic, Pascal (Delphi) используются для разработки Windows-приложений. Большой вклад в программирование на начальных этапах внесли языки Fortran, Cobol, Algol, C и др.

Языки программирования для разработки Интернет-приложений скорее относятся к универсальным языкам. К ним относятся современные версии C#, Basic, J#.

Замечание 2

Проблемно-ориентированными языками, которые используются на Интернет-серверах и клиентских Интернет-приложениях, являются PHP, Perl, JavaScript, VBScript.

Объектно-ориентированные языки

Объектно-ориентированные языки стали дальнейшим уровнем развития процедурных языков, основной концепцией которых есть совокупность программных объектов. Написание программы на языке представляется в виде последовательности создания экземпляров объектов и использование их методов. К ним относятся из первых языков Simula и SmallTalk, далее C++, Java.

Декларативные языки программирования

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

Функциональные языки программирования

Функциональные языки являются языками искусственного интеллекта. Программа, написанная на функциональном языке, состоит из последовательности функций и выражений, которые необходимо вычислить. Основной структурой данных является связный список. Функциональное программирование принципиально отличается от процедурного. Основными функциональными языками являются Lisp, Miranda, Haskel.

Логические языки программирования

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

Языки сценариев (скрипты)

Языки относятся к объектно-ориентированным языкам, используются для написания программ, которые исполняются в определенной программной среде. Тексты программ, написанные на языке сценариев, можно включать в тело Html-документа. Первыми скриптами были Perl и Python, которые изначально были разработаны для операционной системы Unix, а уже в дальнейшем появились версии языков для операционных систем Windows и Macintosh. Для написания программ на языке сценариев необходимо знание процедур и функций системных библиотек.

Языки, ориентированные на данные

Языки ориентированы на работу с одним определенным типом данных. Например, APL работает с матрицами и векторами, Snobol обрабатывает строки, SETL выполняет операции над множествами.

Особое развитие получили языки для работы с базами данных:

Замечание 3

Широкими возможностями обработки документов текстового процессора Microsoft Word, электронных таблиц MS Excel, баз данных MS Access и даже программ подготовки слайдовых презентаций MS PowerPoint обладает встроенный язык системы MS Office – Visual Basic for Application (VBA).

Author: admin

Отправить ответ

avatar
  Подписаться  
Уведомление о