Найти тему
Вad_World

Краткая История Прогромирования

Оглавление
CRAZY: Всем ЛАПЕНЬ👋🤓, вещает Crazy🤟👊, не пугайтесь мое такое приветствие, мне прям нравится странно, но не банально, ладно к делу, как вы заметили у нас на канале вышла первая статья от Bruce, а теперь от меня, каждый из нас будет писать на свои темы, Bruce начал с уникальных и необычных Марак машин, впереди еще больше, а я охвачу историю зарождение и как что и где было во время появления и развития программирования как и где это применяется в наше время и до какого масштаба все доберется,
Вы готовы к безумному мощному бесконечно уникальному путешествию по миру программ, ПОЕХАЛИ....

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

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

Ада Лавлейс. Первая в мире программа и взгляд в будущее

Ада Лавлейс
Ада Лавлейс

Ада Лавлейс

10 декабря 1815 года на свет появилась Ада Лавлейс, большинству из нас известная как самый первый в мире программист. Так уж получилось, что это звание принадлежит представительнице прекрасного пола. Сегодня исполняется двести один год со дня рождения этого человека. И в этом посте я бы хотел немного рассказать о самых интересных моментах из ее жизни, не отделываясь обрывочными фразами, но и не слишком уж углубляясь в детали. Материал можно найти, где угодно, имея под рукой Интернет. Однако мало кто полезет искать его просто ради интереса. Поэтому кому интересно, добро пожаловать под кат.

Учась в школе, сидя на уроках литературы, я прекрасно знал, кто такой Джордж Байрон.

Джордж Байрон
Джордж Байрон

Мы читали и по желанию заучивали его стихотворения. Спустя время, выбрав себе профессию я узнал о том, кем была загадочная Ада Лавлейс – первая девушка-программист, дочь того самого лорда Джорджа Байрона. Тогда для меня это оказалось удивительным открытием. Я на всю жизнь запомнил, кем была Ада и, как-то совсем незаметно для самого себя, забыл о самом Байроне.

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

Видно, что Ада сама росла в довольно талантливой семье. Ее мать, Анна Изабель, еще до рождения дочери сильно интересовалась математикой, за что когда-то получила от мужа забавное прозвище – “королева параллелограммов”. Это была действительно необычная семья. Анне после ухода мужа все же удалось воспитать дочь в одиночку и вот что из этого получилось.

В двенадцать лет Ада собрала свой летательный аппарат! До этого двенадцатилетняя девочка некоторое время запиралась от матери в комнате и что-то писала. Мать боялась, что она начнет зачитываться стихами отца и пойдет той же дорогой. Однако все это время она чертила.

Математическая логика занимала ее больше всего остального. Однажды Ада заболела и три года провела в постели. Но все это время она хотела и продолжала учиться. К ней приходили самые разные доктора и учителя. Одним из них был Август де Морган – известный математик и логик (да-да, закон де Моргана назван в его честь). С тех пор Ада еще больше погрузилась в мир математики.

Август де Морган
Август де Морган

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

Математика математикой, но как же так вышло, что помнят о ней в первую очередь именно программисты? Одной из самых судьбоносных встреч Ады Лавлейс стала встреча с Чарльзом Бэббиджем – изобретателем первой аналитической вычислительной машины.

Чарльз Бэббиджем
Чарльз Бэббиджем

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

-6

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

В 1835 году Ада выйдет замуж за очень достойного человека – барона Уильяма Кинга, который впоследствии был удостоен титула графа, а сама Ада стала графиней Лавлейс. Спустя четыре года у них уже было трое детей – два сына и дочь. Сыновьям Ада дала имена в честь отца – одного назвали Ральфом Гордоном, а другого – Байроном.

А как же с той самой первой в мире программой? И какова судьба машины Бэббиджа? В 1842 году итальянский ученый Луис Манебреа напишет книгу о машине Бэббиджа. Ада по просьбе Бэббиджа займется ее переводом. Во время перевода самой книги она сделала огромное количество замечаний, видя в этой машине кажется больше, чем сам Бэббидж.

Вот ее слова: «Суть и предназначение машины изменятся от того, какую информацию мы в нее вложим. Машина сможет писать музыку, рисовать картины и покажет науке такие пути, которые мы никогда и нигде не видели» Алан Тьюринг впоследствие читал ее записи, введя в свои работы термин возражение леди Лавлейс относительно способности машин мыслить.

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

Сама Ада Лавлейс умерла 27 ноября 1852 года всего в возрасте 36 лет. Ровно столько, сколько прожил ее отец. Ее похоронили в фамильном склепе вместе с отцом, которого она так и не узнала.
В честь Ады Лавлейс был назван разработанный в 1980-х годах Министерством Обороны США язык программирования Ада.

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

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

-7

Следом появились так называемые языки высокого уровня (или машинонезависимые). В отличие от предшественников, они не были привязаны к конкретным устройствам. Для них создавались компиляторы - "переводчики" программ, созданных на языках высокого уровня, на "низкоуровневые". Первым из них стал 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-х с распространением микрокомпьютеров.

-9

За 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 Юкихиро Мацумото тоже актуален по сей день и используется для веб-приложений.

-12

Другой тренд конца восьмидесятых - начала девяностых - развитие визуальных языков. В них программа создается при помощи манипуляций с графическими объектами вместо написания кода. Первыми стали 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 и других систем корпорации. Иногда может использоваться для поддержки сайтов и веб-приложений.

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