1. Java
Несмотря на наличие более молодых и амбициозных товарищей по цеху, Java все еще держит позиции. Кроме того, что на нем можно писать что угодно, он является одним из самых высокооплачиваемых языков программирования. При желании на Java можно создать и настольное приложение, и игру, и мобильное приложение. Согласно рейтингу TIOBE в ноябре 2019 года Java держал первые позиции. Это как по мне лучший ЯП, он многофункциональный и распространенный. Он подойдет как для хакинга, так и для разработки Windows-программ. Одним словом - это C# + Python, и он компилируемый, в отличии от Python.
Плюшки:
- кроссплатформенность;
- множество фреймворков на любой вкус и цвет;
- относительная простота изучения.
Минусы:
- не слишком производителен, несмотря на все ухищрения JIT-компилятора;
- фреймворки достаточно громоздки и сложны.
2. JavaScript
Крайне трудно представить себе web-приложение или сайт без JavaScript. На сегодняшний день это самый популярный язык по опросу разработчиков Stack Overflow.
Плюшки:
- огромнейшее сообщество, множество учебных пособий;
- можно запустить на любом компьютере, был бы браузер;
- тоже достаточно просто в освоении.
Минусы:
- крайне легко сделать ошибку из-за отсутствия проверки при компиляции и типов;
- код можно обфусцировать, но не скрыть.
3. Python
Продолжающий набирать обороты язык программирования. На змеином языке можно написать всё, что пожелает душа. Бонусом к тому, он полностью бесплатный и обладает множеством библиотек. Также сегодня Python часто преподается в учебных заведениях. И, как вишенка на торте, нейронные сети, ИИ, робототехника – для всего этого у Python есть библиотеки. Единственное, что крайне непривычно первое время – синтаксис и полное безразличие к всеми любимой точке с запятой. И хочу сказать, что этот язык лучше не брать за основу. Для этого есть Java
Плюшки:
- высокая скорость обработки;
- множество библиотек;
- доступность фактически на любой ОС.
Минусы:
- отсутствие привычных в ООП модификаторов доступа;
- непривычный синтаксис.
4. C++
Плюсы по-прежнему являются той базой, которая служит начинающим программистам. Да, отстрелить себе пару пальцев или целую ногу на С++ проще простого. Однако это действительно очень мощный язык программирования, позволяющий создать любой программный продукт. Кроме того, если вы действительно хорошо знаете этот язык, у вас есть все шансы найти себя в Google или Facebook.
Плюшки:
- большое сообщество;
- возможность создавать производительные и отказоустойчивые приложения;
- совместимость с железом.
Минусы:
- колоссальная легкость в отстреливании себе конечностей (сложность в изучении);
- множество сложных синтаксических конструкций.
5. C(Шарп)
Все еще достаточно молодой язык, продолжающий наращивать сообщество. По сути своей он построен на C и C++, однако более мягок к разработчикам. На нем так же можно писать фактически всё. А с недавних пор и кроссплатформенные приложения. Синтаксис чем-то напоминает Java, потому, зная один из этих языков, вы сможете относительно безболезненно изучить второй. Этот язык очень хорош, особенно, если вы изучили Java и Python.
Плюшки:
- простота в изучении;
- широкое сообщество и куча онлайн курсов;
- кроссплатформенность.
Минусы:
- слишком много синтаксического сахара порождает множество говнокодеров;
- достаточно просто дизассемблируется, то есть ваше приложение легко можно разобрать на запчасти и угнать.
6. PHP
Конечно, существует просто огромное количество шуток про PHP разработчиков. Но при этом количество сайтов, написанных с использованием PHP все еще велико. Сам язык продолжает развиваться и не теряет популярности. Кстати, на нем делают не плохие деньги.
Плюшки:
- ходит легенда, что он прост в изучении;
- достаточно большое сообщество;
- множество учебных материалов.
Минусы:
- язык крайне узконаправлен;
- некоторые особенности при преобразованиях типов, формата 333 == ‘333foo’. (И не говорите, что это нормально!)
7. Swift
Еще один молодой язык. Если вы желаете разрабатывать приложения для Apple, Swift как раз то, что нужно. Это достаточно функциональный и практичный язык.
Плюшки:
- простота в поддержке;
- бережное использование памяти.
Минусы:
- узкий профиль – основное направление на Apple.