1855,История создания программирования: познаем главное

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 25 июня 2019; проверки требуют 3 правки.


Хронология языков программирования — упорядоченный в хронологическом порядке список языков программирования.

Блок: 1/12 | Кол-во символов: 274
Источник: https://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

Суть проблемы

Сегодня вам не надо ничего знать об архитектуре компьютера, для большинства программистов вообще важен только язык, всё остальное – вторично. В 1950-х всё было иначе – приходилось работать с элементарными машинными кодами, а это практически всё равно что программировать при помощи паяльника.

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

01 x y – добавление содержимого ячейки памяти y к ячейке x;

02 x y – аналогичная процедура с вычитанием.

В итоге код программы превращался в бесконечную череду цифр:

  01 10 15 02 11 29 01 10 11…  

Сегодня такой код вам покажется ужасом, но в начале 1950-х был нормой.


Компьютер 1940-х годов

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

Блок: 2/6 | Кол-во символов: 1236
Источник: https://geekbrains.ru/posts/language_history_part1

Что было до появления первых языков программирования

В 1945 году в Америке построили первый компьютер — ЭНИАК (Electronic Numerical Integrator And Computer). Он состоял из 17 тысяч ламп, весил 27 тонн и стоил 480 000 долларов. Сравните: новый iPhone X за 1000 долларов помещается в кармане и почти в 25 тысяч раз мощнее.

В те времена ещё не было языков программирования, и ЭНИАК управлялся через систему команд, записанных в машинном коде — то есть в виде последовательности единиц и нолей. Писать программы на машинном коде было долго и сложно. Представьте, что в супермаркете на полке с ценниками нет названий товаров — только номер штрихкода и цена. Чтобы узнать цену, например, на икру, нужно посмотреть номер на банке и сопоставить с ценниками. Из-за ошибки в одну цифру можно взять чёрную икру по цене белого хлеба (а на кассе обнаружить, что сумма в чеке в сто раз больше). Так и одна ошибка в цифре машинного кода приводила к неправильному результату вычисления всей программы.

Первый в мире компьютер ЭНИАК

Ошибки в работе компьютера программисты называют «багами». В переводе с английского bug означает «насекомое» или «жучок». Это слово употребляли и раньше — например, радиоинженеры называли так технические неполадки в оборудовании, которые было трудно обнаружить. Но первый в истории компьютерный баг, по легенде, действительно был насекомым! В 1947 в Гарварде программист ГрейсХоппер искала причину ошибки в работе суперкомпьютера Mark II и обнаружила моль, которая залетела внутрь компьютера и заклинила систему. С помощью скотча она вклеила моль в рабочий журнал и озаглавила запись как «Первый фактический случай обнаружения бага».

Блок: 2/6 | Кол-во символов: 1646
Источник: https://mel.fm/1s-klub-programmistov/4157692-ot-assemblera-do-java

Первый сборщик


Решение лежало на поверхности: необходимо перевести цифровые обозначения операций в буквы. То есть вместо «01 10 15» использовать «ADD 10 15». Это требовало дополнительного перевода символов в машинную команду, но, учитывая проблему, жертва была минимальна.

Решение оказалось настолько очевидным, что доподлинно неизвестно, кто первым изобрёл язык Ассемблера. Вероятнее всего, он появился одновременно сразу в нескольких местах. За название и популяризацию ответственными принято считать авторов книги «The preparation of programs for a digital computer» Уилкса, Уилера и Гилла. Нетрудно догадаться, что название Ассемблер происходит от английского слова assemble – собирать, монтировать, что вполне точно описывает процесс. Позднее символы стали касаться не только простейших операций, но и адресации, что значительно упростило читаемость кода.

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

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

Это стало катализатором языкового прорыва.

Блок: 3/6 | Кол-во символов: 1355
Источник: https://geekbrains.ru/posts/language_history_part1

Ассемблер — переводчик с человеческого на машинный

Как упростить управление компьютером задумались в Кембриджском университете, когда профессор Морис Уилкс начал работу над созданием электронно-вычислительной машины ЭДСАК. Позже именно для неё была разработана первая компьютерная игра — «Крестики-нолики». Но главная заслуга Уилкса, конечно, не в этом. А в том, что в 1949 году он создал программу, которая позволяла писать команды в удобной для человека форме и сама переводила их в машинный код.

Программу Уилкс называл собирающей системой или «ассемблером», от английского глагола «assemble» — собирать. Вместо двоичного кода в языке ассемблера использовались буквы, цифры или сокращения, которые отражали суть команды. Например, команда «Mov Ax, 6» на языке ассемблера означала «передвинь в ячейку памяти „Ах“ число 6». Согласитесь, запоминать такие команды гораздо проще, чем длинные ряды нолей и единиц.

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

Блок: 3/6 | Кол-во символов: 1187
Источник: https://mel.fm/1s-klub-programmistov/4157692-ot-assemblera-do-java

Компиляторы и предубеждения

Ассемблер позволил создать простые превращения. Например, перевод 01 в ADD. Макроассемблер расширил эту идею и подарил программистам возможность сворачивать несколько инструкций в одну. К примеру, если в программе вы постоянно добавляли значение в ячейку памяти и проверяли, не переполнена ли она, всё это можно было записать в макрос INCRT и использовать его, меняя лишь переменные. По сути, макроассемблеры превратились в первые языки высокого уровня.

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

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

Тем не менее компилятор стал единственным выходом из ситуации, но здесь проявилась другая трудность – арифметические выражения. Их исполнение не совпадает с тем, как машина читает код. Из школьного курса мы знаем порядок вычислений в выражении «2+3*5», но машина читает код в одном направлении, так что ответ будет неверным. Да, указанный пример можно решить, создав макрос, но для сложных выражений уровня «(2 + 3 * 5 + 4/6) * 10 + 16- (14 + 15) * 8» требовался принципиально иной подход.

Блок: 4/6 | Кол-во символов: 1982
Источник: https://geekbrains.ru/posts/language_history_part1

Первые машинно-независимые языки

Первый язык высокого уровня появился в 1957 году в Америке. Он назывался Фортран (FORmula TRANslator) и позволял писать программы, не думая об архитектуре конкретного компьютера. Код стал «переносимым» — одна и та же программа теперь запускалась на разных устройствах.

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

Обложка автоматической системы кодирования Fortran для IBM EOS-704 EDPM, которая считается первой книгой о Fortran

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

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

Фортран был ориентирован на научно-технические математические расчеты

Сегодня на этом языке так много математических библиотек, что среди ученых даже ходит присказка: «у любой математической задачи уже есть решение на Фортране». Он был настолько успешен, что в Европе создали ALGOL (ALGOrythmic Language) — свой язык программирования высокого уровня, чтобы избежать монополии.

Блок: 4/6 | Кол-во символов: 1468
Источник: https://mel.fm/1s-klub-programmistov/4157692-ot-assemblera-do-java

Эпоха новой формации


Найти алгоритм анализа стека удалось Джону Бэкусу, создателю Фортрана.  Он начал работать над ним в 1954 году и ему потребовалось  почти 5 лет, чтобы доказать право языков высокого уровня на существование. Полное название Фортрана – The IBM Formula Translating System, или FORmula TRANslator. Несмотря на 60-летний возраст, он остаётся одним из самых популярных языков программирования и невероятно востребован в Data Science. За это время мы видели множество версий: Fortran 1, II, 66, 77, 90, 95, 2008, а в следующем году выйдет ещё одна (планировался Fortran 2015, но из-за задержек название может смениться на 2018). Именно в Фортране впервые были одновременно реализованы многие атрибуты языка высокого уровня, среди которых:

  • арифметические и логические выражения;
  • цикл DO (ранняя форма цикла FOR);
  • условный оператор IF;
  • подпрограммы;
  • массивы.

Ещё одним важным наследием Фортрана, о котором даже не догадываются современные программисты, является использование ограничений для переменных для целых чисел. Все они должны были начинаться с одного из 6 символов I, J, K, L, M, N (происходит от I-Nteger). Именно отсюда взялась привычка для перечислений брать переменные i, j и т.д.


IBM 704 – машина, на которой был создан Fortran

При этом Фортран оставался языком, приближенным к машинам. Например, там существовало такое:

  if (выражение) doneg, dozero, dopos  

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

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

Блок: 5/6 | Кол-во символов: 1924
Источник: https://geekbrains.ru/posts/language_history_part1

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

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

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

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

Во времена структурного программирования появился язык Си. Его придумал американец Деннис Ритчи и в 1999 году получил Национальную медаль США за достижения в области технологий и инноваций. Язык был основан на старом языке Би, поэтому его назвали Си — по следующей букве английского алфавита. Си был универсальным и очень быстрым, поэтому сразу широко распространился и стал прародителем для современных языков: C++, C#, Objective C, Java.

Кен Томпсон (слева) и Деннис Ритчи (справа), создатели языка программирования Си

Блок: 5/6 | Кол-во символов: 1565
Источник: https://mel.fm/1s-klub-programmistov/4157692-ot-assemblera-do-java

Языки для каждого

Fortran 1 был научным языком, в его основе лежали операции с комплексными числами и с плавающей запятой. Он даже не умел обрабатывать текст, для этого приходилось преобразовывать его в специальные коды. Поэтому Фортран оказался непригоден для бизнеса, где был специально создан язык Cobol.

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

  Move Income To Total Subtract Expenses  

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

Следующим фундаментальным языком стал Algol (ALGOrithmic Language), предназначенный для научных отчётов и публикаций. В нём впервые появились естественные для нас вещи:

  • отличия между присваиванием := и логическим равенством  =;
  • использование цикла for с тремя аргументами: начальное значение,  предел, шаг;
  • блочная структура программ, заключённая между begin и end, это исключило необходимость применения GOTO.

Именно из Алгол произошли C, C ++, C #, Java и многие другие популярные сегодня языки.

Четвёртым китом 1950-х стал Лисп (LISt Processing language), разработанный специально для обслуживания искусственного интеллекта.  Главной его особенность стала  работа не с императивными данными, а с функциями. Для этого Джону Маккарти пришлось предусмотреть множество механизмов для нормальной работы: динамическую типизацию, автоматическое распределение памяти, сборщик мусора. В конечном счёте, именно Лисп стал прародителем таких языков, как Python и Ruby, а сам до сих пор активно применяется в ИИ.

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

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

Блок: 6/6 | Кол-во символов: 1955
Источник: https://geekbrains.ru/posts/language_history_part1

1970-е


Год Название Руководитель разработки, компания Предшественник(и)
1970? FORTH (реализация) Чарльз Мур
1970 POP-2 POP-1
1970 Паскаль Никлаус Вирт, Кэтлин Йенсен Алгол 60, Алгол W
1971 Sue Рик Холт и другие в Торонтском университете Паскаль, XPL
1972 Smalltalk Алан Кёртис Кэй, Адель Голдберг и другие в Xerox PARC Симула 67
1972 PL/M Гэри Килдалл в Digital Research ПЛ/1, Алгол, XPL
1972 Си Деннис Ритчи Би, BCPL, Алгол 68
1972 INTERCAL
1972 Пролог Алейн Колмерауэр 2-level W-Grammar
1973 COMAL Бьорг Кристенсен, Бенедикт Льофстедт Паскаль, Бейсик
1973 ML Робин Милнер
1973 LIS Джин Ичбиах и другие в Groupe Bull Паскаль, Sue
1974 GRASS Томас де Фанти Бейсик
1974 BASIC FOUR MAI BASIC Four Inc. Business Бейсик
1975 ABC Лео Гойертс и Ламбер Миртенс Сетл
1975 Scheme Геральд Суссман, Гай Стили Лисп
1975 Altair BASIC Билл Гейтс, Пол Аллен Бейсик
1975 CS-4 Бенджамин Броскол в Intermetrics Алгол 68, BLISS, ECL, HAL
1975 Модула Никлаус Вирт Паскаль
1976 Smalltalk-76 Xerox PARC Smalltalk-72
1976 Speakeasy-3 Стэнли Коэн, Стефен Райпер в Аргоннской национальной лаборатории Speakeasy-2
1976 Ratfor Брайан Керниган Си, Фортран
1976 S Джон Чамберс в Bell Labs АПЛ, PPL, Scheme
1977 FP Джон Бэкус
1977 Bourne Shell (sh) Стефен Боурн
1977 IDL Дэвид Стерн в Research Systems Inc Фортран
1977 Standard MUMPS MUMPS
1977 Icon (концепция) Ральф Грисволд Снобол
1977 Green Джин Ичбих и другие в Group Bull для Министерства обороны США Алгол 68, LIS
1977 Red Бенджамин Броскол и другие в Intermetrics для Министерства обороны США Алгол 68, CS-4
1977 Blue Джон Гуденауф и другие в SofTech для Министерства обороны США Алгол 68
1977 Yellow Джей Спитцен и другие в SRI International Для Министерства обороны США Алгол 68
1978? MATLAB Клев Молер в университете Нью-Мексико
1978? SMALL Нэвил Броунли в университете Окленда Новая Зеландия Алгол 60
1978 SQL IBM Ingres
1978 VISICALC Дэн Бриклин, Боб Фрэнлстон, финансируемые VisiCorp
1979 Модула-2 Никлаус Вирт Модула
1979 REXX Майк Коулишоу ПЛ/1, Бейсик, EXEC 2
1979 AWK Альфред Ахо, Петер Вейнбергер, Брайан Керниган Си, Снобол
1979 Icon (реализация) Ральф Грисволд Снобол
1979 Vulcan dBase-II Вайн Ратлифф
Год Название Руководитель разработки, компания Предшественник(и)

Блок: 6/12 | Кол-во символов: 2337
Источник: https://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

1980-е

Год Название Руководитель разработки, компания Предшественник(и)
1980 FORTRAN 77 ISO (стандарт) FORTRAN IV
1980 Си с классами Бьёрн Страуструп Си, Симула 67
1980 — 1981 CBASIC Гордон Ойбанкс Бейсик, Compiler Systems, Digital Research
1982 ? Speakeasy-IV Стэнли Коэн и другие в Speakeasy Computing Corporation Speakeasy-3
1983 GW-BASIC Microsoft BASICA
1983 Ада Group Bull Green
1983 Objective-C Бред Кокс Smalltalk, Си
1983 C++ Бьёрн Страуструп Си с классами
1983 True BASIC Джон Кемени, Томас Куртц в Дартмутском колледже Бейсик
1983 ? ABAP SAP КОБОЛ
1984 ? Korn Shell (ksh) Дэвид Корн sh
1984 RPL Hewlett-Packard Forth, Лисп
1984 Standard ML ML
1984 Clipper Nantucket Corporation dBase
1984 Common Lisp Гай Стил и многие другие Лисп
1984 Redcode А. К. Додни и Д. Г. Джоунс
1985 Object Pascal Apple Паскаль
1985 Paradox Borland dBase
1985 PostScript Джон Уорнок InterPress
1985 QuickBASIC Microsoft Бейсик
1986 GFA BASIC Франк Островский Бейсик
1986 Миранда Дэвид Тёрнер в университете Кента
1986 LabVIEW National Instruments
1986 Эйфель Бертран Мейер Симула 67
1986 Informix-4GL Informix
1986 PROMAL Си
1986 CorVision Cortex INFORM
1986 Clarion Брюс Баррингтон
1987 Self (концепция) Sun Microsystems Inc. Smalltalk
1987 HyperTalk Apple
1987 Perl Ларри Уолл Си, sed, awk, sh
1987 Оберон Никлаус Вирт Модула-2
1987 Erlang Джо Армстронг и другие в Ericsson Пролог
1987 Mathematica Wolfram Research
1987 Turbo Basic Robert ‘Bob’ Zale BASIC/Z
1988 Octave MATLAB
1988 Tcl Джон Остераут Awk, Лисп
1988 STOS BASIC Франк Лайон и Константин Сотиропулос Бейсик
1988 Object REXX Саймон Нэш REXX
1988 SPARK Бернард Кэрри Ада
1988 A+ Артур Уитни АПЛ
1989 Turbo Pascal OOP Андерс Хейлсберг в Borland Turbo Pascal, Object Pascal
1989 Модула-3 Кардели и другие в DEC и Olivetti Модула-2
1989 PowerBASIC Роберт Зайл Turbo Basic
Год Название Руководитель разработки, компания Предшественник(и)

Блок: 7/12 | Кол-во символов: 2022
Источник: https://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

1990-е


Год Название Руководитель разработки, компания Предшественник(и)
1990 AMOS BASIC Франсуа Лион и Константин Сотиропулос STOS BASIC
1990 Object Oberon Х. МёссенБёк, Дж. Темпл, Р. Грисемер Оберон
1990 J Кеннет Айверсон, Роджер Ньюи в Iverson Software АПЛ, FP
1990 Haskell Миранда
1990 Eulisp Common Lisp, Scheme
1991 Оберон-2 Ханспетер. МёссенБёк, Никлаус Вирт Object Oberon
1991 Python Гвидо Ван Россум ABC, Алгол 68, Icon, Модула-3
1991 Oz Герт Смолка и его студенты Пролог
1991 Q Альберт Грэф
1991 Visual Basic Алан Купер, продан Microsoft QuickBASIC
1991 Fortran 90 ISO (стандарт) FORTRAN 77, Си
1992 Borland Pascal Turbo Pascal OOP
1992 Dylan множество людей в Apple Computer Common Lisp, Scheme
1993 ? Z Shell (zsh) ksh
1993 ? Self (реализация) Sun Microsystems Inc. Smalltalk
1993 Brainfuck Урбан Мюллер
1993 Euphoria Роберт Крейг
1993 FALSE Воутер ван Оортмерссен Forth
1993 WinDev PC Soft
1993 Revolution Transcript HyperTalk
1993 AppleScript Apple HyperTalk
1993 K Артур Уитни АПЛ, Лисп
1993 Lua Роберту Иерузалимски и другие в Tecgraf, PUC-Rio Scheme, Снобол, Модула, Клу, C++
1993 ZPL Чемберлейн и другие в Вашингтонском университете Си
1993 NewtonScript Уолтер Смит Self, Dylan
1994 ANSI Common Lisp Common Lisp
1994 Pike (µLPC) Фредерик Хюбинетт и другие в университете Линкёпинга LPC, Си
1994 ANS Forth Элизабет Разер и другие Forth
1995 Borland Delphi Андерс Хейлсберг в Borland Borland Pascal
1995 ColdFusion (CFML) Аллаир
1995 Java Джеймс Гослинг в Sun Microsystems Си, Симула 67 или C++, Smalltalk, Ада 83, Objective-C
1995 LiveScript Брендан Айх в Netscape Self, Java
1995 PHP Расмус Лердорф Перл
1995 Ruby Юкихиро Мацумото Smalltalk, Перл
1995 JavaScript Брендан Айх в Netscape LiveScript
1996 Curl Дэвид Кренц, Стив Уард, Крис Терман в MIT Лисп, C++, Tcl/Tk, TeX, HTML
1996 Perl Data Language (PDL) Карл Глейзбрук, Шарль Бринчманн, Томас Лукка и Кристиан Соллер АПЛ, Перл
1996 R Роберт Джентльмен и Росс Ихака S
1996 NetRexx Майк Коулишоу REXX
1996 Дракон НПЦ автоматики и приборостроения им. Н. А. Пилюгина, Институт прикладной математики им. М. В. Келдыша РАН ПРОЛ2, ДИПОЛЬ, ЛАКС
1996 Lasso Blue World Communication
1997 Active Oberon ETHZ Oberon, Oberon-2, Object Oberon, MATLAB
1997 Компонентный Паскаль Oberon microsystems, Inc Оберон-2
1997 E Марк Миллер Joule, Original-E
1997 Pico Свободный университет Брюсселя Scheme
1997 Squeak Smalltalk Алан Кэй и другие в Apple Computer Smalltalk-80, Self
1997 ECMAScript ECMA TC39-TG1 JavaScript
1997 F-Script Филипп Моугин Smalltalk, АПЛ, Objective-C
1997 ISLISP ISO Standard ISLISP Common Lisp
1997 Tea Джордж Нунес Java, Scheme, Tcl
1997 REBOL Карл Сассенрат в Rebol Technologies Self, Forth, Лисп, Лого
1997 Fortran’95 ISO (стандарт) Fortran’90
1998 Standard C++ ANSI/ISO Standard C++ C++, Standard C
1998 Open Source Erlang Ericsson Erlang
1998 Pikt Роберт Остерлунд (в Чикагском университете) AWK, Перл, Unix shell
1998 DASL (BOS) Боб Голдберг и Людовик Чампеноис в Sun Microsystems Java, SQL
1999 WebDev PC Soft Web 2.0 IDE & ALM
1999 XSLT Консорциум Всемирной паутины DSSSL
1999 Game Maker Language (GML) Марк Овермарс Game Maker
1999 DASL (AUS) Боб Голдберг, Брюс Даниэльс, Петер Яред, Юрий Камен и Сайед Али в Sun Microsystems Java, HTML
Год Название Руководитель разработки, компания Предшественник(и)

Блок: 8/12 | Кол-во символов: 3475
Источник: https://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

2000-е

Год Название Руководитель разработки, компания Предшественник(и)
2000 Join Java Стьюарт фон Итцштейн (англ. G Stewart von Itzstein) Java
2000 Joy Манфред фон Тун FP, Forth
2000 D Уолтер Брайт в Digital Mars Си, C++, C#, Java
2000 XL Кристоф де Динечин Ада, C++, Лисп
2000 C# Андерс Хейлсберг в Microsoft (ECMA) Си, C++, Java, Delphi
2000 Ferite Крис Росс Си, C++, Java, PHP, Python, Ruby, Scheme
2001 AspectJ Xerox PARC Java
2001 Visual Basic .NET Microsoft Visual Basic
2002 Io Стив Декорте Self, NewtonScript
2002 Gosu Guidewire Software Java
2002 Скретч Mitchel Resnick, John Maloney, Natalie Rusk, Evelyn Eastmond, Tammy Stern, Amon Millner, Jay Silver и Brian Silverman Logo, Smalltalk, Squeak, E-Toys, HyperCard, AgentSheets, StarLogo, Tweak, BYOB
2003 Nemerle Университет Вроцлава C#, ML, MetaHaskell
2003 Factor Слава Пестов Joy, Forth, Лисп
2003 Scala Мартин Одерский Smalltalk, Java, Haskell, Standard ML, OCaml
2003 Squirrel Альберто Демичелис Lua
2004 FreeBASIC Андре Виктор Бейсик
2004 WinDev Mobile PC Soft Mobile Development
2004 Subtext Джонатан Эдвардс
2004 Boo Родриго Оливейра Python, C#
2004 Oxygene (бывший Chrome) RemObjects Software Object Pascal, C#
2004 Groovy Джеймс Стрэчен Java
2004 ThinBasic Эрос Ольми thinBasic community Бейсик
2004 Fortran 2003 ISO (стандарт) Fortran’95, Си++
2005 F# Дон Сайм в Microsoft Research Objective Caml, C#, Haskell
2005 Seed7 Thomas Mertes
2005 Rage Assembler Вим Бут в Micronix Softworks ARC Assembler
2006 Links Фил Уодлер, Эдинбургский университет Haskell
2006 Kite Мунир Сейлем
2006 Windows PowerShell Microsoft C#, ksh, Перл, CL, DCL, SQL
2006 BASIC-256 Ian Larsen Бейсик
2007 Agda Ulf Norell Coq, Haskell
2007 Fantom Брайан Франк, Энди Франк C#, Scala, Ruby, Erlang
2007 Apex Salesforce.com Java
2007 Vala GNOME C#
2007 Clojure Рич Хикки Лисп, ML, Haskell, Erlang
2007 LOLCODE Адам Линдсей
2008 RapidRage Вим Бут в Micronix Softworks
2008 Disciple Бен Липпмайер Disciple Wiki Haskell
2008 PCASTL Philippe Choquette Си, R
2008 Seccia Sylvain Seccia
2008 Fortress Guy L. Steele, Jr. Fortran, Scala, Standard ML, Haskell
2008 Nim Андреас Румпф (швед. Andreas Rumpf) Python, Лисп, Object Pascal
2009 Go Google C, Oberon, Limbo
2009 CoffeeScript Джереми Ашкенас JavaScript, Ruby, Python
2009 Idris Эдвин Брейди Haskell, Agda, Coq
Год Название Руководитель разработки, компания Предшественник(и)

Блок: 9/12 | Кол-во символов: 2503
Источник: https://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

2010-е


Год Название Руководитель разработки, компания Предшественник(и)
2010 Chapel Brad Chamberlain, Cray Inc. HPF (язык программирования) (англ.), HPF, ZPL (англ.) ZPL
2010 RPG Open Access IBM FARGO, RPG, RPG II, RPG III, RPG 400, RPG IV (RPGLE, ILE RPG, RPG Free)
2010 Rust Грэйдон Хор, Mozilla Alef, C++, Camlp4, Common Lisp, Erlang, Haskell, Hermes, Limbo, Napier, Napier88, Newsqueak, NIL, Sather, OCaml, Standard ML, Cyclone, Scheme
2011 C++11 (ISO C++ 2011) ISO/IEC JTC1/SC22/WG21 Комитет Стандартизации C++ ISO C++ 2003
2011 Ceylon Gavin King, Red Hat Java, Scala, Smalltalk
2011 Dart Google Java, JavaScript, CoffeeScript, Go
2011 Elm Evan Czaplicki Haskell, Standard ML, OCaml, F#
2011 Kotlin JetBrains Java, Scala, Groovy, C#, Gosu
2011 Opa MLstate OCaml, Erlang, JavaScript
2011 Red Nenad Rakocevic REBOL, Scala, Lua
2012 Ada 2012 ARA и Ada Europe (ISO/IEC 8652:2012) Ada 2005, ISO/IEC 8652:1995/Amd 1:2007
2012 Elixir José Valim Erlang, Ruby, Clojure
2012 Julia Стефан Карпински, Джефф Безансон, Вирал Шах Си, NumPy, Matlab, R, Scheme, Lisp, Python, Perl, Ruby
2012 TypeScript Андерс Хейлсберг, Microsoft JavaScript
2014 C++14 (ISO C++ 2014) ISO/IEC JTC1/SC22/WG21 Комитет Стандартизации C++ ISO C++ 2011
2014 Crystal Арье Боренвейг (Ary Borenszweig, Manas Technology Solutions) Ruby, C, Rust, Go, C#, Python
2014 Hack Брайан О’Салливан, Джулиен Верлаге и Алок Менгхраджани / PHP, C++, Java
2014 Swift Apple C, Objective-C
2015 Perl 6 Ларри Уолл Perl, Haskell, Python, Ruby
2016 Ring Mahmoud Fayed Lua, Python, Ruby, C, C#, Бейсик, QML, xBase, Supernova
2017 C++17 (ISO C++ 2017) ISO/IEC JTC1/SC22/WG21 Комитет Стандартизации C++ ISO C++ 2014
2017 Ballerina WSO2, Open Source
2018 Fortran 2018 ISO/IEC JTC1/SC22/WG5 N2150:2018 Fortran 2008
2018 Dart2 Google Dart
Год Название Руководитель разработки, компания Предшественник(и)

Блок: 10/12 | Кол-во символов: 1919
Источник: https://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

Кол-во блоков: 23 | Общее кол-во символов: 39278
Количество использованных доноров: 4
Информация по каждому донору:

  1. https://geekbrains.ru/posts/language_history_part1: использовано 5 блоков из 6, кол-во символов 8452 (22%)
  2. https://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F: использовано 9 блоков из 12, кол-во символов 18619 (47%)
  3. https://mel.fm/1s-klub-programmistov/4157692-ot-assemblera-do-java: использовано 5 блоков из 6, кол-во символов 9214 (23%)
  4. https://works.doklad.ru/view/U73B89A2bwA.html: использовано 1 блоков из 3, кол-во символов 2993 (8%)


Поделитесь в соц.сетях:

Оцените статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий