Домой Программирование Какой язык программирования выбрать?

Какой язык программирования выбрать?

by dilix
different-programming-languages

Kotlin, Java, Python и другие непонятные слова. Это первое, с чем столкнется человек, который решит начать программировать. Как выбрать язык? На чем пишут сайты, а на чем мобильные приложения? Давайте разберемся.

Правильнее спросить себя не «Какой язык программирование учить?», а «Какие приложения я хочу создавать?».

Программирование используется для таких задач как:

  • Разработка мобильных приложений;
  • Создание игр. Как для мобильных телефонов, так и для компьютеров и приставок;
  • Программирование сайтов;
  • Создание ботов для мессенджеров;
  • Обработка больших массивов данных, искусственный интеллект (Big Data & AI);
  • и т.д.

Для каждой из описанных задач существуют свои языки программирования и инструменты.

Разработка мобильных приложений

Какой язык программирования выбрать?

Сегодня «Программирование под мобильные устройства» подразумевают либо Android либо iOS. Мы не будем рассматривать другие системы, т.к. доля их незначительна на данный момент.

Программирование под Android

Изначально основным языком программирования под Android была Java. Однако 7 мая 2019 года Google анонсировал, что теперь Kotlin — предпочтительный язык для разработки под их систему.

Kotlin и Java имеют много общего. Ничего не знать про Котлин и писать приложения только на Java — можно, наоборот — сложнее. Базовые вещи все-таки придется изучить.

Программирование под iOS

Ситуация похожа с Android. Изначально был Objective-C. Ему на смену пришел Swift. Смысл, что в случае с Котлином, что со Свифтом один — снизить порог входа в профессию.

Разработка сразу под несколько платформ

Возможно создание кроссплатформенных приложений. Теоретически это значит, что создавая одно приложение его можно выложить сразу и в Google play и в Apple Appstore и все будет работать из коробки. На практике не все так радужно. Порой переиспользовать можно лишь часть всего кода. Поддержка остальной части может оказаться сложнее, чем изначально написать все нативно (под определенную платформу).

Данный подход может быть использован, когда надо написать лишь обертку над системой. Так называемый тонкий клиент. Так или иначе разработчику необходимо разбираться в нюансах каждой операционной системы, без этого никак.

Flutter

Flutter — набор инструментов, который предоставляет Google для разработки сразу под обе системы. Dart — язык программирования, который используется внутри.

React native

React native — разработка компании Facebook. Что интересно, лозунг компании «Учи один раз, пиши везде». Т.е. они изначально намекают на то, что не получится написать один раз и использовать везде. Они пропагандируют немного другой подход: зная react native можно писать под разные платформы на одном языке.

Xamarin

Xamarin — продукт Microsoft. С ним можно разрабатывать мобильные приложения на C#/.Net. Может быть хорошим выбором, если вы и так хорошо знакомы с C#.

Kivy

Kivy позволяет разрабатывать мобильные (и не только) приложения на Python. Можно использовать если вы уже хорошо знакомы с питоном и не хочется переучиваться. В противном случае, если цель именно писать мобильные приложения — начинать стоит с Kotlin/Java.

Создание игр

Раньше мечтал делать игры

Создание приложений и игр сильно отличается даже если рассматривать разработку под одну и ту же систему, например Android. Игры используют много ресурсов системы, так что необходимо большое внимание к деталям. Хорошая новость в том, что для этих задач уже создано несколько популярных фреймворков.

Unity

Unity — среда разработки кросплатформенных игр. Можно использовать ряд языков для написании скриптов. Наиболее популярным является C#. Unity — очень популярный инструмент который уже доказал, что его можно использовать в реальных играх.

Unreal engine

Unreal engine — игровой движок от компании Epic. Той самой, что сделал Fortnite. Он также как и Unity хорошо известен в контексте компьютерной графики и игр.

Программирование сайтов

В большинстве случаев, когда говорят о разработке сайтов, интернет магазинов и т.д. предполагают Full-stack разработчика. У каждого сайта есть его «лицо» (Frontend) и «серверная часть» (Backend). Когда человек одновременно работает над обеими частями это и есть Full-stack.


Backend

Основные языки, которые вы встретите при разработке серверной части: Php, Ruby, Python, NodeJS.

PHP

PHP изначально расшифровывался как personal home page. Широко используемый скриптов язык, который используется для построения сайтов. На нем, скорее всего, будет не так удобно строить большие системы.

Широко используемая система Wordpress написана на PHP.

Node.JS

Node.JS — это серверный Javascript. По сути для него необходимо знать Javascript как базовый язык. Node позволяет писать высоко нагруженные системы, работающие в реальном времени — чаты, системы совместного использования, стриминговые сервисы и т.д.

Python

Python также позволяет писать серверную часть для веб приложений. Этот язык хорош для старта, он довольно простой и не отпугнет новичков. Если о питоне говорят в разрезе веб приложений, то скорее сего имеют в виду Django — фреймворк для построения web приложений на Python.

Ruby on Rails

Ruby on Rails — фреймворк, который позволяет писать полноценные web приложения. Shopify, Github, Airbnb — они и тысячи других используют Ruby on rails.

Frontend

Что касается Frontend, то вот те термины, с которыми так или иначе вы столкнетесь

  • Html (гипертекстовый язык разметки). Описывает как должны располагаться элементы на странице, какие ссылки куда ведут и тд.
  • CSS (каскадные таблицы стилей). Описывает то, как выглядит ваша разметка. Т.е. размеры, цвета и тд.
  • Javascript. Это скриптовый язык, который описывает поведение и взаимодействие пользователей с сайтом.

Фреймворки

Сегодня никто не будет делать сайты на чистых Html + Javascript. Будут использовать фреймворки, облегчающие разработку, но все они так или иначе основаны на базовом наборе веб программиста.

React — Javascript библиотека от Facebook. Довольно популярна на данный момент. Познакомившись с ним будет легче использовать React native для мобильных приложений.

Angular — другой популярный фреймворк.

Vue — и еще один фреймворк, который зачастую упоминается в тройке react, angular, vue.

Обработка Big data и искусственный интеллект

Все что касается Bigdata и AI будет упоминаться вместе с Python в большинстве случаев. Т.ч. тут особо альтернатив нет. Если ваш выбор — искусственный интеллект, машинное обучение и все что с этим связано, то ваш выбор — Python.

Заключение

На первом месте стоит задача, а лишь потом инструмент. Нельзя, например, выучить только Python и быть на одном уровне с мобильным разработчиком, который владеет более подходящим инструментом. Важно, хотя бы отдаленно представлять какой стек подходит для определенных задач.

Если вы совсем новичок, то хорошим началом будет знакомство с Python. Так вы поймете базовые принципы не испугавшись слишком технических аспектов программирования.

После первого знакомства с разработкой выбирайте свою нишу и погружайтесь в изучение соответствующих инструментов.

Но перед тем как пойти изучать выбранную технологию, ознакомьтесь с базовыми принципами программирования.

А если остались вопросы, то добро пожаловать в чат в Телеграм.

Хочешь обсудить Android разработку?
Заходи к нам Вконтакте, на Facebook и в Телеграм!

Добавить комментарий

2 комментария

Ra 07.09.2023 - 13:28

Какой язык программирования выбрать? > Unreal Engine

Ответить
dilix 08.09.2023 - 11:24

Enreal Engine не совсем ЯП, он и Unity достойны внимания если геймдевом заниматься.

Ответить

Может быть интересно

Этот сайт использует Cookie файлы для улучшения вашего пользовательского взаимодействия. Используя данный сайт вы соглашается с этим. Принять Читать

Политика конфиденциальности и Cookies
%d