Этот пост не инструкция, а только указание на некоторую проблему. Я учил студентов языкам Си и Си++ три года или типа того, и однозначного решения пока не нашёл.
При обучении программированию важно знать, первый язык учит человек или не первый. Если не первый, то всё гораздо легче, потому что базовые концепции одни и те же. Не надо об'яснять, что такое переменные и проверка условий.
Но если язык первый?
Учебники по языкам бывают нескольких видов. Некоторые похожи на справочники. Открываем первую страницу, там написано "алфавит языка". Дальше рассказывается о ключевых словах, правилах составления идентификаторов и подобное. Моя любимая книжка по голому Си -- это Фомин, Подбельский. Она именно такая. К счастью, Си -- маленький язык. Поэтому можно себе позволить сделать то, что сделали Фомин и Подбельский. Каждый аспект языка рассмотрен практически досконально.
Но у таких книжек есть проблема. Вот эти теоретизированные разделы -- они к чему вообще? Да кто такой этот ваш алфавит, нахуй? Как программу-то писать?
Есть другой подход. Давать об'яснения на ходу, показывая примеры. Гэддис вот написал книжку "начинаем программировать на Питон". Там мы сразу начинаем писать простые программы и по ходу повествования осваиваем новые методики. Появляются переменные, циклы, списки и т.п.
Эти книжки хороши для начала, но очень быстро себя изживают. Такой стиль изложения -- очень медленный. А Питон -- язык гораздо более навороченный, чем Си. Это приводит к тому, что такие книжки неизбежно будут крайне поверхностными. После первой такой книжки придётся переходить к книжке-справочнику.
Ну и есть третьи книжки, я не знаю, для кого они. В них нет ни мягкого введения, ни досконального изложения. В качестве примера я приведу "Язык программирования Си++. Базовый курс" Липпмана. Я могу быть неправ, т.к. ещё не дочитал эту книгу. По первым страницам она кажется относящейся ко второму типу, т.к. на примерах начинает об'яснять, что и как. Однако уже через 30 страниц открывается такая бездна, что у меня пухнет голова (а ведь я уже имею общую подготовку). Тем не менее, как справочником этой книжкой пользоваться тяжело. В общем, не знаю.
Ну так и что, какой подход правильный? Ответа у меня нет.
При обучении программированию важно знать, первый язык учит человек или не первый. Если не первый, то всё гораздо легче, потому что базовые концепции одни и те же. Не надо об'яснять, что такое переменные и проверка условий.
Но если язык первый?
Учебники по языкам бывают нескольких видов. Некоторые похожи на справочники. Открываем первую страницу, там написано "алфавит языка". Дальше рассказывается о ключевых словах, правилах составления идентификаторов и подобное. Моя любимая книжка по голому Си -- это Фомин, Подбельский. Она именно такая. К счастью, Си -- маленький язык. Поэтому можно себе позволить сделать то, что сделали Фомин и Подбельский. Каждый аспект языка рассмотрен практически досконально.
Но у таких книжек есть проблема. Вот эти теоретизированные разделы -- они к чему вообще? Да кто такой этот ваш алфавит, нахуй? Как программу-то писать?
Есть другой подход. Давать об'яснения на ходу, показывая примеры. Гэддис вот написал книжку "начинаем программировать на Питон". Там мы сразу начинаем писать простые программы и по ходу повествования осваиваем новые методики. Появляются переменные, циклы, списки и т.п.
Эти книжки хороши для начала, но очень быстро себя изживают. Такой стиль изложения -- очень медленный. А Питон -- язык гораздо более навороченный, чем Си. Это приводит к тому, что такие книжки неизбежно будут крайне поверхностными. После первой такой книжки придётся переходить к книжке-справочнику.
Ну и есть третьи книжки, я не знаю, для кого они. В них нет ни мягкого введения, ни досконального изложения. В качестве примера я приведу "Язык программирования Си++. Базовый курс" Липпмана. Я могу быть неправ, т.к. ещё не дочитал эту книгу. По первым страницам она кажется относящейся ко второму типу, т.к. на примерах начинает об'яснять, что и как. Однако уже через 30 страниц открывается такая бездна, что у меня пухнет голова (а ведь я уже имею общую подготовку). Тем не менее, как справочником этой книжкой пользоваться тяжело. В общем, не знаю.
Ну так и что, какой подход правильный? Ответа у меня нет.
01.10.2023 в 09:52
из первой получаешь общую "схему города", а из второй - план каждого здания
01.10.2023 в 10:10
>Однако уже через 30 страниц открывается такая бездна, что у меня пухнет голова (а ведь я уже имею общую подготовку).
Это ещё не значит, что книжка хорошая.
А что ты понимаешь под бездной в данном случае?
02.10.2023 в 14:13
anhelmoders,
>>Это ещё не значит, что книжка хорошая.
Вообще-то, третий пункт как раз о том, что книжки такого типа плохие. Проблема в том, что иногда это лучшее, что есть. Ещё лучше -- только официальная документация. Но представь себе, когда ты учишь язык, читая словарь!
>>А что ты понимаешь под бездной в данном случае?
Резкое увеличение сложности.
"Вот машина, у неё три педали -- сцепление, газ и тормоз. Сцепление отключает двигатель от колёс, газ ускоряет, тормоз тормозит. Рулём рулить. Теперь тебе предстоит принять участие в ралли Париж-Дакар".
Именно так мой одногруппник объяснял свои впечатления от обучения программированию.
02.10.2023 в 22:00
ну нет. ты пишешь, что она похожа на книжки второго типа, а потом, что у тебя пухнет голова. я автоматически разместила её "между первой и второй" :ь
Резкое увеличение сложности.
так понятнее.
"Вот машина, у неё три педали -- сцепление, газ и тормоз. Сцепление отключает двигатель от колёс, газ ускоряет, тормоз тормозит. Рулём рулить. Теперь тебе предстоит принять участие в ралли Париж-Дакар".
офигенно xDDD