~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 8267E7AF2B5FE7309E86923D1D08F318__1710071520 ✰
Заголовок документа оригинал.:
✰ Programming language generations - Wikipedia ✰
Заголовок документа перевод.:
✰ Поколения языков программирования — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Programming_language_generations ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/82/18/8267e7af2b5fe7309e86923d1d08f318.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/82/18/8267e7af2b5fe7309e86923d1d08f318__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 10:36:33 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 10 March 2024, at 14:52 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Поколения языков программирования — Википедия Jump to content

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

Из Википедии, бесплатной энциклопедии

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

Поколения [ править ]

Второе поколение (2GL) [ править ]

Примеры: языки ассемблера

Язык программирования второго поколения (2GL) — это способ классификации языков ассемблера, основанный на поколениях . [1] [2] [3]

Третье поколение (3GL) [ править ]

Примеры: C , C++ , Java , Python , PHP , Perl , C# , BASIC , Pascal , Fortran , ALGOL , COBOL.

3GL гораздо более машинонезависимы (переносимы) и более удобны для программистов. Сюда входят такие функции, как улучшенная поддержка совокупных типов данных и выражение концепций таким образом, чтобы это было удобно программисту, а не компьютеру. Язык третьего поколения превосходит язык второго поколения, поскольку компьютер заботится о несущественных деталях. 3GL более абстрактны, чем языки предыдущих поколений, и поэтому их можно считать языками более высокого уровня, чем их аналоги первого и второго поколения. впервые представленные в конце 1950-х годов, Фортран , АЛГОЛ и КОБОЛ, являются примерами ранних 3GL.

Наиболее популярные сегодня языки общего назначения, такие как C , C++ , C# , Java , BASIC и Pascal , также являются языками третьего поколения, хотя каждый из этих языков можно дополнительно подразделить на другие категории на основе других современных особенностей. Большинство 3GL поддерживают структурированное программирование . Многие поддерживают объектно-ориентированное программирование . Подобные черты чаще используются для описания языка, а не просто для обозначения 3GL.

Четвертое поколение (4GL) [ править ]

Примеры: ABAP , Unix Shell , SQL , PL/SQL , отчеты Oracle , R , Halide.

Языки четвертого поколения, как правило, специализируются на очень специфических областях программирования . [4] [5] 4GL могут включать поддержку управления базами данных , создания отчетов , математической оптимизации , разработки графического пользовательского интерфейса или веб-разработки .

Пятое поколение (5GL) [ править ]

Примеры: Пролог , OPS5 , Mercury , CVXGen. [6] [7] , эксперт по геометрии

Язык программирования пятого поколения (5GL) — это любой язык программирования , основанный на решении задач с использованием ограничений, заданных программе, а не на использовании алгоритма , написанного программистом. [8] Они могут использовать методы искусственного интеллекта для решения проблем таким образом. Большинство языков программирования , основанных на ограничениях и логическом программировании , а также некоторые другие декларативные языки являются языками пятого поколения.

В то время как языки программирования четвертого поколения предназначены для создания конкретных программ, языки пятого поколения предназначены для того, чтобы заставить компьютер решать данную проблему без участия программиста. Таким образом, пользователю нужно беспокоиться только о том, какие проблемы необходимо решить и какие условия необходимо выполнить, не беспокоясь о том, как реализовать процедуру или алгоритм для их решения. Языки пятого поколения используются в основном в исследованиях искусственного интеллекта или ИИ. OPS5 и Mercury — примеры языков пятого поколения. [9] как и ICAD , построенный на Lisp . KL-ONE — это пример схожей идеи — языка фреймов .

История [ править ]

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

Первоначально все языки программирования более высокого уровня, чем ассемблер, назывались « третьим поколением », но позже был введен термин « четвертое поколение », чтобы попытаться дифференцировать (тогда) новые декларативные языки (такие как Пролог и предметно-ориентированные языки). определенные языки), которые утверждали, что работают на еще более высоком уровне и в области, даже более близкой к пользователю (например, на уровне естественного языка), чем исходные императивные языки высокого уровня, такие как Паскаль , C , АЛГОЛ , Фортран , БАЗОВЫЙ и т. д.

«Поколенческая» классификация языков высокого уровня (третье поколение и более поздние) никогда не была полностью точной и позже, возможно, от нее отказались, при этом более точные классификации получили широкое распространение, такие как объектно-ориентированная , декларативная и функциональная. C дал начало C++ , а затем Java и C# ; Лисп в CLOS ; Ада — Ада 2012 ; и даже от COBOL до COBOL 2002 . В этом «поколении» также появились новые языки.

См. также [ править ]

Ссылки [ править ]

  1. ^ «Компьютерная надежда, языки поколений» .
  2. ^ Брукшир, Дж. Гленн (2012). Информатика: обзор (11-е изд.). Аддисон-Уэсли. стр. 240–241. ISBN  978-0-13-256903-3 .
  3. ^ Васс, Питер. «Поколения языков программирования и парадигмы программирования» (PDF) . Архивировано из оригинала (PDF) 29 января 2020 г.
  4. ^ 35-я Гавайская международная конференция по системным наукам - 1002 предметно-ориентированных языка для разработки программного обеспечения . Архивировано 16 мая 2011 года в Wayback Machine .
  5. ^ Арье ван Дёрсен; Пол Клинт; Йост Виссер (1998). «Языки конкретной предметной области: аннотированная библиография» . Архивировано из оригинала 2 февраля 2009 г. Проверено 15 марта 2009 г.
  6. ^ NAE, Мост , Автономная точная посадка космических ракет, 19 декабря 2016 г., Автор: Ларс Блэкмор.
  7. ^ CVXGEN: Генерация кода для выпуклой оптимизации , cvxgen.com, 4 декабря 2013 г.
  8. ^ Донг, Цзелин, изд. (2007). Сетевой словарь . Саратога, Калифорния: Javvin Technologies, Inc., с. 195. ИСБН  9781602670006 .
  9. ^ Э. Балагурусами, Основы компьютеров , Mcgraw Hill Education (Индия), 2009 г., ISBN   978-0070141605 , с. 340.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 8267E7AF2B5FE7309E86923D1D08F318__1710071520
URL1:https://en.wikipedia.org/wiki/Programming_language_generations
Заголовок, (Title) документа по адресу, URL1:
Programming language generations - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)