Программирование – гигантская область, содержащая в себе множество направлений и путей развития. Человек, решивший самостоятельно вступить на этот путь, первым делом задастся вопросом: «А откуда, собственно, начать?». Эта статья, может и не даст точного ответа, но поможет определиться с возможным направлением развития.
Кем я хочу быть?
Прежде всего надо определиться, чем именно вы хотите заниматься в программировании. Словно выбрать класс персонажа в RPG.
Для новичков в программировании есть следующие направления:
- фронтенд;
- бэкенд;
- мобильная разработка;
- разработка игр (простых).
Фронтенд
Это всё, что видит пользователь, открывая любую страничку в интернете. Задача разработчика в этой области разработать интерфейс сайта так, чтобы пользователю было удобно им пользоваться. Часто в паре с фронтенд-разработчиком работает веб дизайнер, который предлагает основную палитру и внешний вид элементов на странице, после чего разработчик описывает их кодом, задавая поведение и реакции элементов на действия пользователя (например, изменение внешнего вида кнопки при её нажатии).
В этой области используется языки JavaScript, HTML и CSS. С помощью HTML элементы раскладываются по своим местам, CSS задаёт им внешний вид, а JavaScript наполняет их функционалом и/или анимацией.
Бэкенд
То, чего пользователь уже не видит на сайте. Бэкенд отвечает за хранение данных и работу веб-сервиса в целом. Если фронтенд работает у пользователя на компьютере, отрисовывая элементы, то бэкенд уже работает на отдельном сервере, питая сайт данными и следя за их безопасностью.
Здесь используются Python, Java, C# и PHP. Кратко сравним эти языки.
Python очень прост в понимании, наиболее подходит для новичков, но очень медленный. Идеальный язык, если вы просто хотите написать что-то прикольное друзьям на забаву, телеграм-бота или искусственный интеллект. Хорошо работает с большим количеством данных.
Java уже серьёзней чем Python. Крайне многословный язык. Всё, что можно написать на Python в одну строчку, на Java обойдётся вам в 5 и более строк кода. Средний по сложности понимания. Из плюсов: крайне популярный язык, поэтому для него существует множество библиотек, фреймворков и обучалок, которые облегчают написание кода. На Java можно написать всё, что угодно (если не заплакать, читая документацию), и запустить это где угодно (если там есть JRE).
С# - дальний родственник Java, обладает такой же сложностью понимания. Имеется официальная документация на русском. Отличный язык для создания полноценных программ с интерфейсом. Работать на этом языке в Visual Studio просто песня. Здесь и код, и удобный редактор интерфейса. Но приложения будут работать только на Windows.
PHP создан специально для веб-разработки. С помощью него можно создать небольшой сайт-одностраничник, что является весьма частой нуждой. Прост в понимании.
Какой бы язык вы не выбрали, придётся ещё изучить язык запросов к базе данных – SQL. Его синтаксис специально сделан таким образом, чтобы человек его легко понимал, поэтому в процессе изучения проблем не появляется (до определённого момента).
Мобильная разработка
Ни одна организация сейчас не обходится без своего мобильного приложения. После карантина 2020-го, эта область стала стремительно развиваться, ведь, как оказалось, это очень удобно – не выходя из дома, в пару касаний экрана заказать, оформить или подписаться на что-то. QR-коды для скачивания мобильных приложений стали появляться на каждом третьем рекламном щите, а ведь для поддержки всего этого требуются мобильные разработчики.
С выбором языка тут всё просто:
- для продуктов Apple – Swift;
- для андроидов – Kotlin.
Некоторые делятся мнением, что для разработки под Android подходит и Java (всё-таки долгое время именно на Java разрабатывались мобильные приложения), но сразу добавляют, что Kotlin всё же лучше.
Разработка игр
Год назад ответ на вопрос «Что мне учить, чтобы начать разрабатывать игры?» был очень прост: «Учите C# и разрабатывайте на Unity». Но не так давно Unity приняла весьма сомнительные изменения в своей политике и поставила под вопрос свой бесплатный доступ, чем побесила сообщество разработчиков. А потом всё отменила. Поэтому сейчас ответом будет: «Учите C# и разрабатывайте на Unity пока можете». К счастью, C# поддерживается множеством других игровых движков, так что, зная этот язык, «переезд» с одного движка на другой будет практически безболезненным.
Итоги
- Хочешь работать над приложениями с графическим интерфейсом или играми? – изучай C#;
- Хочешь работать над программами для серверов, которые собирают, анализируют и защищают данные? – изучай Java, Python (+ SQL) (PHP для Web-разработки);
- Хочешь работать над интерфейсом сайтов? – изучай JavaScript, PHP (+ HTML и CSS);
- Хочешь творить нечто прикольное и несложное? – изучай Python;
Важно понимать, что для новичка главное не потерять мотивацию и ту искру, что зажгла желание начать изучать программирование. Программируйте то, что вам интересно, и будьте открыты новому. ✌
Автор: Каткова Елизавета
Источники и полезные ссылки:
- Синергия|Центр переподготовки. Сравнение языков программирования: какой выбрать? (Статья Дзен)