Когда появились первые языки программирования: Краткая история языков программирования — Ретро на DTF

Содержание

Краткая история языков программирования — Ретро на DTF

5938 просмотров

Когда-то мы писали, что попасть в геймдев можно без умения кодить. Это так, но программисты очень важны для игровой индустрии. Обойтись без этих специалистов геймдев не может. А чем они должны владеть? Языками программирования, конечно. Именно на них и пишется код. Давайте запустим машину времени, вернемся к истокам и узнаем, на чем писали задолго до C++ и Python.

Основы и немного истории

Определимся с терминами. Программа — это набор инструкций для конкретного исполнителя (механизма, устройства и т.д.), а язык программирования — знаковая система, предназначенная для записи программ.

Первые программисты появились задолго до компьютеров, с которыми они обычно ассоциируются. Автомат-гуманоид Аль-Джазари (1206 год), ткацкий станок Жаккара (1804), «Аналитическая машина» Бэббиджа (1843) были программируемыми устройствами. Автомату алгоритм действий задавался с помощью кулачков и зажимов, станку и «разностной машине» — с помощью перфокарт.

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

1940-50-е годы: от Ассемблера к Fortran и AGOL

Электронно-вычислительные машины работают с командами, состоящими из нулей и единиц (машинным кодом). Однако такой язык получается громоздким и неудобным. Поэтому специалисты решили автоматизировать набор машинного кода. В конце сороковых — начале пятидесятых стал применяться Ассемблер. В нем для обозначения объектов и команд использовались буквы или укороченные слова (например, add вместо 000010). Это был язык низкого уровня, то есть созданный для конкретного типа процессора. Он значительно упростил труд программистов.

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

Первым из них стал Shortcode (1949). В 1950 Уильям Шмитт адаптировал его для компьютера UNIVAC.

C 1954 по 1957 в IBM под руководством Джона Бэкуса (1924-2007) был разработан знаменитый Fortran (от formula translator). Он использовался для технических расчетов и научных задач. Fortran стал первым относительно массовым языком программирования — к 1963 году существовало уже 40 компиляторов для различных машин. Он попал и в Советский союз, благодаря общению советских физиков с коллегами, работавшими в CERN. В 1967 году был создан компилятор для ЭВМ «Минск-2», в 1968 — для БЭСМ-6. Язык используется до сих пор — в основном, для сложных вычислений.

Успех «Фортрана» заставил действовать конкурентов. Немецкое Общество прикладной математики и механики создало комитет и поставило перед ним задачу разработки нового универсального языка программирования. То же самое сделала американская Ассоциация вычислительной техники. К счастью, вместо противостояния получилось сотрудничество (если не считать спора из-за того, какой знак использовать для десятичных дробей — точку или запятую).

Комитеты объединились и создали ALGOL (1958), «дедушку» Java, Pascal и C++. Как и Fortran, ALGOL распространился по миру, но в Европе и СССР был встречен гораздо теплее, чем в США. Язык отличался блочной структурой, что для того времени было прогрессивным решением, а затем стало стандартом.

Другие современники Fortran и ALGOL — это LISP (1958) и COBOL (1959). Первый построен на обработке списков (отсюда название — list processing) и до сих пор в ходу (например, в корпорации Boeing). Второй создавался для экономических процессов (кредитные карты, банкоматы), тоже по-прежнему «в строю» и применяется в банковских системах. Заменить его на современный можно, но дорого и энергозатратно — в этом уже убедились в Commonwealth Bank of Australia.

1960-70-е: от структурного программирования к объектно-ориентированному

Первая «звезда» шестидесятых — BASIC (он же Beginner’s All-purpose Symbolic Instruction Code, универсальный код символических инструкций для начинающих), созданный Томасом Курцем и Джоном Кемени, профессорами Дартмутского колледжа в 1964 году. Разработчики хотели создать простой язык, с помощью которого непрофессионалы могли бы разрабатывать несложные программы для решения прикладных задач. BASIC был основан на Fortran II и Algol. Популярным язык стал уже в 1970-х с распространением микрокомпьютеров.

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

В конце 1960-х сформировалась парадигма структурного программирования, основанного на представлении о программе как системе блоков. «Отцом» методологии считают Эдсгера Дейкстру (1930-2002), автора письма «Оператор Goto считается вредным». Новая парадигма позволила оптимизировать код и сделать его более компактным благодаря внедрению функций и процедур. Кстати, Дейкстра критиковал BASIC, говоря что сделать хорошего программиста из того, кто начинал с этого языка, очень трудно. Это, конечно, было большим преувеличением.

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

Первые ООП-языки — это Simula (1967) и основанный на нем Smalltalk (1972). Последний привнес в программирование множество идей и концептов, актуальных по сей день: взаимодействие между элементами через сообщения, возможность редактировать код «на ходу» и динамическая типизация. Logitech и ряд других компаний и сейчас используют Smalltalk для отдельных операций.

В 1972 появились С и SQL (первоначально назывался SEQUEL). C (прародитель С#, Java, Python и других), был создан Деннисом Ричи, сотрудником Bell Telephone Laboratories для работы с Unix. SQL — детище специалистов IBM Бойса и Чемберлена, ориентирован на работу с информацией из баз данных. Оба до сих пор используются.

1980-1990-е: мультипарадигмальность, визуальные языки, Интернет

В начале 1980-х сотрудник Bell Labs Бьерн Страуструп решил улучшить язык С и добавил к нему ряд возможностей Simula (1967). Так появился C++, объединивший в себе черты объектно-ориентированных и системных языков. Страуструп внедрил в С возможность работать с объектами и классами, строгую проверку типов, аргументы по умолчанию и т.д. Первые версии языка (1980) назывались «Си с классами», а наименование С++ стало использоваться в 1985 году с выходом очередной версии. К этому моменту возможности языка еще больше расширились. С++ актуален до сих пор, активно используется (например, в игровых движках и Adobe Photoshop) и развивается.

Еще одной важной вехой стало появление объектно-ориентированного Ada (1980/81), названного в честь Ады Лавлейс. Его разработала команда Жана Ишбиа по заказу Министерства обороны США. В основу языка легли Pascal (1970) и Algol (1960), однако присущий им синтаксис был упорядочен.

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

В эту эпоху началось активное применение модулей — крупных единиц организации кода. Они позволили упростить процессы тестирования и поиска ошибок. Помимо Ada модульными были Modula-2 (1978) и Oberon (1986) (оба разработаны создателем Pascal Никлаусом Виртом), сам Pascal (1970), Haskell (1990) и другие. Кстати, Вирт высказал мнение, что программы становятся медленнее «куда шустрее, чем компьютеры становятся быстрее». Иными словами, программное обеспечение не успевает за аппаратным. Этот тезис известен под разными названиями: «закон Вирта», «закон Гейтса» или «закон Пейджа».

Получили развитие языки, предназначенные для обработки текстовой информации — например, Perl (1987), Python (1991), и Ruby (1993). Perl, разработанный для редактирования текстов, в наши дни применяется в самых разных целях — от системного администрирования до работы с базами данных.

Python, созданный голландцем Гвидо ван Россумом, был назван в честь знаменитой комедийной группы из Великобритании «Монти Пайтон». Сейчас это универсальный язык, широко известный и удобный. Ruby Юкихиро Мацумото тоже актуален по сей день и используется для веб-приложений.

Другой тренд конца восьмидесятых — начала девяностых — развитие визуальных языков. В них программа создается при помощи манипуляций с графическими объектами вместо написания кода. Первыми стали Visual Basic (1991), Delphi (1995) и C++ Builder (1997). Современный пример — ориентированный на детскую и подростковую аудиторию Scratch (2007).

В начале девяностых началось активное развитие Интернета. Понадобились инструменты для создания веб-сайтов. Сначала активно применяли уже упомянутый нами Perl и HTML. В 1995 был выпущен PHP — С-подобный язык для разработки интернет-страниц и веб-приложений (активно применяется и сейчас, в том числе WordPress и Wikipedia). В том же году вышла первая версия популярного JavaScript Брендана Эйха, также применяющегося для динамической веб-разработки, браузеров и виджетов.

Джеймс Гослинг выпустил один из самых популярных языков наших дней Java (1995), который не стоит путать с JavaScript.. Сейчас он часто используется для создания Android-приложений и веб-сервисов. И конкурирует с Kotlin (2011), о котором мы еще скажем.

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

От нулевых до наших дней

Первый «хит» нового тысячелетия — это C# (2001), разработанный в Microsoft Андерсом Хейлсбергом, создателем Delphi. Это С-подобный язык, синтаксически близкий к C++ и Java, взявший многое от Delphi, Modula и Smalltalk. C# активно используется самой Microsoft, применяется при разработке игр на Unity и веб-разработке.

В 2003 свет увидел Scala, созданный в Швейцарии под руководством Мартина Одерски. Его «фишкой» стала масштабируемость, а также объединение объектно-ориентированного и функционального программирования. Ближайшие «родственники» языка — это Java и C++. «Ровесник» Scala — язык Groovy, созданный для платформы Java. Синтаксически он близок Java, но имеет ряд отличий.

В нулевые и десятые набирала силу Google, не оставшаяся в стороне от большой игры — в ноябре 2009 компания представила язык Go (также известен как Golang — не путать с языком Go!). Продукт Google разрабатывался как относительно простая замена C и C++, которая сможет эффективно работать на многоядерных процессорах и распределенных системах. Go не стал «прорывом», но вошел в число популярных современных языков и, в основном, применяется для создания микросервисов и веб-приложений.

Российские программисты тоже внесли вклад в развитие языков нулевых-десятых. С 2010 по 2011 компанией JetBrains (под руководством Андрея Бреслава) был разработан Kotlin. Это объектно-ориентированный язык, функционирующий на базе Java Virtual Machine, создававшийся как более лаконичная и простая альтернатива Java и Scala. Как и Java, он часто используется Android-разработчиками.

Swift (2014) создавался Apple как более простая и эффективная замена C, C++ и Objective-C. Это универсальный язык, на котором прежде всего пишут продукты для macOS, iOS и других систем корпорации. Иногда может использоваться для поддержки сайтов и веб-приложений.

Вместо заключения:

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

Если вы только планируете ворваться в яркую и разнообразную вселенную программирования, то, скорее всего, размышляете о том, с какого языка начать. Это зависит от того, чем именно вы хотите заниматься — веб-разработкой, мобильными приложениями или, может быть, data science. Некоторые языки многофункциональны, другие — скорее относятся к «узким» и «заточены» на решение ограниченного спектра задач.

У языков программирования разные пороги вхождения. Если начать работать в Python относительно просто, то об R этого не скажешь. При выборе языка для изучения исходите из своих целей, знаний и уровня подготовки. Ищите и используйте возможности для образования и самообразования. Это не только курсы, книги и статьи, но и онлайн-тренажеры.

Хотите стать программистом в игровой студии? Имеет смысл начать изучать Python — на нем легко создавать прототипы игр. Вы наверняка будете работать в Unreal или Unity, так что осваивайте C++ и C#. JavaScript пригодится, если вы собираетесь разрабатывать мобильные проекты. Менее известные, но использующиеся в индустрии, языки — это Lua, Swift и CUDA-C.

Источники:

1. Germn. Краткая и на 146% точная история языков программирования — https://habr.com/ru/post/481822/

2. Владимир Языков. Языки программирования: для чего нужны, какие популярны, как выбрать и с чего начать изучение- https://netology. ru/blog/03-2022-programming-languages

3. История языков программирования — https://ru.wikipedia.org/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%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

4. Какой язык программирования учить прямо сейчас: 9 самых востребованных — https://trends.rbc.ru/trends/education/601c1a6b9a79472c4806230ahttps://trends.rbc.ru/trends/education/601c1a6b9a79472c4806230a

5. Harry McCracken. Fifty Years of BASIC, the Programming Language That Made Computers Personal — https://time.com/69316/basic/

Подписывайтесь на официальный аккаунт Black Caviar Games на DTF, чтобы не пропустить новые интересные статьи! 😉

Мы так же есть в YouTube, VK, Telegram, Яндекс.Дзен и TikTok.

Краткая история программирования / С чего все начиналось

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

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

Для упрощения обращения с ЭВМ люди стали активно разрабатывать языки, одним из первых стал Ассемблер. Для отображения переменных стали использоваться символьные наименования. Вместо числовых операций человеку достаточно знать мнемонические имена, их запоминание в разы облегчалось. Уже на этом этапе языки программирования стали более приближёнными к понятному для человека языку. 

К первооткрывателям среди языков программирования относится Фортран – это сокращённое сочетание 2 слов: Formula и Translation. Создан уже в середине 50-х. До сих пор язык используется благодаря лёгкости и простоте написания, а также развитой системе библиотек для Фортран. Чаще используется для научных и инженерных подсчётов, а также активно применяется в физичке и остальных науках, связанных с математикой.

Узконаправленные языки

Из-за увеличения сфер использования ЭВМ появились и другие языки для отдельных разработок в новых сферах:

  • экономическое направление оставалось незанятым до появления Кобол;
  • Снобол – обрабатывает алгоритмы, связанные с текстами;
  • Лисп. Работает на основании алгоритмов для отработки символов. Активно используется для формирования искусственного интеллекта.

Уже в 1968 г. был впервые запущен конкурс, в котором главным местом являлось звание лучшего языка программирования для начала карьерного пути. Данные планировалось использовать для обучения специалистов. Победу одержал Алгол-68, но он остался малоизвестным, о популярности и речь не идёт.

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

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

В школах стал преподаваться простой язык Бейсик, он легко взаимодействует с ЭВМ в качестве прямого диалога. Время никак не повлияло на эту сферу, до сих пор Бейсик является самым простым языком для начала изучения большинства распространённых направлений программирования.

Создание языка C

Развитие возможностей вычислительного оборудования привело к необходимости написания ёмких программ для управления ЭВМ. Это место по праву занял язык Си, который стал активно использоваться в 70-х годах. Явным достоинством языка является его универсальность. Он превосходит Паскаль благодаря наличию вложенных возможностей сотрудничества с разными машинными командами и подходящими частями памяти. 

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

Пролог и Ада

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

Только в 80-х годах был разработан язык Ада. Он расширяет классическое понимание и свойства языков того периода. Ада могла решать задачи в режиме реального времени и моделировать независимые решения.

Классификация

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

  1. Низкий. Сюда относятся различные машинные языки или разновидности с символическим кодирование типа Ассемблера и Автокода. За основу взяты операторы машинных команд, только разработаны с привязкой к мнемоническому коду. Операндами являются уже не точные адреса, а символьное обозначение имён. Все модели разработаны для отдельных разновидностей ПК, они являются машинно-зависимыми. В подобных языках отмечается сильная зависимость языка от внутренних особенностей системы;
  2. Высокий. Языки встречаются куда чаще, они более удобны в использовании. К ним причисляются: Алгол, С, Пролог, Паскаль, Бейсик, Фортран и другие. Перечисленные языки не имеют жёсткой зависимости от машины, ведь они основываются на возможностях системы операндов, которые подобны для классовых алгоритмов. Недостатками высокого уровня являются большая ресурсоёмкость и медленное исполнение;
  3. Сверхвысокий. Представителей языков крайне мало, только APL и Алгол-68. Их считают сверхвысокого уровня из-за разработки сверхмощных операторов.

Согласно другой классификации языки делятся на:

  • символьные – Пролог, Лисп и Снобол;
  • вычислительные – Паскаль, С, Алгол, Бейсик, Фортран.

Направления развития

Информатика в современном мире развивается в 3 ключевых направлениях:

  1. Процедурное появилось в период активнейшего развития компьютеров и других вычислительных устройств, с тем пор широко используется. В процедурных направлениях присутствуют выраженные описания действий, необходимых к выполнению. Для получения результата всегда проводится определённая процедура, которую составляют различные последовательности манипуляций. Процедурные языки дополнительно разделяются на:
    • Структурные. В них используется один оператор для записи цельных алгоритмом: циклов, функцию, ветвлений и остального. Более известны: Паскаль, Ада и С.
    • Операционные. Применяют несколько различных действий. Среди самых известных разновидностей: Фокал, Фортран и Бейсик.
  2. Непроцедурные. Языки программирования имеют декларативную структуру, появление которой приходится на 70-е года. Активнее всего начали развиваться в 80-х годах после появления проекта формирования 5 поколения ЭВМ. Основная задача – создание возможностей для построения высокоинтеллектуальных машин. Они также разделяются на:
    • Функциональные. Программа выполняет исчисление определённой функции, которая берёт за основу другие относительно простые алгоритмы и более простые задачи. В основе функционального направления используется основной элемент – рекурсия. Она подразумевает расчёт значений функции с помощью задействования её в других элементах. В языке отсутствуют циклы и методика присваивания значений.
    • Логические. Программа вовсе не требует описание действий, её основу составляют соотношения данных и их значения. Только после расчёта можно получать ответы на вопросы. После перебирания известных параметров выводится ответ. В программе отсутствует метод или порядок обнаружения ответа, он неявным образом устанавливается языком. Ярким представителем является Пролог. Из направления полностью устранено алгоритмическое мышление, только статические отношения между объектами, а вся динамика сокрыта от разработчика и сводится к перебору данных.
  3. Объектно-ориентированные языки, все они являются разновидностью высокого уровня программирования. Подобные языки не нуждаются в описании чёткой последовательности манипуляций для получения результата задачи, но отдельные компоненты процедурного направления присутствуют. Пользователям значительно проще работать с такими языками, так как они обладают доступным и богатым интерфейсом. Лучшим примером подобного направления с визуальным общением является Object Pascal.

Существуют языки для написания сценариев, известными являются Rexx, Tcl, Perl и Python, а также языки оболочек систем Unix. В них разрабатывается индивидуальный стиль написания кода, который отличается от известного принципа системного уровня программирования. Они не используются для создания приложений на нижнем уровне, скорее для комбинирования различных компонентов из разных языков, из которых составляется набор отдельных функций. 

Активнее всего стали развиваться по мере распространения интернета, от чего стали широко применяться языки сценариев. Для создания сценариев чаще всего применяется Perl, а для Web-части пользуется популярностью JavaScript.

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

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

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

Давайте подробнее рассмотрим историю кодирования и хронологию языков программирования.

 


 

Хотите больше технических новостей? Подпишитесь на информационный бюллетень ComputingEdge уже сегодня!

 


 

Происхождение


1843 Ада Лавлейс

Ада Лавлейс была британской аристократкой; что необычно для женщины ее времени, она получила образование в области математики и естественных наук. Однако ее вклад в развитие языков программирования и программирования заключается не в том, что она изобрела устройство, которое стало прорывом Чарльза Бэббиджа в 1820-х годах с его разностной машиной. Вместо этого Лавлейс создал самый первый машинный алгоритм в 1843 г.

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

 

ХХ век

 

1936 Алан Тьюринг

Сегодня Алан Тьюринг известен своей работой по взлому кодовой машины Enigma в нацистской Германии в 1919 году.39. Но в 1936 году Тьюринг опубликовал статью, которую считают основополагающей в компьютерных науках. Тьюринг предложил концепцию универсальной машины. Машина, которая могла следовать инструкциям. В конце концов он превратил эту новаторскую идею в план компьютера, работающего от электричества, который мог бы запускать программы.

 

1940-е годы Конрад Цузе

Конрад Цузе создал то, что считается первым языком программирования для компьютеров в начале 1940-х годов. Он назывался «Планкалкул» и мог хранить коды, позволяя инженерам выполнять рутинные повторяющиеся задачи гораздо эффективнее и быстрее.

 

1949 Язык ассемблера и сокращенный код

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

Уильямом Шмиттом с компьютерами BINAC и UNIVAC.

1952 Autocode

В 1952 году Autocode был разработан для компьютера Mark 1 в Манчестерском университете. Это был первый язык, который можно было перевести в машинный код.

 

1957 Fortran

Джон Бэкус создал FORmula TRANslation или FORTRAN еще в 1957 году. Невероятно, но этот язык программирования 1950-х годов до сих пор используется в суперкомпьютерах и научных и математических вычислениях.

 

1958 ALGOL и LISP

Алгоритмический язык, созданный американскими и европейскими учеными, ALGOL стал отправной точкой для всемирно известных языков программирования, таких как Pascal, Java, C и C++.

В том же году Джон Маккарти изобрел процессор списка или LISP. Предназначенный для ИИ, такие компании, как Boeing и Genworks, все еще используют его.

 

1959 COBOL

COBOL был разработан группой под руководством доктора Грейс Мюррей Хоппер; COBOL расшифровывается как Common Business Oriented Language. Он был разработан для процессоров транзакций по кредитным картам, сигналов светофора и телефонных звонков, а сегодня используется в банковской сфере и играх. Сегодняшняя виртуальная АТС и другие современные решения для связи опираются на языки программирования, такие как COBOL.

 

1964 BASIC

Студенты разработали BASIC в Дартмутском колледже. Это расшифровывается как Универсальный символический код инструкций для начинающих. Затем Бейсик получил дальнейшее развитие и продавался Биллом Гейтсом как продукт.

 

1970 PASCAL

Никлаус Вирт разработал этот язык программирования и назвал его в честь французского математика Блеза Паскаля. Настолько простой в освоении, что Apple использовала его в самом начале своей истории.

 

1972 Smalltalk, C и SQL

Алан Кей, Адель Голдберг и Дэн Ингаллс разработали Smalltalk в Исследовательском центре Xerox в Пало-Альто. Он был разработан для изменения кода. Его принципы присутствуют в современных Java, Python и Ruby и используются такими компаниями, как CrowdStrike и Logitech.

C также был разработан в 1972 году Деннисом Ритчи в Bell Telephone Laboratories. Он был разработан для использования с операционной системой Unix. Основанные на его предшественнике B, такие языки, как C#, Java, JavaScript, Perl, PHP и Python, являются производными от C.

В год, который можно назвать винтажным для кодирования и языков программирования, Рэймонд Бойс и Дональд Чемберлен разработали SQL (язык структурированных запросов) в один и тот же год. Сначала он назывался SEQUEL и использовался для просмотра и изменения информации в базах данных.

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

 

ADA 1980-х годов

Названный в честь Ады Лавлейс, пионера вычислительной техники, ADA был разработан командой Джин Ичбиа из CUU Honeywell Bull. Ада — это язык программирования высокого уровня, расширенный по сравнению с другими популярными языками программирования, такими как Паскаль. ADA используется для управления воздушным движением в различных европейских странах и космических программах.

 

1983 C++, Objective C

Бьерн Страуструп модифицировал язык C в Bell Labs. Результатом стал C++ с некоторыми расширениями, такими как классы, шаблоны и виртуальные функции. C++ теперь используется в MS Office, Adobe Photoshop и различных типах высокопроизводительного программного обеспечения.

Затем Брэд Кокс и Том Лав разработали Objective-C, язык программирования, используемый для операционных систем Apple.

 

1987 Perl

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

 

1990 Haskell

Назван в честь американского математика Хаскелла Брукса Карри. Haskell — это в первую очередь математический язык программирования. Используется в различных отраслях, где необходимо выполнять сложные расчеты, обрабатывать цифры и вести учет.

 

1991 Python и Visual Basic

Знаменитый британский комедийный актер Монти Пайтон вдохновил имя Python. Гвидо Ван Россум разработал этот высокоуровневый язык общего назначения. Сегодня Python — один из самых популярных языков программирования во всем мире. Его используют такие гиганты, как Google и Spotify.

Visual Basic позволяет пользователю перетаскивать участки кода через пользовательский интерфейс (GUI). Части Visual Basic используются в таких приложениях, как Word и Excel.

 

1993 Ruby

Юкихиро Мацумото создал Ruby как язык программирования высокого уровня. Используется для разработки веб-приложений, сегодня используется Groupon.

 

1995 Java, JavaScript, PHP

Java, созданный Джеймсом Гослингом в 1995 году, является одним из самых известных и популярных языков программирования в мире. Это язык высокого уровня общего назначения, используемый в сотовых телефонах и парковочных автоматах.

JavaScript был создан Brendan Eich. Используется для веб-разработки, PDF-документов и виджетов для рабочего стола, он есть почти на каждом крупном веб-сайте. Некоторыми известными примерами являются Adobe, Gmail и Mozilla Firefox.

PHP был известен как «Персональная домашняя страница», но теперь расшифровывается как «Препроцессор гипертекста». Он был разработан Расмусом Лердорфом. Он используется для создания и поддержки веб-страниц и разработки на стороне сервера. Огромные компании, такие как Facebook, Wikipedia и WordPress, используют PHP.

 

XXI век


 

2000 C#

Microsoft разработала C# в попытке объединить элементы Visual Basic и C. Сейчас он используется во всех продуктах компании.

 

2003 Scala и Groovy

В 2003 году Мартин Одерски создал Scala. Его способность работать с Java дает ему преимущество перед разработкой для Android. Scala используется гигантами социальных сетей и развлечений, такими как Twitter, Linkedin, Twitter и Netflix.

Groovy — это простой в изучении язык, разработанный Джеймсом Страчаном и Бобом МакВиртером. Starbucks, Craftbase и Transferwise используют Groovy.

 

2009 Go (Google)

Большие программные системы сталкиваются с различными проблемами, и Google разработал Go для их решения.

Go популярен среди крупных технологических компаний, таких как Uber, Dropbox и, конечно же, Google. Если нужно узнать, что такое вишинг? Отчасти вы можете поблагодарить Go за то, что нашли ответ.

 

2014 Swift

Apple разработала Swift для замены C, C++ и Objective-C. Идея заключалась в том, что Swift будет проще и универсальнее, чем эти языки. Swift можно использовать для облачных приложений, мобильных и настольных компьютеров. Языковая платформа Duolingo недавно использовала его для запуска нового приложения. Создавать приложения, которые нравятся клиентам, непросто; в наши дни многие компании используют блок-схемы мобильных приложений.

Источник изображения

Сегодня и завтра


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

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

Кодирование и компьютерные языки будут продолжать развиваться и развиваться, но точно так же, как Ада Лавлейс, вероятно, не могла точно представить, что ее идеи будут означать для грядущих столетий, кто может точно сказать, что нас ждет в следующие 180 лет.

 

Об авторе


Северин Йерсо (Severine Hierso) — старший менеджер по маркетингу продуктов в регионе EMEA компании RingCentral Office, лидера в области облачных коммуникационных решений, таких как международный телефонный номер, и увлечена созданием ценности, дифференциацией и обменом сообщениями, обеспечивая лучшее опыт для клиентов и партнеров.

Она приобрела обширный международный опыт в области маркетинга продуктов, исследований рынка, обеспечения продаж и развития бизнеса в секторах SaaS, телекоммуникаций, видеоконференций и технологий в таких компаниях, как Sony, Cisco, Cogeco Peer 1 и Dimension Data/NTT. Северин также написала контент для WeVideo и Valuer.

 

Краткая история компьютерного программирования

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

Итак, кто был первым программистом и каким был первый язык программирования? Продолжайте читать, чтобы узнать!

Смотреть видео на YouTube


TL;DR

Первый программист…
Часовой механизм — первый пример программирования. Система перфокарт Jacquard Loom (1804 г.), вероятно, является первым примером двоичной системы. Ада Лавлейс написала первые компьютерные программы (1840-е гг.). Лавлейс также был первым, кто предположил, что компьютеры могут быть чем-то большим, чем просто калькуляторами. Грейс Хоппер разработала LOW-MATIC, первую систему, которая могла преобразовывать простой английский язык в компьютерный код (1952 г.).


Кто был первым программистом?

Заводной механизм  устройства, вероятно, первые известные первые примеры «программирования» . Самым ранним известным примером является антикиферский механизм (200 г. до н.э. – 70 г. до н.э.) . По этой причине никто не может точно сказать, кто на самом деле был первым, кто запрограммировал машину.

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

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

Писатель, «Автоматон» Жаке-Дро, Музей искусства и истории Невшателя, Рама, CC BY-SA 2.0 FR, через Wikimedia Commons

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

Первая двоичная система и зарождение программирования

Система перфокарт Jacquard Loom , запатентованная в 1804 , вероятно, является первым известным примером двоичной системы или, по крайней мере, форматом команд включения/выключения. . Система позволила автоматизировать процесс вплетения в материал различных узоров.

Система перфокарт для жаккардового ткацкого станка.

Как работает система перфокарт Jacquard Loom:

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

Система перфокарт Jacquard Loom автоматизировала это. Принцип был очень прост: в ткацкий станок подавалась серия перфокарт. Если в карточке было отверстие, игла поднималась вверх, если отверстия не было, игла оставалась внизу. Затем челнок перемещался по ткацкому станку, создавая узор на ткани.

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

Перфокарты позже использовались для хранения других типов данных, а в 1890 году даже использовались для хранения данных переписи населения США. Они легли в основу раннего компьютерного программирования, поскольку давали людям возможность «разговаривать» с компьютером. Постепенно карты трансформировались в перфоленту, в магнитную ленту, в диски…

Молодая женщина, работающая с перфокартами.

Хотя система была запатентована Жозефом-Мари Жаккардом, на самом деле она была разработана Жаком де Ванкасоном. Система получила свое название от ткацких станков, на которых она использовалась; Жаккардовые станки.

Азбука Морзе

Хотя некоторые люди могут предположить, что азбука Морзе является первой двоичной системой, это неверно. Двоичная система имеет только два «символа» — на и на . В азбуке Морзе используются точки, тире и пробелы. Кроме того, люди обычно отправляют азбуку Морзе с немного более длинными промежутками между буквами и еще более длинными промежутками между словами. Эффективно создание системы с 5, а то и 6 различными «символами».

Кто был первым программистом?

Ада Лавлейс она же Августа Ада Байрон-1843 или 1850 редкий дагерротип Антуана Клоде. Антуан Клоде, CC BY-SA 4.0, через Wikimedia Commons

В 1840-х годах Ада Лавлейс стала первым программистом , несмотря на то, что аналитическая машина (компьютер, для которого она разработала программы) не никогда не производился.

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

5 июня 1833 года Лавлейс (17 лет) впервые встретил пионера компьютеров Чарльза Бэббиджа (40 лет) на вечеринке в Лондоне. У них завязалась маловероятная дружба. Несмотря на невероятную мощь машин Бэббиджа, Лавлейс понадобилось, чтобы полностью реализовать их потенциал.

В 1842 году Луиджи Федерико Менабреа написал статью об аналитической машине Бэббиджа. Лавлейс перевела его с французского (8 000 слов) на английский и добавила собственные примечания (20 000 слов). Ее перевод включал первую «компьютерную программу» и был опубликован в 1843 году. Компьютерная программа содержала планы серии перфокарт, которые могли создать длинную последовательность чисел Бернулли.

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

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

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

Могла ли она представить, где мы будем сегодня?

Алан Тьюринг

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

Алан Тьюринг Изобретатель современных вычислений.

В 1936 году, еще до того, как компьютеры стали способны на такую ​​сложность, Тьюринг (23) написал статью, которая навсегда определила информатику: «О вычислимых числах с приложением к проблеме Entscheidungs». В статье доказывалось, по крайней мере теоретически, что «универсальная вычислительная машина» (машина Тьюринга) теоретически может выполнять любые математические вычисления, если ей задан правильный алгоритм.

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

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

Первый программист (на электрическом компьютере)

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

1941, Конрад Цузе стал, что, вероятно, первым человеком, запрограммировавшим электрический компьютер  и, в отличие от Лавлейс, компьютер действительно мог выполнять операцию!

Пока Алан Тьюринг был занят взломом кода энигмы, его немецкий «двойник»; Цузе разрабатывал Z3; первый в мире работающий электромеханический программируемый, полностью автоматический цифровой компьютер. В компьютер загружались программы с полоски пленки. Как и в системе Jacquard Loom, в пленке были пробиты отверстия.

Первые компьютерные программисты

В 1945 первых штатных оплачиваемых программистов , ответственных за ENIAC (первый электронный цифровой компьютер общего назначения), были Кей Макналти, Бетти Дженнингс, Бетти Снайдер, Марлин Уэстофф , Фрэн Билас и Рут Лихтерман , выбранные из группы людей-калькуляторов в Школе электротехники Мура, Пенсильвания. Они снова изо всех сил пытались получить признание за свои достижения при жизни, и их пренебрежительно называли «дамами из холодильника».

Первые платные программисты; Бетти Джин Дженнингс (слева) и Фрэн Билас (справа) управляют главной панелью управления ENIAC в Школе электротехники Мура. (Фото армии США из архивов Технической библиотеки ARL)

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

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

В 1952 — Американский ученый-компьютерщик Грейс Хоппер разработала систему, которая могла преобразовывать простого английского языка в компьютерный код . Позже он стал COBOL, компьютерным языком, который до сих пор широко используется для обработки данных!

Мать компьютерного программирования; Грейс Хоппер за клавиатурой UNIVAC, c. 1960 Неизвестно (Смитсоновский институт), CC BY 2.0, через Wikimedia Commons

COBOL был разработан для UNIVAC I (одного из первых крупномасштабных электронных компьютеров). Как и в случае с другими ранними программистами, Хупер столкнулся с негативной реакцией. Когда она впервые предложила эту идею, люди отнеслись к ней с пренебрежением и сообщили, что компьютеры «не понимают английский язык».

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

Univac I в Бюро переписи с двумя операторами ок. 1960 Сотрудники Бюро переписи населения США, общественное достояние, через Wikimedia Commons

First Computer Virus

Первый компьютерный вирус , названный Creeper , появился в 1971 . Он был разработан Бобом Томасом .

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

Первое антивирусное программное обеспечение

В 1972 первое «антивирусное» программное обеспечение; Жнец был создан как прямой ответ на Крипера. Он был создан Рэем Томлинсоном (человеком, который также разработал первую систему электронной почты). Жнец был компьютерной программой «противоядие», которая перемещалась между компьютерами, удаляя экземпляры Крипера с жестких дисков.

Будущее компьютерного программирования

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

Оставить комментарий

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *