Популярных языков программирования много, но не все одинаково востребованы. Появятся в 2018 новые лидеры или старые проверенные языки останутся в тренде? Ответ на этот непростой вопрос дали пользователи сайта Quora.
Михаил Рубинцев, младший веб-разработчик (2017-н.в.)
- Javascript. Он повсюду, предостаточно качественных учебных пособий, сообщество развито, работы море. Оборотная сторона: он повсюду, учить придется много, хватает и некачественных учебных пособий.
- Python. Довольно востребован, отличные учебные материалы, хорошо развитое сообщество.
- Любой другой язык из ТОП-10 в сети, например, C#, Java или Ruby.
На заметку, выбирайте один из наиболее популярных языков на данный момент. Вы должны уметь писать коды. Вне зависимости от выбранного языка, вам будут платить за то, чтобы вы решали проблемы. Никто не будет платить за то, что вы говорите по-английски. Платят за ту пользу, которую вы приносите, общаясь на языке. Сфокусируйтесь на этом.
Возможно, я скажу крамольную вещь, но даже PHP с этим справится. Люди пытаются создавать вещи на века. Поэтому большую часть вашего времени вы будете читать коды, написанные другими. Угадай, когда это было написано...
На носу 2018 год. Когда вы приходите на работу, от вас ожидают понимания базы исходных текстов компании, так что вам нужно быть в курсе не только текущих процессов, но и прошедших.
Я понимаю, как важно быть в курсе инноваций и современных тенденций, но я знаю людей, которые реставрируют автомобили викторианской эпохи, чтобы заработать на жизнь.
Просто научитесь решать проблемы, остальное – дело техники.
Адитиа Кармаркар, магистерская степень по информатике и информационным технологиям, Делавэрский университет (2017)
Основная идея изучения любого языка программирования – «понять, как язык работает». Попробую пояснить свою мысль. Возьмите любой язык высокого уровня: Java, Python, C#, C++ (последние версии), Boo, Go, LISP, O-Caml, Objective-C и т.д. Эти языки являются объектно-ориентированными, так что если вы разберетесь, что такое «объектно-ориентированный» – несложно будет обучиться любому из вышеперечисленных языков.
Все дело в синтаксисе, то есть понимании правил использования особых последовательностей символов. И поверьте мне, немного усилий – и вы станете профи в этом (я говорю о синтаксисе).
Более серьезное препятствие в использовании любого языка программирования – понять, как использовать синтаксис и производительность языка для записи задач/ действий/ функций/ методов/ программ. Многие могут остаться недовольны моей терминологией «задачи/ действия/ функции/ методы/ программы», так как значение этих слов зависит от уровня языка.
Теперь давайте осветим типы языков. Когда я понял, сколько их существует, я чуть на лишился чувств, хотя многие из них похожи. Основная идея здесь: сначала поймите, какие практические цели вы преследуете.
Учиться, не имея конкретной цели, очень тяжело! Так что определитесь с целью и приступайте к обучению.
Если вы новичок, предлагаю начать с С, поскольку он пригодится всегда. И лучше всего в С то, что вам необходимо контролировать каждую мелочь. Многих может посетить та же мысль, которая посетила меня, когда я только начал обучение. «За сколько дней можно выучить С?». Не задавайте этот вопрос, иначе ничему не научитесь. Лучше спросите «Что классного я могу сделать с С?».
Если вы уже знаете С – вы попадаете в подкатегорию ученика со средним знанием предмета и можете приступать к другому языку. Я лично остановил свой выбор на Java, а впоследствии на Python.
Существует огромное количество блогов «самопровозглашенных» экспертов. Почитайте их, чтобы побольше узнать, но обязательно сделайте следующее.
Перед тем, как начать изучать что бы то ни было, спросите себя:
1. Как я собираюсь это использовать?
2. Почему я хочу учить именно этот язык, в поставленной мной цели есть смысл? Между изучением и применением большая разница… Если вы собираетесь применять что-то на практике, вам необходимо разбираться в каждом аспекте: использовании памяти, безопасности, обработке данных, особенностях языка и т.д.
3. Если ли какие-нибудь (известные мне) альтернативы?
Учтите, что обучение никогда не заканчивается!
Джони Джонсон, программист, любитель баз данных и преданный поклонник Linux
Перед тем, как ответить на вопрос, я бы хотел рассказать о языках, бывших в тренде в 2017:
Java – наиболее используемый;
Python – наращивает популярность;
Go (or GOLANG) – самый многообещающий;
JavaScript – завоевывающий популярность.
Некоторые мысли касательно 2018 года:
- Квантовое программирование уже на пороге – будьте уверены, что через несколько лет оно будет цвести пышным цветом. Оно может даже стать событием 2018 года, если технологический прогресс будет достаточно высок;
- Java будет самым популярным языком, пользующимся огромным спросом и вознаграждающимся высоким жалованием;
- Python будет самым популярным в областях науки о данных и машинном обучении – сейчас, после успеха Google Alpha Zero, эти области выглядят очень многообещающе;
- «Свежие» языки, такие, как Go, Rust, Swift, Elixir пытаются побороть C, C++, C#, Java;
- JavaScript – бесспорный король web-разработки;
- Разработка приложений для мобильных устройств ограничивается Swift, Java, Kotlin;
- Ruby, PHP сохраняют свои позиции;
- Язык структурированных запросов SQL всегда будет большим плюсом для любого программиста;
- Самыми высокооплачиваемыми языками будут те же, что и в 2017:
- Java;
- Python;
- C/C++.
Тъяг Сандарамурфи, программирую на Java и Python
Больше всего денег можно заработать на следующих языках:
- Python почти универсален (веб-приложения, наука о данных, написание скриптов). Часто возникают проблемы с производительностью, но можно её увеличить благодаря thru pypy, cython, async/await и прочим механизмам.
- Go используется в случаях, требующих высокой производительности (некоторые продукты Java переписываются на Go, чтобы увеличить производительность в 10-50 раз). Интерфейс командной строки (CLI) на основе Go и однобинарные приложения заслужили любовь многих разработчиков.
- Rust хорош для встроенных функций безопасности, когда речь заходит о программировании систем (примером может служить недавний браузер Firefox Quantum).
Java и С++ также популярны, но я бы не использовал их в работе над новыми проектами. Node.js кажется слишком сложным в управлении (проблемы обработки ошибок, нестабильные зависимости).
![Версия для печати Версия для печати](https://www.kv.by/sites/all/modules/print/icons/print_icon.png)
Комментарии
Почему околоайтишные журналисты так любят обсасывать тему "Какой язык программирования учить"?
Сейчас объясню. Потому что:
-- люто завидуют айтишникам,
-- хотят программировать,
-- не знают ни одного языка,
-- думают, что научат на курсах,
-- не знают основ,
-- слабы в математике,
-- слабы в электронике,
-- привыкли учить людей,
-- наконец, надо же о чём-то писать.
Оценка: кол. Поставил бы ноль, да нет такой оценки.![crying crying](https://www.kv.by/sites/all/modules/ckeditor/ckeditor/plugins/smiley/images/cry_smile.png)
Очевидная мысль. Но некоторые её не понимают и поверхностно учат язык, не ставя перед собой предметных задач. Затем, черкнув немудрёную софтинку, всё бросают и утыкаются в свои дела, думая: "Гы, я умею!" А то и: "Я преподавать могу!"