Решён
Стоит ли начинать изучать программирование с нуля? Какой язык выбрать?

ML Engineer NSK Python
14.3k
7

Хочу научиться программировать, но опыта вообще ноль. В школе информатику проходил, но это не в счет - там только Word и Paint были.

Почитал в интернете - у всех разные мнения. Одни говорят начинать с Python потому что легкий, другие с C++ потому что фундаментальный, третьи с JavaScript потому что сразу результат видно.

Вопросы:

  1. Стоит ли вообще начинать изучать программирование с нуля или это только для тех у кого математический склад ума?
  2. Какой язык выбрать первым?
  3. Реально ли выучить самому по бесплатным курсам или надо платные покупать?

Цель - в будущем может работать программистом, но пока просто интересно попробовать.

Решение
232
Эксперт • 2 ответа

Начинал с нуля 2 года назад, сейчас работаю джуном.

Вот мой путь:

Месяц 1-2: Python основы

  • Прошел курс на Stepik "Поколение Python" (бесплатно)
  • Решал задачи на Codewars
  • Делал простые скрипты (калькулятор, генератор паролей)

Месяц 3-4: Углубление

  • ООП, работа с файлами, исключения
  • Начал учить Git и GitHub
  • Сделал телеграм-бота для личных нужд

Месяц 5-6: Веб

  • Изучил Flask (легче чем Django для старта)
  • HTML/CSS на базовом уровне
  • Сделал простой сайт-портфолио

Месяц 7-12: Проекты и поиск работы

  • 3 проекта в портфолио (парсер сайтов, REST API, веб-приложение)
  • Leetcode для алгоритмов
  • Откликался на вакансии джуна

Взяли на 8 месяце активных поисков.

Ответы на твои вопросы:

  1. Математический склад ума не нужен для большинства задач. Нужна логика и усидчивость.

  2. Выбирай Python. Не потому что он "самый лучший", а потому что:

    • Простой синтаксис (меньше времени на изучение языка, больше на программирование)
    • Огромное комьюнити (на любой вопрос найдешь ответ)
    • Широкая применимость (веб, автоматизация, анализ данных, ML)
  3. Бесплатных ресурсов достаточно. Я не потратил ни рубля на обучение. Stepik, YouTube (канал "Хауди Хо"), документация Python, Stack Overflow.

Платные курсы это не гарантия результата. Главное - практика каждый день.

Аватар ML Engineer NSK

Супер мотивирует! Спасибо за подробную раскладку по месяцам.

64
Участник • 5 ответов

Python. Не парься, начинай с него. Синтаксис простой, библиотек куча, работу найти можно.

21
Участник • 2 ответа

Не слушай тех кто говорит "начинай с Python потому что легкий".

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

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

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

Аватар Ольга Детский Врач

Классический совет от олдов который отбивает желание учиться у новичков. Начинать надо с того что дает быструю обратную связь.

85
Участник • 2 ответа

Зависит от цели.

Хочешь делать сайты - JavaScript (сразу увидишь результат в браузере).
Хочешь в анализ данных или ML - Python.
Хочешь в геймдев - C# (Unity) или C++ (Unreal).
Хочешь мобилки - Kotlin (Android) или Swift (iOS).

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

11
Участник • 2 ответа

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

165
Эксперт • 1 ответ

Короткий ответ: Python. Бесплатные курсы. Математика не нужна.

Длинный ответ:

Я преподаю программирование новичкам уже 5 лет. Вот статистика по моим студентам:

Из тех кто начинал с Python - 70% дошли до создания первого рабочего проекта.
Из тех кто начинал с C++ - 15% дошли, остальные бросили.

Почему?

Python дает быструю обратную связь:

print("Hello, World!")

Одна строка - программа работает. Мозг получает дофамин от успеха.

C++ отбивает мотивацию:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}

6 строк непонятного кода для того же результата. Новичок не понимает зачем это все нужно.

По поводу "математического склада ума":
Программирование - это не математика. Это логика + инструкции + практика. 90% задач решаются без формул.

Бесплатные vs платные курсы:
Бесплатных достаточно. Но нужна самодисциплина. Платные курсы дают структуру и дедлайны - это помогает не бросить.

Roadmap для новичка:

  1. Python основы (2-3 месяца)
  2. Git и GitHub (1 неделя)
  3. Выбрать направление (веб/автоматизация/данные)
  4. Делать проекты (главное!)
  5. Искать работу/фриланс

Удачи!

124
Участник • 2 ответа

Давай без иллюзий.

Да, можно выучить программирование с нуля. Нет, это не быстро и не легко. Все эти истории "за 6 месяцев стал разработчиком" - это исключения или преувеличения.

Реальность:

  • Учиться придется минимум год при интенсиве (2-3 часа каждый день)
  • Первые 3 месяца будет казаться что ничего не понятно
  • 80% начинающих бросают на этапе "Hello World" → первый реальный проект
  • Рынок джунов перенасыщен, конкуренция дикая

Что повышает шансы:

  • Ежедневная практика (даже 30 минут, но каждый день)
  • Реальные проекты в портфолио (не учебные todo-листы)
  • Участие в опенсорсе
  • Networking (митапы, конференции, телеграм-чаты)

Если готов к этому - вперед. Если думаешь что "посмотрю пару курсов и пойду работать" - не трать время.

Написать ответ

Премодерация гостей

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

Будьте вежливы и соблюдайте правила платформы.