Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Вопрос к профессиональным программистам. Почему так сложно изучать программирование?

ОбразованиеПрограммирование+2
Анонимный вопрос
  ·   · 42,8 K
Веб-разработчик, геймер, специалист по этике  · 6 нояб 2022
Моё личное мнение коротко: всё слишком абстрактно.
Попробую объяснить поподробнее, но учтите, что мне как профессиональному разработчику ПО уже довольно сложно ответить на этот вопрос, я-то уже давно его изучил, для меня всё очевидно. 😏
Вспоминая свои университетские годы, где мне фактически "с нуля" читали синтаксис и семантику Object Pascal и, в следующем семестре, C++, я могу сказать, что очень сложно было понять в принципе, о чём идёт речь. Потому что подавляющее большинство вещей, с которыми мы работаем в программировании компьютера — не существуют, не существовали и принципиально нематериальны, невозможно их сравнить с чем-то из жизненного опыта.
Давайте я приведу вам пример. Возьмём одно из самых базовых фундаментальных понятий в программировании, которое существует просто везде, в любой языковой среде и в любой области разработки: понятие переменной. Какое у нас есть определение "переменной", что это такое? Нам читали вот это:
Переменная — это определённого размера область в памяти, расположенная по некоему адресу и обладающая именем.
Для профессионального разработчика ПО это определение самоочевидно, потому что оно вытекает из того, как мы переменными пользуемся каждый день. Я для того чтобы его написать, не открывал никакой учебник, я просто сконструировал его заново по опыту и смутным воспоминаниям о лексиконе, который в универе использовался.
Теперь задайте себе вопрос: вы вообще хоть слово из этого определения понимаете?
Для того, чтобы хотя бы представить, что это такое, "переменная", вам нужно уже заранее понимать, что такое "память" в компьютере, что эта память условно подразумевается разделённой на ячейки определённого размера, что эти ячейки пронумерованы числами, которые мы называем "адресами", что в языках программирования высокого уровня есть такое понятие — "имя", причём в каждом языке программирования это понятие определяется по-своему — и ничто из этого не объяснит вам, а собственно зачем мы вообще эти "переменные" в программировании используем, а тем более — как эти вещи, "память", "адрес" и "имя" выглядят в свою очередь.
И так я могу до посинения приводить примеры вещей, которые в разработке ПО становятся понятны только в процессе их использования. Для того, чтобы понять, что вы вообще делаете, подразумевается, что вы сформируете в своей голове какую-то систему абстракций, свою собственную уникальную систему, которую никто кроме вас вам не сможет объяснить. Любой опытный разработчик ПО вам скажет, что у него однозначно был в жизни момент, когда он бился головой об стену несколько дней, а потом в голове у него "щёлкнуло" и он вдруг понял, как "это" выглядит, и всё сразу стало понятно с этого момента.
Вот эта особенность программирования компьютера, её исключительная абстрактность, причём абстрактность на нескольких уровнях одновременно и необходимость постоянно переключаться в голове между этими уровнями абстракции, декомпозировать и обратно абстрагировать процессы и понятия, и делает его таким сложным для изучения, на мой взгляд.
4 эксперта согласны
Все эти понятия совсем не абстрактны, если начать с электроники и ассемблера.
)
Научные заметки о жизни: zen.yandex.ru/id/5c434983...  · 4 нояб 2022
Вообще говоря в любом теоретическом обучении есть одна основная трудность. У ученика не хватает каких-то базовых понятий, чтобы отразить в них новые знания и понятия. Новым знаниям не к чему "прицепиться". Они как бы изложены... Читать далее
2 эксперта согласны
Диванный философ, по совместительству инженер  · 7 нояб 2022
Пожалуй есть три причины общие для всех видов деятельности где нужно много знать и еще больше уметь: - вы учитесь не тому и не по тем материалам. Возможно они некачественные, а возможно рассчитаны на уже профессионала... Читать далее
2 эксперта согласны
Специалист в области разработки систем...  · 4 нояб 2022
Я бы сказал, что сложно изучать программирование не вообще, а некоторым людям в определённых ситуациях. Для начала, по своим врождённым способностям и воспитанию, полученному в дошкольном и младшем школьном возрасте, у разных... Читать далее
Образовательная платформа Хекслет  · 18 мая 2023  · ru.hexlet.io
Изучать программирование может быть сложно по разным причинам, например: - Программирование требует логического мышления, внимания к деталям и способности решать проблемы. Так как вы должны понимать и использовать логику в... Читать далее
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
Разработчик текстовых квестов  · 23 февр 2023
Что ж, вопрос не по адресу. Профессиональные программисты уже давно и прочно NIL это вот всё.  В лучшем случае услышишь: "Ну, лямбда-функции могут иметь любое количество аргумехрррр, пшшшшшшш, блам-блам-блам, бзззз бзззз... Читать далее
программист  · 7 нояб 2022
> почему так сложно изучить программирование. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf Это стандарт языка С в редакции 1999 года. Один из самых маленьких языков программирования - 540 страниц. Для полноценной... Читать далее
Разработчик встроенных систем, немного радиолюбите...  · 7 нояб 2022  · vladimir-coslow.narod.ru/index.html
По моему скромному мнению, программирование изучить совсем не сложно. Сложно на работу программистом устроиться. Например, когда был студентом, пообещали оставить при ВУЗе на летнюю практику программистом. Дали для проверки... Читать далее
Чтобы ни дня в жизни не работать, на практике совмещаю работу с хобби.Перейти на vladimir-coslow.narod.ru/index.html
3 эксперта согласны
Помощь пользователям ПК и ноутбуков - спрашивайте   · 11 апр 2023  · itmen.help
Изучение программирования может показаться сложным по нескольким причинам: 1. Большое количество языков и технологий: Существует множество языков программирования, каждый из которых имеет свои особенности, синтаксис и области... Читать далее
Компьютерная помощь в вашем городеПерейти на itmen.help/uslugi
В дополнение я бы добавил ещё, что математика...  · 16 нояб 2022
Ситуация у меня была подобно вашей. При обучении в вузе не понимал и просто ненавидел программирование. Тогда программирование было ещё то занятие, при помощи перфокарт. Но возникла задача расчёта крышки одного изделия. Задача... Читать далее