17

Ответ на пост «Советы тем, кто реально хочет стать программистом»6

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

Но самая серьезная беда, которая встречалась -- это бессвязные разделы и разрозненные проекты. Такое и в школе часто происходит.


Приведу пример с математикой.

Начнем с таблицы умножения. Внезапно, очень многие путают ее с примерами умножения.

2х2=4

2х3=6

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

Таблица умножения:

Ответ на пост «Советы тем, кто реально хочет стать программистом» IT, Программирование, Совет, Самообразование, Ответ на пост, Длиннопост

По горизонтали -- ось Х, по вертикали -- ось Y

Сделать ось Y вверх и получим, внезапно, сразу геометрию, оси координат, а в клетках -- площади фигур.

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


В программировании еще хуже -- обучают обычно с помощью говнокода...

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

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

В университете я видел и такой ущербный подход -- написав программу 1, нужно ее исправить и написать программу 2 в том же файле! Попутно удалив часть кода, а, значит, часть информации, комментарии и т.д. И все, данные утеряны. Самое элементарное решение -- скопировать файл и уже в копии менять. Или как раз самое время познакомиться с системами управления версиями, только локальными, ибо интернет не везде есть, внезапно. Особенно в 2022 году, когда часть сайтов в лучшем случае доступны через VPN. В худшем -- недоступны, ибо умерли, перенесены или по подписке, которую фиг оплатишь из России, не говоря уже о блокировке российских аккаунтов ради "свободы слова". В 2021 году это сложнее было объяснить многим программистам, которые зациклены на том, что все интернет-ресурсы всегда будут доступны, наивные. Видимо, за МКАД не выезжали.


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


UPD. пилил автоустановщик веб-фреймворка, особенно редактирование проекта. Пусть даже установка происходит стандартными средствами. Пока что не видел как можно поменять параметры констант в скрипте из другого скрипта, чтобы значения сохранились. Касается PHP и Python. Т.е. какой-нибудь файл config.php уже лежит на диске и в нем нужно через мою программу поменять константы. Структура файла задана фреймворком, который его и сгенерировал.

Лига программистов

2K поста11.8K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества