В данном блоге можно найти для себя путь в изучении языков программирования. Я выбрал 5 лучших языков по критериям:
Читабельный код
- Минимум синтаксического сахара, так как их нужно тупо знать, а начинающему необходимо читать куча кода, как и своего, так и чужого.
- Как можно меньше особенностей, например как в языке Lisp, где используют обычные скобки, а не фигурные. По итогу весь код превращается в скобочный ад, который невозможно читать.
Пример кода Lisp
Простота
- Главное, что нужно начинающему программисту это изучать программирование, а не особенности языка. Конечно в каждом языке имеются свои особенности, но я старался выбрать в которых особенности сведены к минимуму.
Документация
Это важный пункт, так как для каждого выбранного языка должна быть понятная документация. Кто бы что не говорил, но документация и спецификация языка, это 2 важные вкладки в браузере, которые должны быть открыты всегда по пути обучения и не только. Нужен язык у которого должна быть минимальная база для знаний.
Просто книг не достаточно. Так как не каждый хочет читать 4-х томник, что бы понять все закавыки ЯП, которые понадобится хотя бы 1 раз в жизни. Программист должен писать код, а не читать книги. Так же неплохо, если у языка уже есть база комьюнити, которые пишут гайды, как сделать те или иные вещи, что бы начинающему не нужно было часами искать в интернете:
"*название языка* как сложить две строки"
Язык не должен быть мертвым
Ну тут понятно, что желательно выбирать язык, который как минимум ещё используется в индустрии, что бы по возможности можно было бы куда то устроится в будущем программистом.
5-ое место: Язык Lua
Это очень простой скриптовый язык, для начинающего возможно лучший выбор. Так как например обычный программист, с опытом в год, может изучить Lua за 15 минут.
Во-первых Lua используется как скриптовый язык для многих игр, таких как World of Warcraft, Garry's Mod, Roblox. То есть помимо простого программирования, так же можно написать мод или какой-нибудь обработчик мира, для выше перечисленных игр. Это очень полезно, так как помимо того что ты пишешь, так ты ещё наблюдаешь как код работает.
Однако надо знать, что и Lua есть проблемы. К примеру найти работу Lua программистом практически невозможно. И поэтому основным языком он быть не может, но как первых — имеет место быть.
Однако нужно всегда держать в голове, что это скриптовый язык и к примеру такой код
работать просто не будет, так как нужно с начала инициализировать саму функцию, а потом его вызывать.
4-ое место: Swift
Я долго думал что поставить на это место, выбор был между C/C++, C# и Java. Потому что эти языки востребованные, но начинающему учить будет довольно сложно. Эти языки очень хорошие и лучший способ изучение их будет исключительно книги, те самые, которые подходят не всем.
Но вдруг у вас есть MacOS и iOS устройства, то почему бы и нет?
Сейчас очень популярно программирования мобильных приложений. И в целом есть нехватка программистов под Apple устройства. Конечно Swift есть и под Windows и Linux, но писать Swift'ом не очень хорошая идея.
Я на нем не писал, но этот пункт исключительно для маководов.
3-е место: PHP
Этот пункт боли для тех кто уже на нём писал долгое время и пересели на другие, более нормальные языки.
Есть отличная статья на лурке который в целом правдиво описывает данный язык. PHP в целом хорош, он отлично заточен под веб-программирование. Всегда есть вакансии. Он прост. Людей пишущих на неё очень много, поэтому информации в интернете очень много. Есть отличные фреймворки, которые делают работу с языком приятнее, например тот же Laravel (так же можно найти в поисковике и русский сайт). Хостинги очень дешёвые. И в целом всё хорошо.
Если вы ищите язык для заработка, то PHP лучший выбор в России. Однако если вы хотите PHP для программирования, то лучше обойти этот язык стороной. Так как скорее всего опыт полученный в PHP будет малопригоден в других языках, если вы конечно не захотите прыгнуть сразу в ООП (Объектно-ориентированное программирование).
Один из минусов, нужно будет обязательно знать HTML+CSS, что бы сайты были минимально красивые.
2-е место: Python
Очень гибкий, относительно простой, чуть ли не самая широкая база знаний. Зная этот язык вы сможете стать инженером, который пишет программы для Raspberry Pi, быть веб-разработчиком работая с Django. Может быть вы захотите работать с нейронными сетями? Или просто делать приложения для Windows и Linux? Python один из лучших выборов. Его можно изучать и по книгам, документация. Его легко читать. В целом востребованный. Его учить чуть тяжелее чем Lua и PHP, но когда вы изучите минимально этот язык, сможете выбрать из множеств направлений что то одно, или сменить направление в любой момент. В этом языке всегда есть что изучать. Есть ООП, он не обязателен, но в отличие от следующего языка он тут хотя бы есть.
Вы не ошибетесь если выберите в качестве первого языка именно его. Единственное минус это его производительность, но он не хуже чем у PHP и Lua.
1-е место: Golang (он же Go language)
Возможно у многих будут возмущения у читателей. Почему Go? Почему не JavaScript или какой-нибудь Ruby. Тут важный момент, я выбирал языки по вышеперечисленным критериям. Ruby например сложно читать начинающим из-за огромного синтаксического сахара, как и в JS. Этот момент очень важен, так как изучение чужого кода — это очень важная часть и изучении программирование. Нормальной документации к JavaScript я вообще не нашел.
Почему go? Он компилируемый, причём очень быстро, он простой, он самый читабельный из всех языков. На нём практически невозможно написать плохо и на нём со старта возможно писать программы. В целом это мой первый ЯП, на котором я действительно понял программирование. У него есть несколько направлений, но самый главное направление всё же разработка веб-сервисов, однако это не мешает делать к примеру системные приложения. К примеру можно назвать Docker или Traeffic. Возможно это лучший язык для Devops'а или для системных администраторов. Есть куча библиотек, которые упрощают жизнь. На нем можно писать очень маленькие приложения (так называемые микросервисы) и делать очень огромные проекты. Но всё же самый жирный плюс этого языка всё же это её документация. Её очень мало и она максимально понятная. Книг и гайдов по этому языку мало, но я изучал этот язык исключительно по документации и спецификациям.
Я могу вечно говорить насколько golang хорош, но это не цель данной статьи.
Эта статья написана исключительно для тех, кто не определился или вовсе не думал о программировании. Это очень полезная и увлекательное занятие. И в целом если говорить на чистоту, данный топ и не топ вовсе, вы можете перемешать весь список как вам угодно, но смысл останется одним, главное не читать, а писать.
Начинать можно на чём угодно, главное понять смысл программирование, переменные, функции, классы, циклы, массивы. Эти вещи можно понять на любом языке.
Спасибо за прочтение данной статьи. Буду рад если вы напишете комментарий по данной теме.