Найти в Дзене
Здесь

Ликбез по программированию

Ликбез по программированию или простыми словами о том что делают программисты. Предупреждение: объяснение максимально упрощено и немного отличается от реальности в пользу простоты примеров. Программирование – это способ создания компьютерных программ, которые говорят компьютеру, что делать. По сути это как список действий для машины, которое мы пишем на понятном для нее языке. Разберем на простом примере, сделаем бутерброд с колбасой. Вроде задача простая, но если ее разбить на все совершаемые нами действия при готовке получится солидный список задач. Дело в том, что когда мы пишем такие инструкции они кажутся чрезмерно избыточными, как будто бы мы сами не понимаем, что нужно взять или положить нож. Но такие детали необходимо учитывать, когда мы подробно описываем действие. Представим ситуацию когда вы делаете что-то совсем новое для вас и у вас нет опыта, который подскажет вам как поступать дальше. Например, я совершенно не представляю как придумывают новые лекарства. Тут сразу бы х
Оглавление

Ликбез по программированию или простыми словами о том что делают программисты.

Предупреждение: объяснение максимально упрощено и немного отличается от реальности в пользу простоты примеров.

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

Разберем на простом примере, сделаем бутерброд с колбасой. Вроде задача простая, но если ее разбить на все совершаемые нами действия при готовке получится солидный список задач.

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

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

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

Поэтому все инструкции пишутся на понятном для компьютера языке и очень подробно. С подробностью разобрались, но что такое понятный для компьютера язык. Компьютер понимает только такие данные как 0 и 1, но к счастью умные и несчастные люди которые работали с этим, сделали языки программирования. Это команды, которые могут читать люди, и которые обозначают определенный набор нулей и единиц. Допустим возьмем простую команду print() в языке программирования python. Она выводит текст.

Напишем Hello - привет по-английски

print("Hello")

Для нас слово из 5 букв, для машины это

01001000 01100101 01101100 01101100 01101111

Мне кажется разница на лицо

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

Какие существуют языки программирования

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

Хочу выделить несколько категорий:

  • Языки низкого уровня (разработка программ для машин и техники)
  • Front-end (внешний вид сайтов)
  • Back-end (сложная логика для сайтов)
  • мобильная разработка
  • разработка игр

Разберем все их по очереди

Языки низкого уровня

Это языки с помощью которых можно программировать любые машины: роботы, машинки, домофоны, компьютеры и т. д.
Они сложны в освоении по сравнению с остальными языками программирования.

Языки: С, С++, Rust

-2

Front-End

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

Языки: HTML, CSS, JavaScript

Back-End разработка

Back-end — это часть сайта или приложения, которая работает за кулисами для хранения и управления данными, обработки бизнес-логики, связи с другими системами и предоставления функций конечным пользователям.
Простыми словами, это все то что нам нужно постоянно обновлять. Это такие вещи как сообщения в социальных сетях, видео, товары в магазинах и данные о них.
Языки: Python, Java, C# и PHP.

-3

Мобильная разработка

Сейчас сложно представить жизнь без мобильных приложений, поэтому не стоит объяснять как сильно нужны их разработчики.

С мобильной разработкой все просто. Есть всего две технологии из которых стоит выбирать: это Android и IOS. Да и выбирать тут долго не приходиться достаточно просто посмотреть на свой телефон.

Языки:
Для IOS - это Swift
Для Android - это Java или Kotlin

-4

Разработка игр

Тут важен уже больше не язык,а движок.

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

Два самых популярных движка на данный момент:

  1. Unreal engine - Игровой движок, разрабатываемый и поддерживаемый компанией Epic Games. Является одним из самых популярных решений в игровой индустрии и ААА проектах. То есть обычно на нем делают самые сложные проекты. Основной язык: C++.
  2. Unity - Это мощный и мегапопулярный многоплатформенный движок для создания компьютерных игр, а также интерактивных 2D и 3D-приложений. Его чаще используют в мобильных или простых играх. Основной язык: C#.
-5

Теперь переходим к самому главному

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

Первое.

Вам надо выбрать какая сфера разработки вам интереснее всего, напомню их:

  • Языки низкого уровня (разработка программ для машин и техники)
  • Front-end (внешний вид сайтов)
  • Back-end (сложная логика для сайтов)
  • мобильная разработка
  • разработка игр

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

Далее необходимо выбрать язык из категории

  • Языки низкого уровня (С, С++, Rust)
  • Front-end (начинайте с HTML, потом CSS, потом JavaScript)
  • Back-end (Python, Java, C#, PHP)
  • мобильная разработка (android: Java, Kotlin или IOS: swift)
  • разработка игр (C++ или C#)

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

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