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

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

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

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

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


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

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

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

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

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

Ориджинал

Пераклад

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

Комментарии

Страницы

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

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

 

 

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

Рекурсия: 

ООП: - Хм, предметы реального мира порождены от предков своих и имеют свойства и методы.

Изучать API.  - С родителями вы говорите так, с друзьями иначе, а с учителями вообще по собому.

Есть проблемы? (C)

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

Logicby twitter.com logicby пишет:

Есть проблемы? (C)

Есть. И очень большие. И парой картинок их не решишь, понятных только посвященным, их не решишь.

 
 

 

-1

Есть. И очень большие. И парой картинок их не решишь, понятных только посвященным, их не решишь.

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

 

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

Logicby twitter.com logicby пишет:

Есть. И очень большие. И парой картинок их не решишь, понятных только посвященным, их не решишь.

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


Фраза не моя, есть источник. А иллюстрацию вашу я не считаю удачной как и все похожие иллюстрации, так как зная суть можно найти общность или сходство в любых вещах. Ставить пирамиду знаний на острие бессмысленно. Чего вы ждете от этих картинок? Слов: "Я понял! Вот мой оптимизированный для Биг Дата потокобезопасный код с исключениями, событиями, слушателями, графическим интерфейсом"! Очередная сферическая глупость.

-1

Petro46 пишет:

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

Нет, от фразы "мама мыла раму" - я не жду никакой фразы типа : "Я понял - Синонимический полиморфный  ряд метафорических синкоп".

 

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

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

+2

mike пишет:

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


Да, согласен. Без логики учиться программированию легко. (С)

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

Logicby twitter.com logicby пишет:

mike пишет:

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


Да, согласен. Без логики учиться программированию легко. (С)


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

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

Хороший совет Логику. Но он ему вряд ли последует. :) Когда откинется, будет продолжать. В своё удовольствие.

Страницы