История языков программирования

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

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

Итак, мы поговорим о веб-сервере. Мы поговорим о языке программирования PHP, SQL, языке, который вы говорите с базами данных, , как мы говорим внутри браузера с помощью Javascript и jQuery, который похож на библиотеку, которая делает кодирование на стороне клиента Java намного проще. А затем, как мы отправляем данные туда и обратно между браузером и сервером, используя протокол JSON. Основой всего, что мы собираемся сделать, является веб-сервер Apache.

Это проект с открытым исходным кодом, он был частью проекта 1992, 93, 94 в NCSA, Национальный центр суперкомпьютерных приложений, , который был частью мозаики. Мозаика была браузером, клиентом , а веб-сервером Apache был HTTPD, , что означает демон протокола передачи гипертекста. Демон был тем, что всегда был там, чтобы клиент мог поговорить с ним.

Когда проект «Мозаика» спустился в NCSA, это был открытый исходный код, и куча людей подобрали его , и Брайан Белендорф был одним из этих людей. Apache означает, в зависимости от вашей интерпретации, Apache как очень патчивый веб-сервер, потому что они продолжали ислатывать эту вещь, и это создало основу с открытым исходным кодом Apache в качестве первого продукта. Это открытый исходный код, он написан на этот язык программирования под названием C, который является очень низким и мощным языком программирования, который действительно поддерживает многие технологии, которые мы используем.

Источник: https://www.coursera.org/learn/web-applications-php/

Это своего рода слайд, где я немного говорю о истории всех этих языков программирования. C интересный язык программирования, потому что в 1972 году это язык программирования, который использовался для написания Unix, был использован для написания Linux, был использован для написания Python.

Если вы посмотрите на сам Python, Python написан на C. До C, в начале, мы склонны делать много вычислений. Мы видели компьютеры как очень быстрые калькуляторы, и поэтому многое из того, что мы сделали , было либо написать очень простые программы машинного языка, либо программы Fortran, которые действительно пытались использовать его в качестве быстрого калькулятора. Некоторое время в 15, 20 лет, между 1950-х и 1970-х годов, мы поняли, что компьютеры будут использоваться для таких вещей, как электронная почта и социальные сети, отправка текста, и там была целая куча demb-фантазийных текстовых языков, которые были построены, но ни один из них сочетание текстовых подкованных языков и сверхбыстрых языков.

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

Если вы видели Java или Javascript или C ++ или Objective C или C Sharp, вы видели этот язык, потому что все эти языки в верхней части здесь, вид системного y языков программирования, принимают их очень много намеков.

Javascript - это своего рода серая область между забавными языками и системными языками программирования. Но все они взяли свои послания с языка C, который использовался для написания, как я уже сказал, Linux и Unix, и даже Python написан на C, поэтому Python был написан на C.

В дополнение к роду языков system-y, есть целая серия простых в использовании языков, и Perl это язык, который обозначает что-то. Язык отчетов, и это было о обработке простых данных, и Perl действительно был вдохновением для Python. Но Python был написан на C, и поэтому C Python взял много вдохновения от C. ,который вы знаете язык Python и язык PHP , который является еще одним из языков, которые мы будем изучать в этой серии классов.

Он также написан на PHP, он взял много вдохновения от C. PHP написан в C и берет много вдохновения от него, но он также принимает много вдохновения от Perl и, в меньшей степени, вероятно, вдохновение от Python. И этот нижний набор языков, это действительно более простые языки программирования, которые имеют более простые примитивы, которые легче использовать.

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

Я имею в виду, легко найти немного кода и вставить его в свою веб-страницу и работать, но чтобы действительно понять Javascript, вероятно, лучше, чтобы он был вашим третьим или четвертым языком, который вы изучаете. И если вы изучили Python и PHP и SQL, HTML и CSS, а затем вы, наконец, изучите Javascript, для меня, это правильный порядок. И это тот порядок, который мы собираемся сделать в этом классе.

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

PHP был создан другим по имени Расмус Лердорф. Сейчас тысячи людей считают, что это большой проект с открытым исходным кодом. Расмус не был обученным компьютерным учёным. Я призываю вас посмотреть его видео, он честно скажет вам, что он больше заинтересован в практическом, простом в использовании материале, чем о создании величайшего в мире языка программирования. Теперь PHP с 80-х годов, и поэтому ему почти 20 лет, и поэтому он стал более элегантным с течением времени. PHP 5 и PHP 7 намного элегантнее, чем PHP 1 и PHP 2.

Но идея состоит в том, чтобы получить вас, как программист, создающий веб-приложение, продуктивным как можно скорее. У него были проблемы в середине 1990-х, потому что он был писать все свои веб-страницы на C и C очень трудно. Взгляните на него, и Расмус веселый парень, и PHP очень является отражением его раннего подхода к его созданию.

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

История рождения SQL немного отличается от других языков. В 60-е годы все поставщики баз данных, IBM и Oracle и Sybase, а также компании, которых даже не существует, боролись за рынок. И все они имели различное представление о том, как должны быть построены базы данных, и они это сделали. И каждый из них имел бы свои кандидаты в области информатики, они создавали бы разные базы данных. И они создавали разные языки, чтобы разговаривать с этими базами данных. А потом, правительство США в виде Национального института стандартов и технологий NIST, сказал, смотрите, мы устали спорить с вами о том, какая лучшая база данных. И нам нужен стандартный язык для общения с любой базой данных. Вы можете реализовать их так, как захотите. Вперёд. И так, они сказали: эй вы промышленность люди, вы собираетесь вместе и вы разрабатываете стандарт. И SQL был этим стандартом. И Элизабет Фонг, я дал интервью с ней. Я ездил к ней в NIST, и она рассказывает о том, как это произошло. И это было нечто волшебное, , потому что все эти продавцы собрались вместе и создали что-то прекрасное. И это была абстракция. в том, что это действительно не было прямой реализацией. Язык не реализовал напрямую никаких баз данных поставщиков, но это был способ поговорить с любым из них, в очень красивой абстракции. Получается, что это очень красивый язык, и я думаю, вы согласитесь, как только мы с ним поговорим.

Итак, после того, как мы закончим на сервере, мы начнем играть в браузере, в клиенте. И поэтому JavaScript похож на этот C-подобный язык программирования, и он имеет фигурные скобки и так далее, и так далее. Но его ранний дизайн должен был быть сделан внутри веб-браузера или веб-страницы. И, поэтому он на самом деле имеет эти предопределенные константы, такие как документ и окно, , которые позволяют ему возиться с вашим браузером. Итак, вы смотрите страницу браузера. И JavaScript прокрадывается вокруг страницы и делает вещи, и вы видите эти изменения через то, что называется объектной моделью документа или окном. Где вещи, как вы можете быть на странице, и появляется новая вещь. Маленький красный бот, это все сделано с JavaScript. И поэтому JavaScript действительно круто. Это было в 1995 году, Брендан Эйх был изобретателем этого. Это было в Mozilla Foundation или в проекте Netscape. И я призываю вас взглянуть на видео Брендана. Брендан очень отличается от Расмуса, тем, что Брендан даже умнее компьютерного ученого. Брендан - физик, , который мы, хорошие компьютерные ученые, смотрим на физиков. Потому что физики такие умные, они знают много математики. Брендан действительно видел JavaScript как свой шанс, в очень спешке, не говоря никому, создавая то, что он считал действительно самым красивым языком программирования , который когда-либо видел человечество. Вот как высока цель, которую он имел для этого. И он достаточно умный, что видел так много языков, у него были вещи, которые ему нравились, и он взял этот C-подобный язык с Java, C-подобный синтаксис из Java, и построил очень красивый язык. И когда я расскажу вам о том, как Azure и PHP сравниваются с объектно-ориентированным JavaScript. Я полностью узнаю об этом, , потому что мне нравится выглядеть, как это элегантно. Ты как просто покажи мне синтаксис. Итак, я говорю, что JavaScript - это красивый язык, и , поэтому JavaScript продолжает расти в популярности. Возможно, вы работаете в организации, которая использует JavaScript на сервере, в дополнение к браузеру, используя фреймворк Node.js или другие фреймворки JavaScript. Итак, взгляните на интервью JavaScript. Это действительно, я думаю довольно круто. И снова, чувствовать личность этих людей. Теперь JavaScript - это прекрасный язык программирования , и он разговаривает с браузерами через эту вещь, называемую DOM, объектной моделью документа. И они стандартизировали JavaScript очень быстро. Таким образом, JavaScript все равно, но они не стандартизировали объектную модель документа. То, что делает JavaScript, чтобы изменить то, что происходит в браузере. Хорошо.

Итак, проблема заключалась в том, что в том, что если у вас был Internet Explorer 6 или Internet Explorer 8 или Chrome или Firefox, они все были разными. Не JavaScript, а как JavaScript делал вещи в браузере. Итак, jQuerry был слоем переносимости, который был построен Джоном Ресигом. И это был очень элегантный и портативный способ, делать вещи в объектной модели документа. Итак, Джон примерно через 10 лет после все остальные люди в том, что он пытается сделать это проще для нас. Итак, многие люди в наши дни просто предполагают, что jQuery - это JavaScript, потому что это лучший способ поговорить с объектной моделью документа. И это действительно отличный способ делать вещи, и он сохраняет наш код в браузере намного короче. И поэтому я призываю вас взглянуть на Джона Ресига.

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

Итак, я рекомендую вам взглянуть на эти видео, когда у вас есть время. Они не важны. Вы не собираетесь учить JSON от просмотра видео Дугласа Крокфорда, или Лиз Фонг не сможет научить вас SQL. Но, я думаю, это поможет вам понять, что все эти вещи являются творением людей. И, с людьми, работающими вместе, чтобы что-то придумать. И, есть все виды компромиссов, и все это очень интересно. И вы можете в конечном итоге написать с Node или Ruby on Rails. Или кто знает, что вы собираетесь писать свои веб-приложения. Но, в конце концов, все это то, что мы люди создали, а затем мы люди, используем и используем друг от друга.

Источник:
https://www.coursera.org/learn/web-applications-php/