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

Первый высокоуровневый язык Планкалкюль

Часто можно услышать, что первым языком высокого уровня был Fortran (1957). Но еще в разгар Второй мировой войны немецкий ученый Конрад Цузе создал Plankalkül — первый высокоуровневый язык. Он написал на нем49 листов программ для оценки шахматных позиций и документацию в отдельной брошюре. Работы Цузе увидели свет только после войны, в 1972 году.

Планкалкюль — электромеханический язык, так как разрабатывался для компьютера Z4. Автор не создал для него аппаратной реализации. Первый компилятор для Планкалкюля написали в Германии в 2000 году: он называется Plankalkül-2000. Его разработали в Свободном университете Берлина спустя пять лет после смерти Цузе. Это интерпретатор диалекта Планкалкюля — он чуть проще самой первой версии языка. Если вам захочется почувствовать дух истории, на нем даже можно написать простенькую программку.


Конрад Цузе за работой

Plankalkül не нашел практического применения, но вполне соответствует современным стандартам высокоуровневых языков. В нем есть четыре вида переменных, массивы, циклы, кортежи, подпрограммы и условные конструкции. С помощью языка можно выполнять простые арифметические операции и сортировку чисел.

Реакция сообщества

Релиз языка Ć активно обсуждается как на профильных сайтах, посвященных программированию, так и на ресурсах, никак не связанных с ним. Редакция CNews обнаружила посвященные ему темы на YCombinanor и на Reddit.

Smart-системы стали драйвером продажи недвижимости
Интеграция

Топик на YCombinanor был создан 9 октября 2021 г. и за это время собрал почти 300 комментариев. На Reddit существует как минимум две темы для обсуждения Ć, датированных тем же днем. В одной из них набралось около 290 ответов, в другой – 33.

Пользователи разделились на два лагеря – одни считают, что язык имеет право на существование, другие же сомневаются в его практической пользе. К примеру, пользователь Reddit под псевдонимом bladehaze написал, что Ć пригодится лишь в том случае, если писать код без использования библиотек, что не всегда представляется возможным.

Начните с HTML и CSS

Часто их называют языками программирования, но это не верно. Это язык разметки и таблица стилей, с помощью которых верстается страница. Все сайты используют HTML и CSS. Прелесть технологий — в их простоте: их легко освоить на среднем уровне за 2-3 недели. Если вам интересно работать в интернете — попробуйте.

JavaScript

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

  • серверные и консольные приложения;
  • игры и сервисы для мобильных;
  • программы для десктопа.

Этот язык быстро развивается, востребован на фрилансе. Часто именно JS рекомендуют в ответ на вопрос, какой язык программирования выбрать для быстрого старта. Его легко освоить.

Начинающий разработчик на JavaScript может рассчитывать на 30 тысяч рублей в месяц. Средний — 45–90 тысяч и больше. C опытом от трех лет — на 135 тысяч и больше.

Особенности:

  • Неявная типизация. Когда разработчик пишет код, он использует переменные — строки, числа и прочее. В языках со строгой типизацией программисту приходится объявлять тип переменных — сообщать обработчику, что это, например, число или строка. В языках с неявной типизацией обработчик «понимает» это сам. С одной стороны, это плюс — код пишется быстрее. С другой стороны — минус, потому что новички часто ошибаются и создают операции для переменных с разными типами данных. Например, в коде порой встречается суммирование чисел и слов. Это довольно формальное объяснение, на самом деле всё сложнее. Подробнее вы поймете эти особенности после старта обучения.
  • Малонадёжность — JS не используют в сверхсложном ПО, разрабатывать банковские или промышленные продукты на нем не получится.

Стек:

  • редактор кода или IDE (среда разработки): Notepad++, Sublime Text, WebStorm;
  • отладчик: браузер, Firebug;
  • среда исполнения для серверного ПО: NodeJS + менеджер пакетов npm.

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


Пример синтаксиса JavaScript — обработка формы входа

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

Не торопитесь вникнуть во все технологии сразу. Начинаете с нуля — используйте чистый язык и разбирайтесь в принципах программирования.

Дополнительно пригодится:

  • для десктопных программ: Electron и AppJS;
  • популярные фреймворки и библиотеки: jQuery, AngularJS, ReactJS, Ember;
  • JSON — популярный формат передачи структурированных данных;
  • MongoDB — документо-ориентированная база данных для JS-процедур.

HTML — язык визуальной разметки веб-страниц

HTML — одна из основ того, с чем мы взаимодействуем в сети. Созданный в конце восьмидесятых – начале девяностых «отцом интернета» Тимом Бернерсом-Ли, он органично развивается уже более25 лет, обретая всё новые возможности в соответствии с требованиями времени. Сегодня действующая версия стандарта языка — HTML5. Формированием стандарта занимается организация W3C — Консорциум Всемирной паутины. Она расширяет язык, задает направление его дальнейшего развития и следит за тем, чтобы исполнение HTML-команд осуществлялось во всех браузерах.


За свою «службу во благо глобального развития интернета» Тим Бернерс-Ли уже с 2004 года носит рыцарское звание, данное ему британской королевой

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

Важно!
Базовое знание HTML необходимо каждому, кто планирует заниматься веб-разработкой.

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

JavaScript

Следующий must have среди языков — JavaScript, для работы с ним хватит браузера. Синтаксис здесь на порядок сложнее: появляются служебные символы и конструкции с разношерстными скобками, названия функций далеко не всегда раскрывают суть действия, и даже простейший код имеет структурированный вид. Взглянем на переписанный код с функцией Фибоначчи:

function fib_recursion(n) {
   return n < 1 ? 
    	 n <= 2 ? 1
    	 fib_recursion(n - 1) + fib_recursion(n - 2);
}
 
console.log(fib_recursion(10));

Объем кода практически не изменился, зато снизилась читаемость. После изучения Python вы без проблем разберетесь, как работает структура return, и оцените удобство именно такого способа записи.

Кроме того, экосистема JavaScript богаче, чем Python. Она предлагает обилие сред разработки, редакторов кода, фреймворков, библиотек. Это еще один шаг к пониманию, как работает «взрослое» программирование.

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

R

R был выпущен в 1995 году для статистических вычислений и выполнения других сложных математических операций, связанных с анализом данных и графикой. Корпорация Fortune 500 часто использует R для проведения комплексного анализа рисков, тенденций поведения клиентов и других задач, требующих большого количества вычислений. R отличается от многих языков статистики, а его синтаксис на основе s-выражений напоминает Lisp. Несмотря на то, что для других целей R используется редко, он считается стандартом в сфере аналитики данных, особенно для прогнозирования рынков или анализа пользовательских тенденций.

Области применения: интеллектуальная обработка данных, прогнозная аналитика, графика.

Разработка ПО для компьютерной техники

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

  • C. Отличный, но уже старый язык, который используется для создания ОС, драйверов, различного ПО, имеет все свойства низкоуровневого языка;
  • С++. Более совершенная версия предыдущего, способна выполнять любые требуемые действия для ПК. Активно используется для создания игр;
  • Python. Относительно простой, но универсальный язык, с помощью которого можно легко разрабатывать программное обеспечение, отличающееся высокой производительностью и простотой;
  • Ruby. С его помощью можно реализовывать многопоточные режимы работы, легко взаимодействовать с памятью машины, легко подгружать нужные расширения в автоматическом режиме и многое другое.

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

Java

Java — это ООП-язык общего назначения, разработанный в 1990-х годах Джеймсом Гослингом в Sun (сейчас принадлежит Oracle) и предназначенный для компиляции в байт-код для запуска на виртуальной машине Java. К 2020 году к ним относятся практически все виды устройств — от телевизоров и игровых приставок до серверов, телефонов и даже кухонных приборов. Язык широко распространен в корпорациях и университетах, что сделало его популярным как среди начинающих программистов, так и среди опытных разработчиков.

Области применения: корпоративные приложения, встроенные системы, веб-сервисы, игры.

Python

Python тоже часто используется в веб-разработке, а ещё это один из самых популярных языков для анализа данных и в Data Science. Вы встретите Python в разработке веб-сайтов и утилит, в машинном обучении и работе с нейросетями.

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

Плюсы Python

  • Легко освоить.
  • Удобный синтаксис.
  • Прекрасно подходит для своих задач (мы перечислили их выше).
  • Для него создано много полезных фреймворков и библиотек.

Спорные моменты

  • Частичная поддержка многопоточности.
  • Медленный, но можно значительно ускорить с помощью Cython.
  • Неявная типизация.

Зарплаты и востребованность

По объединённым данным сайтов для поиска работы (HeadHunter, Superjob, Rabota.ru и другим), вакансий для разработчиков на Python в Москве около 200, а зарплаты в среднем около 105 тысяч рублей. Для новичков — в среднем 60 тысяч, а для специалистов — от 150 до 170 тысяч. Если вы разбираетесь в нейросетях и знакомы с машинным обучением, то скорее всего ваша зарплата будет выше.

Синтаксис

Вот пример кода в Python:

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

Фортран и Лисп — первый и второй высокоуровневые языки

Изучим подробнее то, как появился первый язык программирования высокого уровня — Фортран, а также Лисп, считающийся вторым. В 1954 году разработчики из компании IBM, возглавляемые Джоном Бэкусом, создали язык, посредством которого программисты получили возможность значительно облегчить взаимодействие с ПК, которое до того момента осуществлялось посредством машинных команд либо ассемблера. Он получил название Fortran и вскоре стал известен и в СССР под русифицированным наименованием. Фортран стал популярным инструментом для научных вычислений.

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

Примером достижения практических результатов в области развития концепций, заложенных в Фортран, можно считать создание Лисп. Данный язык был разработан в 1958 году, однако, широкую известность он приобрел несколько позже — в 1960-м. Лисп был разработан Джоном Маккарти и опубликован в одном из популярных журналов для IT-специалистов. Основное предназначение рассматриваемого языка — обработка списков. Лисп стал популярен в среде разработчиков систем искусственного интеллекта. На его основе были созданы такие языки, как Planner, Scheme, а также Common Lisp. Также Лисп оказал значительное влияние на многие современные инструменты разработки ПО. Структура языков программирования высокого уровня, популярных сегодня, в значительной степени базируется на алгоритмах Фортран и Лисп.

Интересно будет, однако, рассмотреть иные подходы к классификации рассматриваемых инструментов разработки средств ПО.

А что с декларативом?

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

Lisp

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

SQL

Размышляя, что такое языки современного программирования, кажется, что это – нечто трудное и непонятное. К декларативному виду можно дополнительно отнести «язык баз данных». Речь идет об SQL.

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

  • T-SQL;
  • PL/SQL;
  • PL/pgSQL;
  • MySQL.

Это – наиболее популярные варианты. Но ими диалекты не ограничиваются.

HTLM

Еще один вариант «общения» с компьютером – это HTML. Изучая, что такое языки программирования, стало ясно – они подходят для написания веб-страниц. HTML относятся к «разметочному».

При помощи данного варианта пишутся сайты. Преобладает использование тегов. Умеет:

  • форматировать текст;
  • редактировать текстовые блоки, создавая заголовки разных уровней, абзацы и так далее;
  • работать с таблицами;
  • вставлять объекты (звуковые и графические в том числе);
  • контактировать с гиперссылками.

Но полноценное форматирование контента при помощи HTLM невозможно. Приходится подключать таблички стилей CSS.

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

Рейтинг TIOBE Index

Рейтинг TIOBE Index построен на оценке результатов поисковых запросов, содержащих название языка. Логика этого индекса очень проста: «Если язык ищут в поисковых системах, то он популярен». Конечно же, это заявление спорное, потому что программисты-профессионалы крайне редко будут искать в поисковике именно название языка программирования. Они чаще ищут решение конкретной задачи. Но громадный плюс этого рейтинга в том, что он достаточно объективно показывает интерес к тому или иному языку.

Индекс TIOBE показывает самые популярные языки программирования, информации о которых искали на 25-ти самых популярных поисковых системах, то есть запросы вида: «+»<language> programming». Индекс обновляется раз в месяц.

Индекс TIOBE на март 2021 года выглядит так:

На графике изменений индекса хорошо видны как менялась популярность языков программирования. Но при этом первое-второе место постоянно делят два языка Java и C. Хотя Java активно продвигается компанией Oracle, а язык C никто не продвигает.

И еще интересно то, что C++ ни разу не смог превысить по популярности C.

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

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

Basic

Basic или Бейсик называют группу языков программирования высокого уровня. Его создали профессора колледжа Дартмут в 1964 году с целью помощи студентам в создании собственных компьютерных программ. Сейчас детище Томаса Курца и Джона Кемени стало основным языком, на котором пишутся программы для ОС Windows.

C

В далеком 1972 году Дэннис Ритчи придумал язык, который остается популярен и сейчас. Программисты любят его за успешное сочетание в нем элементов как высокого, так и низкого уровней программирования. Кстати, для тех языков программирования, которые используются для написания сайтов, основой является как раз язык Си.

С++

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

Он подходит для создания ОС, драйверов, серверов, игр, прикладных программ и много другого. Си ++ является универсальным языком, который эффективен, многофункционален и доступен большинству программистов.

Python

Разработка этого языка началась в 1980-х годах голландцем Гвидо ван Россумом, но его первая версия была выпущена только в 2008 году. Он отличается постоянным усовершенствованием и активным сообществом пользователей. Python является высокоуровневым языком с большим объемом различных функций. Особенно хорошо он справляется с веб-разработкой, анализом данных и автоматизацией процессов.

PHP

Этот язык лидирует среди тех, что применяются в разработке веб-сайтов и поддерживается практически всеми хостинг-провайдерами. Он применяется, в основном, для разработки веб-сайтов и веб-приложений. Впервые PHP был представлен публике в 1995 году датским программистом Расмусом Лердорфом.

Java

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

JavaScript

Хотя JavaScript похож на Java, но все же является отдельным языком. Чаще всего используется в качестве встраиваемого языка: приложения получают доступ к веб-страницам с его помощью. Он более легок в применении и дается даже тем, кто мало знаком с программированием. Доля его использования ежегодно растет.

Go (Golang)

В 2007 году компания Google занялась разработкой собственного языка программирования, с помощью которого бы можно было решать реальные проблемы. Созданием языка занимались Роб Пайк и Кен Томпсон, которые уже в 2009 году представили Go. Для компании Google он является заменой популярных языков Си и Си ++. Он не стал прорывом, но зато используется для создания серьезных проектов.

SQL

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

Swift

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

Pascal

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

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

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

Перспективные языки: почему эти пять?

Пять языков программирования, о которых пойдёт речь, весьма новы (не исключено, что о каком-то вы услышите впервые), и они явно имеют отличные шансы пробиться во второй эшелон в ближайшие 2-3 года. Может быть, когда-нибудь один из этих языков сможет потеснить и языки первого эшелона.

Вот почему эти пять языков были выбраны для этого списка:

Elm набирает популярность в сообществе JavaScript, в первую очередь среди тех, кто предпочитает функциональное программирование, которое находится на подъеме. Как и TypeScript или Dart, Elm транспилируется в JavaScript.

Rust является языком системного программирования, предназначенным в основном для ниш, где применяют С и С++. Поэтому удивительно видеть, что популярность этого языка быстрее растёт среди веб-разработчиков. Этот факт становится более осмысленным, когда вы выясняете, что язык был создан в Mozilla, которая хотела дать лучший вариант веб-разработчикам, которые вынуждены писать низкоуровневый код, и при этом более производительный, чем PHP, Ruby, Python или JavaScript. Rust был также признан лучшим в номинации ”сама любимая технология” по результатам опроса разработчиков, проведённом StackOverflow в 2016 году (это означает, что большинство пользователей хотели бы продолжать использовать этот язык).

Kotlin существует уже около пяти лет, но только в этом году он достиг production-ready версии 1.0. Несмотря на то, что он ещё не достиг популярности Scala, Groovy или Clojure — три самых популярных и зрелых (не считая Java) языков под JVM — он выделяется из множества других JVM-языков и, кажется, готов занять свое место среди лидеров этой группы. Язык возник в JetBrains (создатель популярной IntelliJ IDEA IDE). Так что он продуман с упором на производительность труда разработчиков.

Crystal — ещё один язык, который надеется принести производительность программ на уровне C в высокоуровневый мир веб-разработчиков. Crystal нацелен на Ruby-сообщество, т.к. его синтаксис подобен, а порой идентичен, Ruby. И без того большое количество стартапов на Ruby продолжает расти, и Crystal может сыграть ключевую роль, помогая поднять производительность этих приложений на следующий уровень.

Elixir также черпал вдохновение из экосистемы Ruby, но вместо того, чтобы пытаться принести C-подобные преимущества, он ориентирован на создание высокодоступных, отзывчивых систем, т.е. на то, с чем Rails имеет проблемы по мнению критиков. Elixir достигает этих преимуществ при помощи Erlang VM, которая имеет прочную репутацию, основанную на 25 годах успешного применения в телекоммуникационной отрасли. Phoenix (веб-фреймворк для Elixir), наряду с большой и цветущей экосистемой, придаёт этому языку дополнительную привлекательность.

Теперь взгляните, как четыре из этих пяти языков карабкаются по лестнице популярности (на основе данных StackOverflow и GitHub):

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

По деньгам

Деньги на разных рынках принципиально разные. Например, в Кремниевой долине в разы выше. Много достойных вакансий для тех, кто пишет на Java (разработкой под Android) и Java Script; на С/С++, а также на Objective-С и Swift (разработка под iOS).

Глобально, на порядки больше денег приносят работа в компаниях-мейджорах и такие языки, как F#, Clojure, Groovy, Perl, Erlang, Rust, Scala, Go. Кстати, в этом же ряду популярный простой и лаконичный Ruby. А Rust любят многие в IT-комьюнити. Менее популярные языки часто изучают в дополнение к своему основному, широко используемому на рынке.

Доступные и популярные языки, такие как Java или JavaScript (JS), а также языки, дающие фундаментальные знания (С/С++), приносят хорошие деньги и позволяют быстро находить работу в России, на аутсорсе или с релокацией в другие страны.

Эль-76

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

Специально для него учёный Владимир Пентковский с командой Института точной механики и вычислительной техники разработал язык Эль-76. Он был высокоуровневым, но его часто называли автокодом, потому что языка более низкого уровня в «Эльбрусе» не было. Программы на всех остальных языках транслировались в Эль.


Владимир Пентковский. Фото: «Википедия»

Эль был полноценным языком программирования с джентльменским набором возможностей и операторами на русском языке (привет 1С-программистам и импортозамещению). Что в нём было:

  • структурное программирование;
  • циклы;
  • условные операторы;
  • оператор case;
  • обработка исключений.


Пример кода на Эль-76. Фото: Public Domain

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

Идея русскоязычного программирования была заманчивой и идеально встраивалась в политический курс СССР, но история и экономика распорядились иначе. Сегодня не осталось ни одной машины, которая «разговаривает» на Эль-76. «Эльбрусы» производились для внутреннего рынка, а IBM, Microsoft и Apple продавали компьютеры по всему миру. Под их «железо» писали программы на Fortran, BASIC и C. Поэтому Эль, как и многие другие кириллические языки программирования, умер.

1990-е годы: эпоха Интернета

Haskell

Lua

PHP

Ребол

Быстрый рост Интернета в середине 1990-х годов стал следующим крупным историческим событием в языках программирования. Открыв радикально новую платформу для компьютерных систем, Интернет создал возможность для принятия новых языков. В частности, популярность языка программирования JavaScript возросла благодаря его ранней интеграции с веб-браузером Netscape Navigator. Различные другие языки сценариев получили широкое распространение при разработке специализированных приложений для веб-серверов, таких как PHP. В 1990-е годы в императивных языках не было принципиальных новшеств , а было много рекомбинации и созревания старых идей. В эту эпоху началось распространение функциональных языков . Большой движущей философией была продуктивность программиста. Появилось много языков «быстрой разработки приложений» (RAD), которые обычно поставлялись с IDE , сборкой мусора и были потомками более старых языков. Все такие языки были объектно-ориентированными . К ним относятся Object Pascal , Visual Basic и Java

Особое внимание уделялось Java.

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

Некоторые известные языки, которые были разработаны в этот период, включают:

  • 1990 — Хаскелл
  • 1990 — Питон
  • 1991 — Visual Basic
  • 1993 — Lua
  • 1993 — Р
  • 1994 — CLOS (часть ANSI Common Lisp )
  • 1995 — Рубин
  • 1995 — Ада 95                                                    
  • 1995 — Ява
  • 1995 — Delphi ( Object Pascal )
  • 1995 — JavaScript
  • 1995 — PHP
  • 1997 — Ребол

Python

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

Для начинающего — от 35 тысяч рублей. Средний уровень — от 80 тысяч. Специалист с опытом от трех лет — 90–210 тысяч рублей. Если понимать в математике и разбираться в нейросетях, доход будет выше.

Язык легко освоить, у него удобный и понятный синтаксис, масса полезных библиотек и готовых решений.

Особенности:

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

Недостатки:

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

Стек:

  • IDE: Pycharm;
  • Cython-синтаксис: для написания компилируемого кода;
  • анализ данных: iPython / jupyter, Anaconda, Matplotlib, Numpy;
  • нейросети: Scikit-learn, Keras, Tensorflow;
  • веб-разработка: Django, Tornado, Flask;
  • менеджер зависимостей: pip, conda.

Обратите внимание: разработчики часто спорят, нужна ли для программирования математика. Разбираться в ней полезно

Но обязательна она только там, где вы разрабатываете что-то для математиков. Если вы создаете сайт, например, про собак, то формулы вам вряд ли пригодятся — скорее, лучше выучить JavaScript с PHP и узнать побольше о собаках.


Пример синтаксиса Python — программа предсказывает ваш факультет в Хогвартсе

По перспективам

JavaScipt, C/С++, Python, Swift, Java. (После Java легче изучать перспективные Go и Scala. Scala используется в таких компаниях, как Twitter, Asana, Soundcloud, Hootsuite, Groupon.com, Foursquare, Tumblr и Coursera, но как первый язык его брать не рекомендуют, лучше подготовиться). Есть прогнозы о том, что Go, Scala, R, Rust, Kotlin, Elixir, Clojure и Haskell будут набирать популярность, но начинать лучше с мейнстримового языка.

Отдельно стоит тут сказать про C/С++: немного сложнее в изучении, но если вы хотите сделать карьеру в IT, то это хороший выбор для старта. Вы будете глубже понимать программирование, а не только иметь навыки. Тут нужны баланс, правильные стратегия и тактика, об этом подробнее поговорим чуть позже. Чтобы зарабатывать и скорее войти на рынок, нужны навыки, причем именно те, которые описывают в своих вакансиях работодатели. А для того, чтобы стать архитектором, ведущим разработчиком, нужно еще и глубокое понимание в дополнение к стеку разработчика.

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

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

Adblock
detector