Рейтинг: 10 самых популярных языков программирования 2021-го года
Содержание:
- О чем надо позаботиться в первую очередь
- GitHub
- JavaScript (веб-разработка)
- PHP
- Rust
- Язык Dart (платформа Flutter для создания кроссплатформенных мобильных приложений)
- Java
- Python
- HTML и CSS
- Популярность COBOL растет
- JavaScript
- Java
- Самые простые в плане изучения языки программирования
- Перспективные языки: почему эти пять?
- Почему JavaScript
О чем надо позаботиться в первую очередь
Подтяни английский язык
Самые лучшие, полные и актуальные источники информации только на английском, и незнание языка будет тебя ощутимо сковывать: лишит возможности общаться с иностранными коллегами и получать новые сведения из первоисточников. К тому же переводы есть не ко всем материалам, и иногда в них бывают ошибки.
Определись со сферой разработки
Существует огромное количество ответвлений, каждое из которых обладает своей спецификой:
- Создание настольных, серверных или веб-приложений;
- Разработка мобильных приложений нa Android/iOS;
- Программирование встраиваемых систем;
- Системное программирование;
- Game Dev;
- Олимпиадное программирование;
- Работа на основе 1C;
- Программирование баз данных;
- Научная теория
Очевидно, что инструменты для создания мобильных приложений не подойдут для разработки мощных высокоинтеллектуальных систем, а изучение, например, Fortran и Lisp могут быть полезны разве что в научных целях.
GitHub
Самый популярный и авторитетный портал для работы с кодом тоже составляет рейтинги языков, но только по годам. Подсчет ведется по количеству размещенных исходников за последние 12 месяцев. Рейтинг, опубликованный в начале 2019 года:
- JavaScript.
- Java.
- Python.
- PHP.
- C++.
- C#.
- TypeScript.
- Shell.
- C.
- Ruby.
Большое влияние на рейтинг GitHub оказывает продуктивность разработчиков. Именно поэтому в лидерах оказалось много представителей скриптовой направленности — объем кода исходников часто занимает всего несколько строк. Но — в отличие от предыдущих двух порталов — здесь практически не имеет значения сложность языка.
JavaScript (веб-разработка)
Думаю JavaScript не нуждается в представлении. Это очень популярный и востребованный язык программирования, который в основном используется для веб-разработки, в создании мобильных приложений (с помощью сторонних фреймворков) и в создании десктопных приложений на Windows, MacOS и Linux.
Значительный потенциал этого языка программирования можно увидеть при работе с фреймворками Node.js (бэкенд) и React (фронтенд), которые помогают создавать потрясающие веб-приложения.
На JavaScript также существует множество библиотек и фреймворков, которые дополняют функционал и расширяют области применения языка.
Тем не менее, это также один из самых простых языков для изучения. Если вы хотите идти в сторону веб-разработки, то JavaScript обязательный язык для изучения.
На данный момент доступны около 10 00 вакансий для языка JavaScript по всей России. Проанализировав многие вакансии можно сделать вывод, что большая часть из них приходится на фронтенд разработку, а в частности на фреймворк ReactJS.
На долю ReactJS приходится более 4 000 вакансий, что является очень приличной цифрой для отельного фреймворка. На долю vue.js и angular приходится около 400 и 2 000 вакансий соответственно.
По запросу React Native — платформу для создания мобильных приложений, пришлось около 700 вакансий.
Из этого всего можно сделать вывод что JS действительно является популярным языком и думаю в 2021 году он станет ещё востребованным.
PHP
Логотип PHP
Если с помощью JavaScript пишутся скрипты для лицевой части сайта (front-end), то с помощью PHP пишется серверная часть. Этот блог и все остальные блоги на WordPress, написаны с помощью этого языка. Кроме того, исходя из заявлений W3Techs, php используют 79% сайтов из опрошенных. Учитывая то, что подавляющее число блогов создается на WordPress, то php еще очень долго будет жить.
Платформа | Серверная часть |
Обучение | Лёгок в освоении |
Популярность | Популярен. №6 в списке PYPL. |
Средняя зарплата (мес) | 1700$ |
Преимущества | Знание языка = знание структуры большей части сайтов в интернете. Лёгок в учебе и легко найти работу. |
Недостатки | Популярность падает, маленькими шагами, но падает. Особенно на фоне новых языков, таких как Python. |
Rust
Rust является языком системного программирования, который сочетает в себе эффективность C и контроль над памятью с функциональными возможностями, такими как сильная статическая типизация и вывод типов.
Основными целями при проектировании языка были:
- Безопасность: Многие C-подобные языки открывают путь к ошибкам в результате ручного управления памятью (например, висячие указатели или двойные освобождения). Rust перенимает передовые практики современного C++, такие как RAII и смарт-указатели и делает их применение обязательным, систематически гарантируя, что чистый код на Rust безопасен по памяти.
- Скорость: Почти все языки работают медленнее, чем C, поскольку они обеспечивают абстракции, которые упрощают разработку программного обеспечения. Но это даётся ценой существенного увеличения накладных расходов во время выполнения (например, сборка мусора и динамическая диспетчеризация). Rust фокусируется на «абстракциях нулевой стоимости”, т.е. таких методах упрощения программирования, которые не требуют дополнительных затрат во время выполнения. Например, Rust управляет памятью во время компиляции и использует статическую диспетчеризацию для дженериков (по аналогии с шаблонами C++, но более безопасно по отношению к типам).
- Конкурентность: Конкурентный код в системных языках часто хрупок и подвержен ошибкам, учитывая нетривиальность многопоточного программирования. Rust пытается смягчить эти проблемы путем предоставления гарантий на уровне типа какие значения могут быть разделены между потоками и как именно.
Rust также имеет несколько отличительных особенностей:
- Проверка владения: прославленная возможность Rust — инструмент статического анализа, который считывает код и прекращает компиляцию, если он может привести к ошибке памяти. Это работает путем закрепления понятия, что значения либо принадлежат одному месту, либо используются во многих местах, и последующего анализа того, как владение значением меняется во время выполнения программы. Проверка владения также исключает состояние гонки в конкурентном коде, используя тот же набор правил.
- Композиция вместо наследования: Вместо того, чтобы использовать систему наследования классов подобно C++ или Java, Rust использует трейты или компонуемые интерфейсы для поддержки модульного программирования. Вместо того, чтобы указывать, что конкретный тип является частью иерархии классов, программист может описать тип на основе его возможностей, например, говоря о том, что тип должен быть Printable и Hashable вместо наследования от класса PrintableHashable.
- Крутые инструменты: Любой C/C++ ветеран знает боль установки зависимостей, компиляции кода на нескольких платформах и борьбы с тайнами конфигурации CMake. Rust экономит бесконечные часы, проведенные в криках на GCC, предоставляя разумный менеджер пакетов и кросс-платформенные API.
Для получения дополнительной информации, ознакомьтесь с The Rust Book и Rust by Example.
Этот раздел написал Will Crichton — аспирант Стэнфордского университета, который специализируется на параллельных и конкурентных системах, визуальных вычислениях и архитектуре компиляторов и языков программирования. Он часто пишет о Rust в своем блоге.
Язык Dart (платформа Flutter для создания кроссплатформенных мобильных приложений)
Платформа Flutter от компании Google, в последнее время стала одной из любимых наборов для разработки мобильных приложений с красивым и отзывчивым пользовательским интерфейсом для многих разработчиков.
Если у вас есть опыт объектно-ориентированного программирования, то изучение языка Dart будет несложной задачей. Концепция платформы Flutter вращается вокруг длинного списка виджетов, изучение которых может показаться сложным, но, как только вы освоите его, вы поймете что это не так.
Приложения на Flutter скомпилированы изначально; это означает, что вам не нужно поддерживать отдельную базу кода для приложений Android и iOS; следовательно, экономится много времени.
Flutter также поддерживает hot reload которая значительно ускоряет разработку приложений.
Если сравнивать Flutter например с более популярным react native, то я однозначно посоветовал бы Flutter, так-как работая над обеими платформами сделал вывод что Flutter действительно во многом лучше. Плюс ко всему приложения написанные на нём, за исключением нативной разработки, работают значительно быстрее.
Все эти функции в совокупности делают язык Dart, а соответственно платформу Flutter одним из лучших для изучения в 2021 году.
На head hunter доступны всего около 200 вакансий по данной технологии. Конечно это мало и российские компании пока не очень доверяют данной технологии. Это из-за того что, Flutter платформа довольно-таки молодая и она только сейчас начинает набирать обороты.
Это мы можем заметить и на сервисе google trends, где мы видим как за последний год Flutter начинает становиться популярным.
Поэтому язык Dart я рекомендую скорее независимым разработчикам, а не тем кто хочет устроиться на работу, разработчиком мобильных приложений, так-как несмотря на все, все же вакансий по нему очень мало.
Java
Кому подходит: тем, кто хочет штурмовать корпорации или разрабатывать универсальный софт для разных платформ.
Средняя зарплата на начало 2021 года: 151 тысяча (в прошлом году — 134 тысячи).
Преимущество Java в том, что код можно запустить почти на любом железе, где есть поддержка JVM – виртуальной машины Java:
- кнопочные мобильные телефоны;
- смартфоны;
- компьютеры почти с любым процессором и любой операционной системой;
- микроконтроллеры и встраиваемые устройства (например, контроллер для автоматического открывания ворот);
- телевизоры, микроволновки и другая умная техника.
Большие корпорации любят Java за надёжность, долгий срок поддержки программ для разработки и совместимость со старыми версиями. Если вы хотите писать корпоративный софт и получить стабильную работу надолго — берите Java. Этот язык настолько проник во все сферы жизни, что потребуются десятилетия, прежде чем его заменят на что-то более простое и современное.
Python
История создания
Данный язык был назван в честь комедийного шоу «Monty Python». Это шоу было популярно в 1970 годах. Автор языка смотрел его, чтобы отвлечься от разработки. Но несмотря на это, общество разработчиков ассоциирует его со змеей. О чем свидетельствует даже его логотип, хотя даже сам создатель писал о том, что это вовсе не так. И к сожалению, он так и не повлиял на мнение девелоперов.
Разработка над языком началась в конце 1980-ых программистом Гвидо ван Россумом в Нидерландах. Сам язык создавался автором в свободное время. Кстати, Гвидо также принимал участие и в разработке языка ABC, а потому использовал его за основу первых версий языка.
В феврале 1991 года исходники языка были выложены в сеть на ресурсе alt.sources. И уже на первых версиях язык был объектно-ориентированным, имел классы, функции, наследования и прочие нужные вещи для разработки.
Через восемь лет после релиза второй версии выходит третья версия языка, которая используется и до нынешних дней. И третья версия получила множество полезных инструментов, из-за чего совместимость со второй версией пропала, а потому развитие языка разделилось на два пути. Какая-то часть разработчиков писала на python 2 дабы поддерживать старые проекты, а кто-то начинал с python 3. Тем не менее вторую версию языка поддерживали до 2020 года.
Особенности языка
В языке имеется динамическая типизация, что позволяет не указывать тип переменной программисту. Также в языке существует очень удобная конструкция для возвращения значений.
Кроме этого огромным плюсом является то, что интерпретатор языка сам выделит место в памяти под программу, и хоть это уменьшает контроль на разрабатываемым продуктом, зато увеличивает скорость работы над проектом. В Python также существует механизм, позволяющий убирать неиспользуемые объекты — речь идет о Garbage collector.
Язык является интерпретируемым, а потому написанный код не нужно компилировать в машинный для того, чтобы запустить эту программу на других устройствах. Пишешь код, и получаешь результат. Порой в больших проектах некоторые компоненты пишут на этом языке, дабы ускорить разработку (Обычно это компоненты, не замедляющие скорость продукта).
Несмотря на то, что языку 29 лет, он довольно популярен и на сегодняшний день. Ведь, как и говорилось ранее, он ускоряет работу, а также на нем можно написать прототип практически любой программы. В том, что язык востребован можно удостоверится и с помощью индекса Tiobe — https://www.tiobe.com/tiobe-index/ Tiobe — сервис, на котором расположена статистика по популярным языкам в программировании.
Также стоит сказать о скорости работы кода. Из-за динамической типизации, интерпретируемости, а также других особенностях, язык становится менее производительным.
Сферы применения
На языке python можно реализовать множество вещей. С помощью технологий Django и Flask можно писать Backand сайта. Также можно разрабатывать Blockchain. И конечно же, ничто не мешает создавать ботов, причем разного вида:
- чат-ботов,
- поисковых ботов,
- игровых.
Можно создавать программы для работы с базами данных. Кроме этого язык позволяет создавать приложения с дополненной реальность(AR). Также у Python есть свои сферы, в которой он лидирует, и это — нейронные сети и машинное обучение. Ну и игры, в этой отрасли python нужен лишь для написания отдельных компонентов.
Сложность изучения
Python крайне прост в изучении. В его синтаксисе отсутствуют символы типа:
- «;»
- «{»
- «}»
И из-за этого строк кода становится намного меньше и код не выглядит таким избыточным. Вложенность реализуется с помощью отступов, что влияет на читаемость кода. И порой программа читается как простой текст на английском языке.
Такую простоту языка можно обусловить тем, что язык изначально основан на ABC, а язык ABC использовался для обучения программированию тех людей, которые были далеки от специальности. А потому у python низкий порог входа.
HTML и CSS
Начнем издалека — с HTML (Hypertext Markup Language) и CSS (Cascade StyleSheets). Почему с них и почему «издалека»? С них — потому что они лежат в основе веб-разработки, и ни один сайт без них не обойдётся. А издалека — потому что это не совсем языки программирования.
Они нужны, чтобы создавать содержимое веб-страницы — контент и оформление; программу вы на них не напишете. Тем не менее веб-технологии сейчас уже используются и в других сферах, в том числе в десктопных и даже мобильных приложениях, поэтому у этих «языков» хорошие перспективы.
HTML и CSS очень простые — в основах можно разобраться буквально за пару дней, даже самостоятельно. Так что если вы очень боитесь программирования и не верите, что у вас получится, попробуйте начать с них. Это под силу каждому, поможет вам плавно войти в программирование и оценить свои силы. А потом при желании можно перейти к другим языкам.
Популярность COBOL растет
Оценку языкам программирования в своем основном рейтинге сотрудники IEEE Spectrum выставляли, основываясь на частоте упоминаний и запросов о тех или иных языках на различных крупных ресурсах. В данном случае их восемь, и это: CareerBuilder, GitHub, Google, Hacker News, Reddit, Stack Overflow, Twitter, а также сайт института IEEE.
Инвестиции в столичный финтех резко выросли после многолетнего спада
Инновации и стартапы
Если сравнивать, к примеру, результаты по популярности в Twitter, то в нем COBOL, считающийся мертвым языком, занял седьмое место. Эксперты портала ZDnet связывают это с недавним всплеском интереса к данному языку.
Язык программирования COBOL восстал из мертвых
Как сообщал CNews, в первых числах апреля 2020 г. в ряде штатов США начались активные поиски программистов, знающих COBOL. Они потребовались с целью обновления программного обеспечения, используемого в американской системе занятости, работающей на устаревшем оборудовании. На фоне роста числа безработных в США из-за пандемии коронавируса COVID-19 это «железо» перестало справляться с нагрузкой.
Напомним, что COBOL входит в число старейших языков программирования в мире, первая его версия увидела свет в 1959 г. Один и его соавторов, Джин Саммет (Jean Sammet), как сообщал CNews, умерла в 2017 г. в возрасте 89 лет.
В середине апреля 2020 г. свою лепту в популяризацию COBOL внесла компания IBM – она объявила о подготовке к проведению обучающих курсов по этому языку для увеличения числа специалистов, разбирающихся в нем.
Инициативу IBM поддержал проект Open Mainframe Project, предназначенный для создания ПО с открытым исходным кодом для запуска на мейнфреймах и курируемый организацией Linux Foundation. Сами IBM хотела сделать полностью бесплатными, а по их завершению она собиралась выложить все материалы на GitHub в профиле Open Mainframe Project.
IBM также заявила о своем стремлении возродить сообщество специалистов по COBOL, используя для этого современные методы коммуникации Для этого она уже предприняла ряд действий, в том числе и создала несколько узкоспециальных веб-форумов, связанных конкретно с этим языком программирования.
Все форумы запущены на сайте Open Mainframe Project. На одном из них специалисты по COBOL могут совместно обсудить решение того или иного вопроса, связанного с программным кодом, а другой предназначен для поиска специалистов в этом языке. Это своего рода база данных программистов, знающих COBOL и способных прийти на помощь организациям, использующим ПО, написанное на этом языке и по тем или иным причинам не готовым отказаться от него.
- Короткая ссылка
- Распечатать
JavaScript
Логотип JavaScript
JavaScript — настоящий язык программирования. Как я уже подмечал ранее, обычно JavaScript учат вместе с HTML / CSS. С помощью HTML — мы задаем структуру сайта, с помощью CSS — стилизуем его, а JavaScript добавляет живность странице. Все наши нажатия на различные кнопки, слайды, формы комментариев — это всё работа JavaScript. Практически всё, что имеет отклик на веб-страничке — это работа JavaScript.
Платформа | Веб-разработка (Front-end). Иногда используется для разработки программного обеспечения и мобильных приложений. |
Обучение | Если смотреть относительно других языков — значительно лёгок в освоении, чем остальные языки. Если же мы берем новичка, который пришел с HTML и CSS — достаточно трудно. |
Популярность | Очень популярен. №3 в списке PYPL. |
Средняя зарплата (мес) | 1500$ |
Преимущества | Очень популярный язык программирования. Поддерживается всеми современными веб-сайтами и браузерами. |
Недостатки | Новичку может быть тяжело в первое время |
Java
Консервативный и надежный язык, который подходит для разработки под любые платформы. Пожалуйста, не путайте его с JavaScript — это абсолютно разные технологии, и между ними нет ничего общего.
На Java разрабатывают десктопные программы, приложения под Android, серверные конструкции и масштабные промышленные и банковские системы. Достаточно сложный в освоении язык.
Новички могут рассчитывать на 35–60 тысяч рублей. Специалисты среднего уровня — на 50–100 тысяч. Высокий уровень — на доход 135–270 тысяч рублей.
Синтаксис простой и понятный. Методология языка — классическое объектно-ориентированное программирование. Работает на всех операционных системах. На Java можно написать ПО любой сложности — от небольшой утилиты до комплекса с миллионами строк. Кстати, если хотите писать для Android — приложения на нем делают только на Java.
Особенности:
- Разработка на Java подразумевает высокий уровень абстракции. С одной стороны, такое ПО легче поддерживать и развивать. С другой — типовые и простые вещи требуют бОльших усилий. Сравните: на PHP для чтения файла по ссылке нужна одна строчка кода. На Java придется написать пять-десять строк.
- Строгость языка. Это надежно, отсутствуют неявные конструкции, нет упрощений. С другой стороны, код очень громоздкий. Представьте, что вы продаете машину. Если говорить просто, то выйдет что-то вроде: «Вот машина. Вася продал ее Пете. Петя отдал деньги Васе». На Java все то же самое придется написать в форме договора купли-продажи — когда отдают деньги, где что в машине, какие номера двигателя, корпуса. Плюс еще масса данных. Так, чтобы не было многозначности.
- Высокий порог вхождения: синтаксис прост, примеров много, но общие принципы понять сложно. Придется очень много учиться и практиковаться. Но и возможности в итоге получите практически безграничные.
Стек:
- IDE: Eclipse, Netbeans, IntelliJIDEA, AndroidStudio;
- среда выполнения: JVM (Java Virtual Machine);
- фреймворк: Spring, Swing, Hibernate, OrmLite (для Android);
- инструменты для Android: SDK Manager, Android Emulator (эмуляторы ОС разных версий);
- базы данных: Oracle, MySQL и любые другие;
- менеджер зависимостей: Grandle, Ant, Maven.
Может показаться, что для сложного языка нужен особый талант. На самом деле ключевое — ваше желание, интерес и усердие. Никто не ценит способности в вакууме
Важно, насколько далеко вы продвинулись в обучении за последний месяц или год. Если есть интерес и желание, всё получится
Пример кода на Java — создаем окно с кнопкой
Курс «Профессия Java-разработчик»
Практический 4-х месячный курс для тех, кто хочет научиться основам программирования с индивидуальным наставником, написать код для реальных проектов и получить первые заказы.
- Живая обратная связь с преподавателями
- Неограниченный доступ к материалам курса
- Стажировка в компаниях-партнёрах
- Дипломный проект от реального заказчика
- Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы
Самые простые в плане изучения языки программирования
В том случае, когда возникает необходимость в выборе языка программирования для будущего изучения, каждый должен понимать то, что есть более простые, а есть более сложные языки. По последним статистическим данным можно создать подборку ТОП-10 наиболее простым в изучении языков для программирования.
HTML
Этот язык программирования получил свое первенство сразу по нескольким категориям. В первую очередь его отнесли к списку тех, с которыми наиболее комфортно работать. Помимо этого, многие уверены в том, что он является наиболее простым в плане изучения для человека, который никогда не имел дела с информационными технологиями.
Впервые он появился в мире в 1990 году и с этого момента его активно применяют для создания разметки сайтов, всевозможные приложения для различных видов браузеров, а также для подготовки оригинальных веб-страниц ресурсов в сети интернет.
Python
Свою востребованность этот язык программирования получил за счет своей простой читаемости и синтаксиса, что дает возможность делать его очень простым в плане применения. Его доступность связана с тем, что он прост и имеет логическую структуру. В особенности это касается кодеров-новичков. Появился он впервые в 1989 году и с этого момента используется уже более 25-ти лет и систематически усовершенствуется.
Javascript
Среди языков программирования, которые имеют открытый код, особое место принадлежит Javascript. Его особенность заключается в том, что в его структуре применяется комбинация таких языков программирования, как Java, С++ и С. Это дает возможность каждому из программистов выбирать тот из языков, который будет восприниматься ими лучше всего. Помимо этого, множество программистов уверено в том, что именно язык программирования Javascript принадлежит к списку наиболее креативных.
РНР
Среди языков сценариев специалисты выделяют РНР. Также он принадлежит к списку языков, которые имеют общее значение, а также обладают открытым кодом. Большим спросом он пользуется в процессе создания специальных веб-расширений, а также очень часто программисты встраивают его в структуру языка НТМL.
Java
Язык программирования Java принадлежит к списку языков, которые имеют общее значение. Помимо этого, его используют тогда, когда есть необходимость в том, чтобы в реализации осуществить процедуру уменьшения зависимостей. Появился на свет этот язык программирования в 1991 году. Ныне его считают одним из самых универсальных и благодатных языков программирования.
R
В процессе работы с графическими элементами или же с выполнением статистических вычислений используется такой универсальный язык программирования, как R. Ныне от находится на поддержке в таком учреждении, как «Организация статистических вычислений R».
Shell
В качестве особенной компьютерной программы здесь выступает скрипт shell, который нашел применение в процессе запуска такой известной программной оболочки, как Unix. Применяют его для выполнения некоторых манипуляций, вывода текстовых сообщений, а также для исполнения некоторых программ.
Ruby
Этот язык принадлежит к списку динамических, при этом его исходный код находится в открытом доступе. Его ключевая особенность заключается в простоте в плане применения. Помимо этого, он входит в перечень тех языков программирования, которые ныне считаются одними из наиболее креативных.
Erlang
Среди функциональных и многопоточных языков программирования, которые принадлежит к списку языков общего назначения, выделяют Erlang. Его применяют в том случае, когда возникает необходимость в создании распределенных или же параллельных систем.
Go
Среди языков программирования, которые разработаны корпорацией Google, выделяют язык с открытым кодом под наименованием Go. Зачастую его используют в том случае, когда возникает необходимость в создании различных веб-разработок, где применяется наименьшее количество веб-серверов и фреймворков. Помимо этого, он достаточно легко запускается для применения в облачных сервисах. Ныне его относят к списку наиболее интуитивных языков программирования.
Перспективные языки: почему эти пять?
Пять языков программирования, о которых пойдёт речь, весьма новы (не исключено, что о каком-то вы услышите впервые), и они явно имеют отличные шансы пробиться во второй эшелон в ближайшие 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):
Каждый из этих языков может похвастаться увлечённым сообществом и собственной еженедельной новостной рассылкой. Если вы подумываете об изучении молодого языка с захватывающими возможностями для будущего, прочитайте краткие презентации для каждого из этих пяти языков, написанные опытными энтузиастами и лидерами соответствующих экосистем.
Почему JavaScript
В веб-разработке JavaScript преподносится как язык по умолчанию. Он идеально подходит, если вы хотите создавать что-то большее, чем красивые, но всё же статичные сайты. Но это не единственная причина, по которой стоит выбрать JavaScript в качестве первого языка программирования.
Писать код можно прямо из браузера
Чтобы работать с JavaScript, не нужно ничего скачивать, устанавливать и компилировать, как для большинства других языков
Для новичка в программировании это особенно важно. Освоить командную строку и компилятор легко, но на первом этапе они усложняют восприятие и отбивают интерес к изучению
Всё, что нужно для работы с JavaScript, — это браузер.
Как открыть консоль разработчика в браузере Google Chrome
Кликните правой кнопкой мыши в любом месте на странице, выберите «Просмотреть код».
Далее выберите Console. Перед вами откроется окно консоли разработчика. Другой способ — клавиша F12 на Windows или Cmd+Opt+J на Маке.
Попробуйте написать первую стандартную команду — console.log (‘Hello, JS! ‘); и нажмите Enter. В скобках вместо ‘Hello, JS! ‘ может быть любое слово. Главное — не забудьте кавычки, если это набор букв (для чисел кавычки не нужны). Ниже строкой консоль выведет ваше сообщение.
Ресурсы по JavaScript для начинающих:
- Книга «Выразительный JavaScript».
- Современный учебник Javascript.
- Ресурсы по JavaScript на Mozilla Developer Network.
- Курс JavaScript от CodeCademy (на английском).
- FreeCodeCamp (на английском).
Язык Java тоже рекомендуют в качестве первого, но он сложнее в восприятии для новичка. Чтобы начать работать с Java на macOS, скачайте и установите пакет, разберитесь, как работает командная строка, и проверьте, установлен ли компилятор.
Следом в текстовом редакторе пишется сама программа, сохраняется, а затем компилируется с помощью «Терминала».
Команды для ввода в «Терминал» для создания директории, компиляции и запуска кода на Java