Как по-настоящему научиться программировать?

День добрый! Проблема проста: раньше я думал, что можно научиться программировать по одним лишь книгам по языкам. Все эти "для начинающих", "базовый курс" и "для программистов" почти не дают знаний о написании программ, кроме небольших примеров. Но даже владея языком, я понимаю, что совсем не могу написать что-либо, где требуется продумать архитектуру, паттерны, классы и т.д. Часто понимаю, что одну задачу можно решить многими путями, но в процессе работы начинаю "тонуть" в плохо продуманном коде.
  • Вопрос задан
  • 679 просмотров
Пригласить эксперта
Ответы на вопрос 10
@deliro
Придумать себе проект и реализовать его, как сумеешь.
Почитать про шаблоны проектирования.
Переписать, опираясь на шаблоны.
Понять, что вышло не очень.
Переписать ещё раз.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Вы путаете понятие "научиться программировать" и "стать хорошим специалистом, уровня сеньор архитектор".

Неужели вы действительно считаете, что для того, чтобы стать крутым специалистом достаточно почитать 5-10 книжек?
Нужны годы практики, ошибок, и стремления понять и эти ошибки исправить.
Ответ написан
@Neonoviiwolf
Flutter developer
я раз 5-6 переписывал код своего первого приложения, чудо-таблетки нет, просто пиши код
Ответ написан
Комментировать
@evgeniy_lm
40-70-е программист это ученый-исследователь
70-90-е программист это инженер
90-10-е программист это бухгалтер, экономист
наше время - программист это тупой 20 летний пацан.

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

Чтобы стать хорошим программистом нужно понять одну простую вещь - компьютер это не более чем продвинутый калькулятор. Компьютер может только выполнять арифметические операции и больше ни чего он делать не может. Из этого следует, что основная функция программиста описать поставленную задачу в виде числовых значений и арифметический действий над этими числами. В программировании это называется "создание математической модели задачи" и занимает 50-60% времени работы программиста, в то время как непосредственное написание кода это 3-5%
Ответ написан
Комментировать
@Caitiff_One
Обычный человек, начинающий разработчик:)
На мой взгляд тут есть два выхода. И их в идеале нужно совмещать:
  1. Работа над своим проектом, пробы/ошибки и т.д. Можно даже выложить на гитхаб, чтобы получить советы/критику.
  2. Работа:) на работе, как правило, есть более опытные коллеги, которые подскажут, есть КУЧА примеров кода, на которых можно поучиться.
Ответ написан
Комментировать
@kstyle
берите реальный проект и разбирайте код. затем пишите аналогичный с нуля. затем выкладывайте для критики. затем переписывайте. так несколько итераций. параллельно подпитывая все это теорией из умных книг. это если нет возможности в команду попасть. в целом, не более 20 процентов могут преодолеть этот барьер самостоятельно (данные из книги Шаталова).
Ответ написан
Комментировать
Rou1997
@Rou1997
совсем не могу написать что-либо, где требуется продумать архитектуру, паттерны, классы и т.д.

А действительно требуется? И вообще его нужно писать? Деньги платят?
Будет нужно - сможете.
Ответ написан
Комментировать
dosya97
@dosya97
Fullstack web-developer
Просто начать сложно, нужна идея(толчок). Начинать с простого. Если это веб то с html+css+js(Для понимания) Начните после этого bootstrap. Порог вхождение минимален и самое главное результат на глазах, что важно для начинающего программиста. Далее переходить на бэкенд, если кончено это интересно. Тут советую начать изучать python для понимания вообще что такое программирование(Прям по книге сядьте). Никакие видео не дадут вам полного объема данных. Конечно видео для начала это хорошо. Но "супер программистом" вы станете благодаря хорошо написанному мэнюалу. Далее можно связать навыки html+css+js(фронтенд разработак) и навыки программирования(python). Настоятельно рекомендую Фреймуорки для python, такие как Django, Flask или pyramid. Но если не хочется на python то можно на ruby lang(Ruby on reals framework), .NET, на крайняк PHP.
Не забывай все программисты не рождались программистами. Все мы были зелеными я и сейчас себя таким считаю. Но самый главный экспириенс это ГРАБЛИ. Чем больше ошибаешься и решаешь больше проблем то будут плодороднейшие результаты. И надо реально сидеть и кодить. Опыт самое важное. Удачи в начинаниях))
Ответ написан
Комментировать
Разработай то, что должно работать у людей - т.е приложение которым будут пользоваться люди. Тебе прийдется часами пилить исправления/обновления и тем самым ты много раз по переписываешь свой код, добавляя что то новое, исправляя что то на более разумное.
Ответ написан
Комментировать
@Gizmothron
Работать в большом коллективе с совместным кодом. Не в одиночку. Не во фриленсе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы