С какого языка программирования начать? (Версия 2022-10-01.)
Распишу, наконец, детально свой ответ на второй самый популярный вопрос, который мне задают (после вопроса "как дела?"). 😂
Перед тем как выбирать язык программирования думаю стоит понять, что вы хотите создавать.
Часть 1. Типы приложений.
Приложения бывают следующих основных типов:
1. Веб-приложение. Оно открывается как сайт в браузере. Например, Google Sheets или новостные сайты.
2. Мобильное приложение (например, на Android или iOS).
3. Клиентское приложение. Оно устанавливается на компьютер (например, на Windows или Mac).
4. Серверное приложение.
Это приложение, которое работает специальном компьютере, который всегда подключен к Интернету. Доступ к ним только у программистов и подобных профессионалов, но не у обычных пользователей.
На веб-приложения и мобильные приложения спрос есть и в больших и маленьких компаниях. На серверные приложения спрос в основном в больших более современных компаниях. На клиентские приложения спрос в большинстве своём в более "матёрых" давносозданных компаниях и обычно это Windows.
Часть 2. Что такое фронтэнд, бакэнд и фулстэк?
"Frontend" дословно это "передний конец". Это та часть приложения которая тесно работает с интерфейсом. Интерфейс - это то, что видно пользователю. На интерфейсе можно кликнуть и часто можно внести какие-то данные.
"Backend" дословно это "задний конец". Та часть, приложения, которую не видно клиентам. Можно кардинально поменять бакэнд, в том числе на каком языке программирования он написан, и никаких изменений во фронтэнде можно будет не делать.
Для условного примера в ресторане "фронтэнд" - это вход в него, интерьер, официант, меню. "Бакэнд" - это кухня, повары, склад, закупка товаров, бухгалтерия итп.
"Фулстэк" дословно можно перевести как "полная стопка". Это комбинация фронтэнда и бакэнда. Обычно употребляется в контексте того, что программист выполняет или может выполнить обе части приложения.
Часть 3. Языки программирования.
Учитывая эти категории и рынок предлагаю следующие группы языков для изучения.
Группа 1. Популярная двойка
Думаю, обычно лучше всего начать с JavaScript или Python.
Они часто легче в обучении, популярны на локальных и глобальных рынках и, думаю, ещё, как минимум, несколько лет продержатся.
JavaScript - язык для работы с веб-страничками и веб-приложениями.
На нём обычно пишется фронтэнд и его код обычно исполняется браузером, таким как Chrome, Safari, Firefox, Internet Explorer итп.
Облегчает изучение то, что (1) не обязательно ничего устанавливать на свой компьютер и (2) результат можно легко и быстро увидеть на веб-страничке в браузере.
Усложняет обучение, то что вам скорее всего нужно будет ещё выучить HTML и CSS. Это не языки программирования, а языки разметки элементов на веб-страничке.
Если вы увидите про язык TypeScript, то это современная модификация JavaScript. С неё, думаю, начинать тоже можно.
Python - это чаще работа с данными.
После его изучения вы сможете работать или с фокусом на "бакэнд" или с фокусом на анализ большого количества данных (big data). Столько данных обычно или у компаний с миллионами пользователей или у определенных технологических компаний (в том числе маленьких).
2) Мобильная разработка
Если вам интересна разработка для мобильных устройств, то там современные "нативные" (можно также сказать "родные") языки программирования - это Kotlin для Android устройств или Swift для iOS устройств (типа iPhone, iPad).
Раньше нативными языками были Java для Android и Objective-C для iOS.
Кроме этого, есть технологии, с помощью которых можно публиковать сразу на обе платформы. СэСамвк популярные - это React Native (язык JavaScript) и Flutter (язык Dart).
Думаю, что качество продукта обычно оказывается выше когда пишешь на нативном языке, а не на более универсальных технологиях.
3) Языки "взрослых" компаний
Java, C++, C# обычно используются большими технологическими компаниями, банками, мобильными операторами, государственными учреждениями итп.
Java и C# обычно лечге, чем C++.
Post #445
5.29K
- 👍 10
- ⚡ 2
- ❤ 1