Почему так тяжело учиться программировать

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

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

Изучая различные языки, фреймворки, технологии одну за одной, легко забыть, насколько устрашающе выглядит программирование для человека, с ним не знакомого. Начало обучения, которое обычно включает в себя изучение какого-либо языка программирования, многих пугает настолько, что они сдаются. К примеру, вот «Hello, World!» на Java — широко известном языке, который стал промышленным и образовательным стандартом.

Когда я впервые написал эти строки, я абсолютно не понимал, что происходит. Я мог только догадываться о значении слов вроде println. Я начал искать в сети значения остальных слов и натыкался на такие понятия, как классы, методы, модификаторы доступа, массивы строк и return даже в самых примитивных объяснениях. И насколько простым бы ни было это объяснение, даже читать его было страшно, не говоря уже о том, чтобы запомнить, о чем там написано.


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

 

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

Меньше всего люди ожидают, что изучение нового хоть и не закончится, но будет становиться проще с каждым днем. Вместо этого они думают, что «это слишком сложно» или что «это не для них». Прибавьте к этому то, что они видят других людей, у которых получается программировать, которые «просто» знают, как работает код, и вы поймете, почему новички часто бросают обучение программированию или информатике.

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

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

Ориджинал

Пераклад

Версия для печатиВерсия для печати
  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 3
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Читайте также

 

Комментарии

Страницы

Petro46 пишет:

Если хотите помочь людям

Люди разберутся сами с собой. (С)

mike пишет:

Хороший совет Логику.

А у меня совет простой: Если вы умеет писать, то вы уже можете  программировать. (С)

Аватар пользователя mike

Если вы умеет писать, то вы...

В игнор.

Аватар пользователя Petro46

Logicby twitter.com logicby пишет:

 

Люди разберутся сами с собой. (С)

В моем блоге положено помогать людям. 

 

Logicby twitter.com logicby пишет:

mike пишет:

Хороший совет Логику.

А у меня совет простой: Если вы умеет писать, то вы уже можете  программировать. (С)

Умtние писать не ведет к умению программировать. В игнор бесполезные посты демагога, ищущего здесь убежища от скуки...

Аватар пользователя mike

Вообще-то есть простое объяснение, почему учиться трудно. Его дал русский профессор С.В.Савельев.

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

+1

Petro46 пишет:

Умtние писать не ведет к умению программировать.

Программа - это всегда текст! (С)

mike пишет:

Вообще-то есть простое объяснение, почему учиться трудно. Его дал русский профессор С.В.Савельев.

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

Это спорно. Всякая ли сложная система стремится к минимуму потенциальной энергии?

Есть сложные системы которые стремятся к максимуму потенциальной энергии.

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

Аватар пользователя Piton

Logicby twitter.com logicby пишет:

А у меня совет простой: Если вы умеет писать, то вы уже можете  программировать. (С)

Logicby twitter.com logicby пишет:

Программа - это всегда текст! (С)

А если вы умеете складывать, вы можете работать профессором математики. Математика - это всегда цифры (Ц)

А если вы умеете резать и шить, вы можете работать хирургом. Хирургия - это всегда кройка и шитье (Ц)

Интересно, до каких глубин маразма может дойти Логик(тм) в своих "рассуждениях"? (Ц)

mike пишет:

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

И это спорно. Мозг голоден всегда. Особенно по ночам. По ночам он (мозг) гонит своего (хм, владельца? хозяина?) холодильнику. Чтобы не идти к холодильнику владелец мозга пытается уснуть.  Приняв позицию с минимум потенциальной энергии тела.

и увеличивается его потенциальная энергия -- образуются новые связи.

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

mike пишет:

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

Софт это всегда текст. (С)

Даже если этот софт зашит в железке.

 

Страницы