Главное Свежее Вакансии Образование
Выбор редакции:
747 2 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Что учить, чтобы стать программистом?

Речь идет об... абстрактном языке программирования. Даже не столько о самом языке, сколько о факте полнейшей бесполезности оного. Я могу смело заявить, что все языки программирования абсолютно бесполезны, и у вас есть все основания выкинуть все учебники в мусорное ведро, если вы не соблюли некоторые условия. Важные, черт возьми, условия. Многие сейчас подумают: "Да что он вообще несет?", а я, тем временем, могу ответить за свои слова, и, к концу статьи, вы со мной согласитесь!

Давайте отойдем от темы программирования на какое-то время и поговорим о заборах. Положим, у нас есть такой один. Деревянный забор, который все способны представить в голове. И есть роботизированная рука. В ней есть всего две функции: брать что-то и шевелиться. Ей плевать на то, что она берет, плевать на то, как двигаться. И есть паренёк по имени Вася, которому попалась эта замечательная рука, и перед ним как раз сейчас встала задача покрасить этот самый забор.

b_5b159cb173ffa.jpg

Так же с этой роботической рукой была книжка с описанием того, как этой рукой пользоваться. Вася проигнорировал книгу и вспомнил, как его сосед красил забор чем-то похожим. Он быстренько нашел кнопку включения, посмотрел как двигается рука, понял траекторию, наклонил руку и закрепил в нужном месте, затем примотал скотчем к ней кисть и поставил ведро с краской. Когда рука начала красить забор, Вася стал медленно его двигать. Задача была решена. К концу дня Вася таки покрасил забор, однако измазал все краской, включая себя и собаку, которая с интересом наблюдала за происходящим.

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

Спустя пару лет Васе снова захотелось покрасить забор, в новый цвет. Однако, пока эти пара лет протекали, он иногда почитывал книгу, в которой вычитал много полезного и интересного. Так, он знал, что руку не обязательно размещать в пространстве так, чтобы подстроиться под её движения, поскольку они не фиксированы, и, что, куда проще и быстрее перенастроить сами движения. Так, Вася настроил движения руки специально под свой забор, и теперь забор красился куда быстрее, правда Вася всё еще сам его двигал во время покраски.

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

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

Спустя какое-то время, Вася перебрался в другое место жительства, где, у всех есть роботические руки и много всего другого. Однако, Васин самый главный навык не дает ему покоя, и, поразмыслив, он покупает себе полноценного робота-андроида, который может выполнять любые функции. Вася изучил документацию вдоль и поперек, изучил каждую "мышцу" робота и на сто процентов знал, что она делает и как двигается. Догадываетесь, чему он научил его? Правильно! Красить заборы...

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

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

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

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

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

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

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

Так, если вы решили написать какую-то программу, лучшим будет начать её писать. Не читать о том, как пишутся программы, а именно брать и делать. Есть такая клевая фраза: "в споре рождается истина". Тут так же. Начните диалог с вашим языком программирования по модели "а что будет, если я сделаю так". Так вы "набьете" опыт. Сможете рассуждать, как рассуждает язык. Такой подход дает очень позитивный результат.

Не бойтесь "гуглить". Вот сейчас абсолютно серьезно! Интернет достиг такого уровня просвещения, что ни один мозг не удержит столько знаний. Главное - уметь правильно искать. Поэтому, если вам нужно сделать, чтобы ваша программа сохраняла данные при возникновении ошибок, не поленитесь вбить в поиск запрос вида "[язык программирования] отлов ошибок", найдя нужные методы для отлова ошибки, научитесь их обрабатывать. Или другой пример: нужно сделать так, чтобы программа знала, где происходит клик мыши в окне. Аналогично: "[язык программирования] позиция мыши" или "позиция клика мыши в [язык программирования]". Импровизируйте..

Ну и напоследок - не чурайтесь нового. Языки и алгоритмы совершенствуются обычными людьми. Не бойтесь придумывать новые алгоритмы и использовать новые инструменты. Прогресс делает всё только лучше.

PS: это я всё к тому, что хватит уже задавать мне один и тот же вопрос: "Как научиться программировать". Чтобы научиться - надо учиться, а не читать о том, как научиться.

+4
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Бидюков Денис
Бросил читать на появлении Васи с рукой. Автор тут малость перегнул )) Не знаю что в итоге является основной мыслью статьи, но исходя из моего личного опыта могу сказать только одно: не нужно изучать язык лишь потому что нужно что-то изучить, он самый популярный или на нем пишут прикольные программы. Нужно исходить из задач, которые ты перед собой ставишь. Когда-то передо мной стояла задача запилить себе сайт объявлений, собственно из этого я и исходил.
Ответить
Юрий Мамедов
я тоже смысла статьи не понял
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.