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

Июн
27

Бесит, конечно, такая постановка вопроса, но попробовать не объяснить уже трудно.

Как научиться пилить деревья? Возьми пилу и пили. В процессе узнаешь что и как делать дальше.

Заранее хочу сказать, что программировать, как и дрова пилить, может научиться каждый. Но не каждому это дано. Вполне очевидно, что программер должен обладать логическим складом ума, иметь интерес к точным наукам, к технике. На дурнячка «взять и спрограммировать что-то эдакое» — не получится.

Я не ставил себе вопроса «как научиться программировать», когда начинал заниматься программированием. Я и выражения-то такого даже к себе не применял: «заниматься программированием». Мне было интересно — я изучал компьютерную технику, искал и читал соответствующую литературу, общался с другими людьми по этим интересам. Изучал, как сделаны другие программы и пробовал кодить. Придумывал что-то свое, пусть наивное и простое, и снова кодил. Смотрел справочники, изучал даташиты и кодил, кодил, кодил. Из всей той кучи, что я накодил за все прошедшее время, сейчас трудно вспомнить, что именно было полезным и нужным кому-то, кроме меня. Но в этом и суть — это было сверх-полезным именно для меня. Огромный опыт.

Мне повезло — я начинал с калькуляторов и самодельных компьютеров. А то, что мне повезло, я понял только через много лет, когда наблюдал, как становятся программерами люди следующего поколения, которые начинают свой путь с винды и продвинутых IDE. Хотя, бесспорно, хорошим программистом можно стать, не зная про все эти спектрумы и калькуляторы. С калькуляторных времен технологии программирования продвинулись очень сильно. Но лично для меня тот факт, что я «начал с калькуляторов», упрощает процесс постигания вычислительной техники.

В итоге могу сказать следующее: если хочешь научиться программированию — начинать нужно с азов. С математики, логики, с изучения техники, которую хочешь программировать. Изучать технологии построения алгоритмов. Читать надо много. Очень много.

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

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

Опять же, читать, читать и читать. Изредка спрашивать.

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

Ты станешь программистом, когда следующее будет про тебя:

  • Ты написал несколько своих велосипедов и успокоился, научившись осваивать чужие велосипеды.
  • Ты не холиваришь, а решаешь свои задачи уместными (применительно к задаче и ее особенностям/условиям) средствами разработки и технологиями.
  • Тебе по сути дела все равно на каком языке писать — паскаль, си, ява, пхп или что-то другое, потому что ты решаешь задачу задачу, а не споришь о языках.
  • Зная базу и постоянно углубляя свои познания в мат.части, тебе не составляет особого труда доучивать и осваивать новые языки и технологии.

Самое главное в процессе становления настоящим программистом не заболеть звездной болезнью, аналогично артистам. Ибо тут, в нашей среде, звезданув, можно моментально превратиться в ламера. Ибо только гамадрилы спорят и не различают языка от среды разработки. Только идиоты, установив эклипс, мгновенно становятся мега-программерами. А если еще фотошоп и зд-студию рядом поставить — то тут пропадает настоящий мега-талант: программер и крутой дизайнер в одном флаконе. И только настоящие наполеоны, самостоятельно залив стянутую с инета игрульку в свой смартфон, становятся ява-девелоперами в одночасье.

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

Оставить комментарий