Это не просто три лучших языка программирования, а в некотором смысле попытка заглянуть в будущее. Кто поймает волну успеха в 2019?
Обойдемся без затянутых вступлений и сразу назовем победителей: Python, JavaScript и Go.
По удивительному стечению обстоятельств (хотя ничего удивительного здесь, конечно, нет) эти три языка программирования были отмечены как самые востребованные в опросе на Stack Overflow.
Конечно, есть большой соблазн выбрать для изучения самые популярные языки, но это не всегда лучшее решение. Оно похоже на покупку акций на пике роста. В любой момент фавориты могут впасть в немилость у мирового сообщества разработчиков.
Python, JavaScript и Go не самые популярные. Скорее, они самые необходимые.
1. Python
Будь вы опытным разработчиком, или новичком, вы не сможете не заметить простоты этого языка программирования – простоты синтаксиса и простоты использования.
1
2
3
4
5
6
7
8
|
heap = []
while (True):
data = input()
if(data == ‘q’):
break
else:
heap.append(int(data))
|
Python избавился от множества лишнего из других языков.
1
2
3
4
5
6
7
8
9
10
11
12
|
int max_x;
if(coordinates.get(i).x > 0)
{
max_x = 255;
}
else
{
max_x = —255;
}
int max_y;
|
Это Java-код. Вы видите здесь фигурные скобки, обрамляющие условные структуры, и точки с запятой после каждого оператора. Этого же стиля придерживаются C, C++, C# и даже JavaScript.
Для начинающего программиста должно быть приятно и удобное не беспокоиться о синтаксисе и иметь возможность полностью сосредоточиться на действительно важных вещах.
С другой стороны Python научит новичков структурировать код и делать правильные отступы, ведь он чувствителен к пробелам. Это облегчает визуальное восприятие программы и позволяет проще в ней разобраться.
Анализ данных с Python
Python великолепно подходит для статистики, анализа данных и машинного обучения. В этой области у него есть серьезный конкурент – язык статистического программирования R.
R – гораздо более специализирован, чем Python, с помощью которого можно создавать игры, веб-сайты, бизнес-приложения и многое-многое другое. Поэтому на начальных этапах обучения имеет смысл выбрать именно язык общего назначения, а при необходимости изучить R. Это позволит заложить гораздо более прочную основу.
Python к тому же имеет самое сильное сообщество разработчиков, в котором всегда можно найти поддержку.
Python для веб-разработки
В веб-разработке Python выступает на стороне сервера.
В то время как на фронтенде всегда трудятся HTML, CSS и JavaScript, на сервере можно использовать любой подходящий язык: C#, Java, Ruby, а также Python. Особенно полезны его фреймворки Django и Flask.
Хотите изучить Python? Обратите внимание на книгу Python Crash Course.
2. JavaScript
JavaScript имеет очень двойственную репутацию: его либо любят, либо ненавидят.
Вот лишь некоторые из его проблем:
- предположительно был разработан за 10 дней;
- не имеет ничего общего с Java;
- нет собственного целочисленного типа;
- странные сравнения (почему верно выражение
[] == ![]
(массив == не массив)?); - заставляет работать с глобальными переменными;
- странные области видимости;
- и многое другое…
Тем не менее начать работать с JavaScript очень-очень просто. Вероятно, именно из-за этого многие начинающие разработчики никогда не изучают его по-настоящему. Они используют серьезные фреймворки и библиотеки, но не понимают основ языка программирования. Если что-то идет не так, им приходится долго разбираться, ведь каждое изменение приводит к непредсказуемым последствиям.
Эта проблема становится еще больше из-за регулярного появления новых фреймворков. Есть очень много неплохих разработчиков на React, которые не понимают особенностей ванильного JavaScript, так как ограничиваются только изучением новых технологий.
Если JavaScript так ужасен, зачем его изучать?
Несмотря на все сложности нельзя отрицать, что JavaScript используется для создания самых элегантных сайтов и кроссплатформенных приложений. Иногда трудно поверить, что прекрасная веб-страница основана на ужасном JavaScript-коде.
Этот язык, в отличие от ряда других, строгих и скучных, дает вам свободу и энергию для творчества. По этой причине многие разработчики любят его.
Не можете выбрать между возможностями и свободой и безопасностью. Обратите внимание на языки, которые транслируются в JavaScript. Это значит, что код вы пишете на чем-то другом, спасаясь от проблем, а в результате получается тот же самый JS. Один из таких языков – TypeScript.
Вы не спрячетесь от JavaScript…
Фронтенд всегда состоит из HTML, CSS и JavaScript, поэтому JS быстро стал самым популярным языком в мире. Кажется, что он требуется везде. Его можно использовать даже для серверной разработки с Node.js.
Если вы хотите создавать красивые приложения или стать веб-разработчиком полного стека, вам никуда от него не деться. Не становитесь одним из тех бэкендеров, которым не удалось осилить JavaScript. Начать работать с ним несложно, а возможностей он дает множество.
Начните изучать JavaScript с книгой A Smarter Way to Learn JavaScript.
3. Go
Go собрал все положительные стороны разных языков, избежав при этом отрицательных. По своей природе он похож на C, но по простоте чтения и написания ближе к Python.
В отличие от JavaScript, Go строго типизирован. При этом у вас нет необходимости вручную определять типы, так как они могут автоматически выводиться при инициализации (x:=0 вместо int x = 0).
Go можно использовать для веб-разработки, серверного программирования и множества других задач. Существует даже Go-компилятор, который транслирует код на Go в JavaScript. Так что вы можете разрабатывать на JavaScript, даже не разбираясь в нем.
Одна из причин, по которой люди любят Go, – это эффективный параллелизм, позволяющий разбивать выполнение работы на несколько потоков. Горутины, каналы и инструкция select позволяют избежать многих трудностей.
Еще один плюс Go – это открытый исходный код! Амбициозный разработчик программного обеспечения может узнать все подробности языка и даже использовать его в качестве руководства для проектирования собственного языка программирования!
Отличная книга для начала работы с Go – The Go Programming Language.
Почти TOП-3 языка программирования
А это небольшой бонусный раздел для еще трех хороших языков программирования.
Swift
Первый из них Swift – очень популярный язык разработки приложений для iPhone. Почему он не попал в топ? Из-за слишком узкой специализации. Его возможности намного меньше, чем у языков общего назначения, например, Python. В этом Swift похож на R. Однако сфера разработки iPhone-приложений огромна, и изучение Swift может принести много пользы.
C#
Несмотря на свою популярность, язык C# никогда не переживал стремительного подъема. Подобно C++ и Java, он просто много лет находится на вершине.
Он очень похож на C++ в плане синтаксиса и структуры, кроме множественного наследования через интерфейсы. Он также абстрагирует управление памятью и сборку мусора.
C# отлично подходит для создания крупномасштабных приложений и веб-разработки (на MVC-фреймворке ASP.NET CORE).
C
C – не самый быстроразвивающийся язык, однако он незаменим, если вам нужно глубоко разобраться в фундаментальных концепциях информатики, таких как указатели, управление памятью, параллелизм, рекурсия.