Краткая история языков программирования — Ретро на DTF
10 588 просмотров
Когда-то мы писали, что попасть в геймдев можно без умения кодить. Это так, но программисты очень важны для игровой индустрии. Обойтись без этих специалистов геймдев не может. А чем они должны владеть? Языками программирования, конечно. Именно на них и пишется код. Давайте запустим машину времени, вернемся к истокам и узнаем, на чем писали задолго до 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. Язык используется до сих пор — в основном, для сложных вычислений.
Успех «Фортрана» заставил действовать конкурентов. Немецкое Общество прикладной математики и механики создало комитет и поставило перед ним задачу разработки нового универсального языка программирования. То же самое сделала американская Ассоциация вычислительной техники. К счастью, вместо противостояния получилось сотрудничество (если не считать спора из-за того, какой знак использовать для десятичных дробей — точку или запятую).
Другие современники 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, разработанный для редактирования текстов, в наши дни применяется в самых разных целях — от системного администрирования до работы с базами данных.
Другой тренд конца восьмидесятых — начала девяностых — развитие визуальных языков. В них программа создается при помощи манипуляций с графическими объектами вместо написания кода. Первыми стали 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.
Как появилось программирование? Краткая история создания первых языков программирования
У первых компьютеров не было экранов и клавиатур — для работы с ними использовали перфокарты. Но уже тогда писали программы, используя машинные коды. Чтобы облегчить процесс, придумали языки программирования. Tutortop решил рассказать, как возникло и развивалось программирование, когда появился первый язык программирования и как его использовали.
История создания программированияВозникновение программирования часто связывают с появлением электронно-вычислительных машин, которые запустили в работу в 1940 году. Но это не совсем так. Зародилось оно в далёком 1822 году, когда английский математик Чарльз Бэббидж начал работу над созданием разностной машины. Он придумал аппарат, который производил вычисления.
Ада Лавлейс — первая женщина-программистПотенциал машины открылся не сразу — этому помогла Ада Лавлейс — дочь известного поэта Джорджа Байрона. Её и считают первым программистом. Девушка придумала идею применения в работе с устройством двоичной системы счисления и ввела основные термины программирования, которые используются до сих пор. Первая в истории компьютерная программа — тоже на счету Ады. При помощи наработок удалось выяснить, что необходимо для создания более «продвинутой» вычислительной машины или будущего компьютера. Это устройство для кодирования или перфокарта, память, блок управления, приспособление для подсчета и просмотра результатов.
Хоть Ада Лавлейс и сделала многое для развития программирования, оно начало формироваться только спустя 100 лет — после создания ЭНИАКа или электронного цифрового вычислителя. Для этого устройства программы нужно было писать на понятном для него языке и использовать двоичный код. Как и электронно-вычислительная машина, оно переводило данные с перфокарт в понятный двоичный код, делало вычисления и показывало результат в десятичном коде. Выглядели цифровые вычислители громоздко, заполняли все свободное пространство в комнатах.
Когда появился первый язык программирования?Практика работы с электронно-вычислительной машиной показала, что язык взаимодействия с ней сложный и громоздкий. Программы в то время выглядели как последовательность нулей и единиц — допустить ошибку было очень легко, просто поменяв цифры местами. Их создание было трудозатратным, требовало повышенного внимания. При этом для каждой ЭВМ нужно было создавать свою программу и углубляться в особенности работы каждого из блока устройства. Было принято решение автоматизировать набор машинного кода. В 1947 году Кэтлин Бут вместе с другими учёными разработала язык ассемблера. В нём для обозначения команд и объектов использовали сокращенный набор букв или укороченные слова. Так программистам было гораздо проще работать над кодом.
Следующий шаг — появление независимых от типа устройств языков программирования. Это можно считать настоящим прорывом в истории программирования, как и создание компиляторов. Первый компилятор или программу, автоматически переводившую данные на языке программирования в машинный код, создала Грейс Мюррей Хоппер в 1952 году. Со временем количество компиляторов росло в геометрической прогрессии, но тогда это была удивительная разработка, которая сделала работу с кодом ещё комфортнее.
Грейс Мюррей Хоппер — изобретательница первого компилятораЧуть позже — с 1954 года по 1957 год учёные под руководством Джона Бэкуса занимались разработкой Fortran. Его как раз и считают первым массовым языком программирования. Fortran активно начали использовать для технических расчётов, точных вычислений. Его используют до сих пор, хоть другие языки программирования и затмили его своей популярностью. После того как Fortran начал с высокой скоростью распространяться среди научного сообщества, конкуренты задумались над созданием ещё более удобного языка. Первыми в работу включились Германия и Америка. Соперничества не вышло, зато получилось сделать новый язык программирования — Algol. Его также ждала всемирная слава и признание. Algol начали использовать в СССР, Европе, Америке. Повсеместно с распространением языка создавались и новые компиляторы.
Современники Fortran и Algol — языки программирования Lisp и Cobol. Первый сделали для работы с длинными списками данных, а второй для экономических операций. И Lisp, и Cobol продолжают использовать, например, в банковской сфере.
Структурное и объектно-ориентированное программированиеСтруктурным программирование назвали потому, что в работе использовались процедуры и функции. Развиваться этот вид программирования начал ближе к концу 60-х годов 20 века. Появление структурного программирования позволило уменьшить код программ и сделать его более понятным. Ведь теперь, например, вместо выполнения одной и той же задачи можно было объявить функцию и не прописывать данные несколько раз. Структура помогла разбить программу на составляющие элементы и значительно облегчила работу с большим массивом данных. Хоть этот тип программирования и был удобным, но исчерпал себя, когда код достиг определённой длины. Поэтому учёные всерьез задумались над разработкой нового подхода.
Томас Курц и Джон Кемени — создатели популярного языка BASICВ 1964 году Томас Курц и Джон Кемени разработали BASIC для того, чтобы делать несложные программы. В основе этого языка программирования находились Fortran и Algol. Название ему дали не просто так. Учёные решили, что без умения работать с компьютером в будущем будет довольно сложно. Они решили сделать язык простым и понятным, в первую очередь для преподавателей, которые будут передавать свои знания студентам.
Simula и Smalltalk — первые объектно-ориентированные языки. Благодаря их появлению возникли такие фишки, как редактирование кода в реальном времени, динамическая типизация. Они создавались на базе структурного программирования, но с такими концепциями, как полиморфизм и наследование. Использование структур стало ещё эффективнее, когда их объединили в классы, содержащие в себе не только переменные, но и функции для работы с ними. Появилась возможность тестировать не всю программу целиком, а разбить её на классы — так было удобнее и быстрее.
Когда создали Паскаль?Одним из массовых структурных языков, который быстро обрёл популярность, стал Паскаль. Его придумали в конце 60-х годов 20 века в качестве языка для обучения студентов программированию. Но он стал распространяться не только в научной среде — Pascal активно стали использовать программисты для решения прикладных задач. После создания нового языка учёные решили и созданием транслятора для перевода в машинный код. Уже в 1975 году Паскаль был модернизирован и работать с ним стало в разы проще, чем на этапе создания и запуска.
В 1980-х годах, когда в школах начали вводить предмет «Информатика», именно Паскаль выступал в качестве учебного языка. Также его использовали и в высших учебных заведениях. На основе Pascal был разработан Object Pascal — язык программирования, который относят уже к объектно-ориентированным.
Возникновение языка программирования СВ одно время с Паскалем разработали известный многим язык программирования C. Позже на основе его синтаксиса сделали С++, Java, C#. До сих пор C используют для разработки операционных систем и приложений. Существует интересная история, связанная с созданием языка С.
Кен Томпсон (слева) и Деннис Ритчи (справа)Над языком программирования С трудился Деннис Ритчи и Кен Томпсон. Люди из их близкого окружения рассказывали, что известным программистам нравилась компьютерная игра, которую не получалось перенести на компьютер в их офисе. Но его операционная система была неподходящей, поэтому пришлось сделать новую. При переносе уже сделанной системы на другой ПК также возникли проблемы, поэтому Ритчи и Томпсон решили переписать её на язык нового уровня. Оказалось, что возможности уже разработанных языков не позволяют сделать этого — было принято решение работать над созданием нового.
В конце 1970-х Си стал использоваться даже чаще, чем BASIC. А в середине 1980-х его адаптировали под IBM-PC — так называется первый массовый персональный компьютер, выпущенный в 1981 году. Это и называют причиной скачка популярности этого языка, как и то, что на C была написана часть операционной системы UNIX — одной из самых часто используемых операционных систем в мире.
В каком году появился Python?Основатель Python — Гвидо ван Россум до 1986 года занимался созданием языка программирования ABC, который и стал прототипом для Python. Он задумывался как язык с простым синтаксисом, с которым будет комфортно работать. Но в 1987 году проект закрылся — ABC медленно распространялся, а разработчики не получали обратной связи от пользователей о качестве продукта.
Гвидо ван Россум — голландский программист, автор языка программирования PythonСпустя два года, в 1989 году Гвидо ван Россум показал коллегам наработки будущего Python. В первом прототипе был стандартный синтаксис, списки и строки, разные типы данных. Но уже на этом этапе основатель Пайтона понял, что важно добавить систему, где разработчики будут предлагать улучшения. Так появился PEP-индекс — регламент, который позволяет вносить правки в структуру и делиться своим мнением, наработками.
Первый раз опробовали Python в 1991 году — изначально проект разрабатывался без бюджета, нужно было придумать прототип за несколько месяцев и доказать его эффективность. У Гвидо ван Россума это получилось. Что касается названия, то здесь у создателя не было желания долго раздумывать, какое же имя лучше дать своему языку. Гвидо назвал его в честь любимого сериала «Летающий цирк Монти Пайтона».
В 2021 году Python исполнилось 30 лет. За это время он изменился, стал языком программирования, известным во всём мире. В конце 1990-х вышла вторая версия языка, а в 2008 — третья или Python 3.0. В ней не было неисправностей, а архитектура языка во многом была переработана. Что примечательно, в 2019 году язык стал независимым — сейчас он развивается только за счёт сообщества. Гвидо ван Россум больше не входит в совет руководителей.
Профессия Python-разработчика, как и сам язык, с каждым годом набирает ещё большую популярность. Подробнее о ней можно прочитать в статье из нашего блога.
Разработка Ruby, PHP и JavaRuby чаще всего применяют в разработке — язык удобный и понятный, высокоуровневый. Его придумал японец Юкихиро Мацумото в 1995 году, но распространяться он начал в начале 2000-х.
Юкихиро Мацумото — японский разработчик свободного ПО, создатель языка программирования RubyВсё потому, что множество процессов не были переведены на другие языки. В теории Юкихиро хотел создать язык общего назначения, чтобы его использовали для разного типа задач. Но оказалось, что Ruby наиболее удобен для написания серверной части сайтов и веб-программ. Отличительные особенности этого языка — интерпретируемость, поддержка блоков, многопоточность.
Годом ранее, в 1994, Расмус Лердорф и не думал над созданием языка, а сделал лишь «персональную домашнюю страницу» — она-то и легла в основу PHP. Его считают одним из гибких языков программирования, PHP помогает делать приложения и во многих моментах выигрывает у Java, например. Изначально PHP был просто набором скриптов, а за 20 лет стал языком, который ежегодно причисляют к самым популярным языкам программирования.
Джеймс Гослинг — автор языка JavaДата официального выпуска ещё одного известного языка Java — 23 мая 1995 года. Но первая версия вышла в 1991 году.
Создали Java инженеры Патрик Ноутон и Джеймс Гослинг хотели сделать язык программирования для бытовых электронных устройств, у которых совсем небольшие системы памяти. Было важно, чтобы единожды написанный код читался на любом устройстве, а не создавался заново из раза в раз. Если поначалу речь шла только о мелких бытовых электронных устройствах, то позже начали разработку операционной системы для телевизионных приставок.
А в 1994 году Гослинг понял, что они смогут сделать действительно первоклассный браузер на базе Java. С возникновением этого языка браузер начал задавать структуру и резко расширять возможности провайдеров.
Хронология языков программирования
Кодирование и языки программирования являются строительными блоками нашего современного цифрового мира. Но хотя самые значительные события в этой области произошли на памяти живых, история кодирования и временная шкала языков программирования длиннее, чем вы думаете.
Все начинается с удивительных и замечательных людей, задолго до рождения других типов обычных технологий, таких как автомобили и телефоны. Это даже предшествует современным методам лечения, которые мы принимаем как должное, таким как инсулин и антибиотики. На самом деле кодирование восходит к 1840-м годам.
Давайте подробнее рассмотрим историю кодирования и хронологию языков программирования.
Хотите больше технических новостей? Подпишитесь на информационный бюллетень ComputingEdge уже сегодня!
Происхождение
1843 Ада Лавлейс
Ада Лавлейс была британской аристократкой; что необычно для женщины ее времени, она получила образование в области математики и естественных наук. Однако ее вклад в развитие языков программирования и программирования заключается не в том, что она изобрела устройство, которое стало прорывом Чарльза Бэббиджа в 1820-х годах с его разностной машиной. Вместо этого Лавлейс создал самый первый машинный алгоритм в 1843 г.
Она поняла, что машина Бэббиджа может делать больше, чем просто считать; его можно было использовать как машину общего назначения. Лавлейс догадался, что числа могут представлять другие вещи, и родилась идея языков программирования. Новаторская работа Лавлейс стала первым шагом к созданию языка, способного давать компьютеру инструкции.
20 век
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 , все, к чему мы прикасаемся, что видим и с чем взаимодействуем, было создано с помощью компьютерного программирования.