Найти в Дзене

С какого языка начать учить программирование

Оглавление

Так с чего же начать, если тебе лет так 10-15, и ты решил, что разрабатывать игры, сайты или мобильные приложения - это круто?

Кажется, что вариантов - тьма, но нет, их от силы пять. А я знаю и вовсе четыре:)

                                                              Не все так просто
Не все так просто

1) Scratch (или программирование в MineCraft)

Эдакая песочница для младших школьников, где можно нарисовать игру, но нельзя ничего сломать. Прекрасный вариант, если тебе около 10 лет. Лет в 14 уже не надо

                                                                                             PacMan
PacMan

Плюсы:

  • Легко разобраться (мало кнопок, много картинок);
  • Легко добиться наглядного результата (минут за 5 можно сделать программу, где котик будет двигаться вперед-назад);
  • Приучает к терпению (что, впрочем, относится к любому языку). Уже здесь тебе придется писать код строк на 30. Ну а если 30 строк - тяжело, друг, не иди в программирование.

Минусы:

  • Некуда развиваться. Скачать расписание занятий с сайта школы, перезагружать мой компьютер каждый день в 0-00, запросить данные с фитнес-браслета - это все невыполнимо для Scratch и подобных ему сред

2) HTML

Язык, на котором написаны все страницы твоего браузера (даже эта). Хороший вариант почти в любом возрасте. Если хватает терпения

Плюсы

  • Написанный код открывается любыми браузерами (мобильными тоже). Больше того, во многих браузерах ты можешь его редактировать
  • Ясно, куда развиваться дальше. От простой страницы на HTML переходим к красивой (в которой используется CSS), дальше добавляем какие-нибудь подсказки (написанные на JavaScript), потом серверные вычисления на PHP (Python, C# и т.д.), потом подключаем базы данных (на любом SQL).
  • Пригодится, даже если не станешь программистом (у жены заказ в Avon не отправлялся из-за того, что у кнопки было написано слово "disabled", а оно редактируется прямо в браузере:) )

Минусы

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

3) Детская библиотека для C++ (Python, Java)

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

                                                                                          Арканоид
Арканоид

Плюсы

  • Сразу получится что-то наглядное, так что тебя затянет (в отличие от этих же языков в чистом виде, без библиотек типа TXLib)
  • Есть куда развиваться. Если в процессе обучения отойдешь от "детской библиотеки" и научишься писать приличного размера приложения на классическом C++, считай, ты уже стал программистом
  • Полная свобода развития. В будущем можешь хоть в web удариться, хоть в мобильные приложения, хоть в интернет вещей - на C++ пишут всё

Минусы

  • Минусы те же, что у "взрослой" версии изучаемого языка. В том же С++ со временем надоест писать слова "strcmp", "intptr" и "lpctstr" (они неплохие, но это не то имя, которым хочется назвать сына) вместо "==", "int" и "string" в более развитых языках

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

4) Arduino

Когда-нибудь ты станешь крутым программистом для роботов или IoT, а пока учишься программно включать лампочки:) Хороший вариант в качестве хобби. Или если прям хочешь стать робототехником / спецом по IoT (если хочешь стать промышленным программистом, Arduino не поможет:))

Плюсы

  • Низкий порог входа. Можете найти на YouTube видео, как за 10 минут заставить лампочку мигать
  • На точно таком же Arduino можно писать код для приличных IoT-решений, которые продаются за деньги
  • Результат гораздо нагляднее каких-нибудь игр на C++. Там всего-лишь человечек управляет стрелками, а у тебя будет робот, который препятствия объезжает. В общем, если хочешь добиться поцелуя от дамы сердца, Arduino надежнее плюсов:)

Минусы

  • Специфическая область. Код для роботов не похож на код игры на Unity или HTML-разметку сайта. Это значит, что развиваясь как программист на Arduino, ты не становишься сильнее как просто программист. И если после 5 лет кодирования роботов ты переходишь в web-разработку, по факту у тебя месяц опыта
  • Надо знать физику. Иначе просто будешь путать "плюс" с "минусом" и сжигать диоды. Или однажды случайно припаяешь к роботу ключ от входной двери
  • Капиталовложения. Конечно, чтобы купить пару плат квартиру продавать не придется, но надо быть готовым тратить на оборудование по несколько тысяч каждые полгода. А все предыдущие варианты были бесплатными (в том же web-программировании достаточно скачать denwer и писать в нем код следующие 2 года)

P.S. Я признаю, что тот же C++ (или Pascal) - это классика, все на нем учились и не жалуются. Но есть причина, по которой на чистых плюсах не стоит писать код раньше 14 (примерно) лет. Это наглядность. Вот пример программы на C++ длиной 400 строк (соотношение трудозатрат и результата отобьет желание писать код у 98 из 100 человек).

-4

Да, и ставьте лайк, люди! Я в вас верю:)