Олег, писал вам ответ, но получилась статья, которая поможет понять, очём я говорю, а именно. Как стать реально настоящим разработчиком.
В любом случае Олег, пока много путаницы на сайтах, но скоро её не будет.
Вымучивал я за год новую линию, вот писал
https://vk.com/spb_tut?w=wall180926159_852
Потому что сам понимаю многое уже, но я не доверял своему опыту, но появилась у меня мечта, что бы ребята
могли писать приложения типа инстаграма, вот и ушел год на приведение мыслей в порядок.
Сейчас переписываю школу питон джанго.
Потом угол зрения в программировании на масштабируемые приложения с серверной и мобильной частью, в общем все что требует современная экономика.
//////////////////////////
Потому что приходит момент, когда думаешь ну напишу ещё один курс, а дальше... и тогда я замахнулся на мысль, именно, как дать человеку удочку, потому что изучение языка сильно отличается от разработки.
Теперь стало все на места, пробное сделано, вот пример Осадчий Сергей, знает два языка, но в разработке
были сложности.
Одно дело просто работать с языком в пределах конструкций, функция класс и так далее, там все понятно.
А совсем другое дело применять эти конструкции для выполнения технических заданий,
И вот здесь кроется проблема, так как то что пишут большинство это в общем то не то или совсем не то.
Взять Сергея Осадчего, я на нём все проверил.
В пределах конструкций он напишет тебе чего хочешь, когда стал вопрос о разработке. все растерялся.
Стало очень понятно чему учить.
Здесь принцип описал
https://spb-tut.ru/guest/pages/328/
И вот мы с ним два месяца долбали разницу между абстрактными классами и интерфейсами, потому что сначала он вообще интерфейсы отбросил, но вот что произошло, когда он понял их глубоко, все код пошёл как с ведра летний дождь.
И вижу опять в сторону ушёл в потерны. (я решил обождать пока наиграется и упрётся. Что делать дальше)
А это ошибка, потерн нужно рассматривать, как организацию кода. но как способ реализации, потому что мышление будет стараться уместить все в потерн, а нам нужно не понимание организации кода, оно вторично. а понимание реализации, посему есть один способ, рассматривать потерн решая много задач в виде программ. тогда ничего не страдает, а все дополняет.
В общем не заворачивайтесь, просто объяснил, что я чувствую внутри сейчас. а все это изложу в курсе скоро.
и вот один фрагмент. Большинство людей в интернет довольствуются просто классами, а когда начинает касаться абстрактных классов, интерфейсов, то в принципе только по вершкам люди.
Тут то и собака порылась, когда я открыл код Кейта-Магги, мне стало понятно, что учить нужно именно тому, что человек видел в жизни и в коде одно и то же.
И здесь подходит способ кропотливого и долго рассмотрения одного элемента, например миксина в разных вариациях, причём вариации должны быть разные, обычный класс, интерфейс, абстрактный класс и так далее.
И вот здесь кроется ответ на вопрос, как обучать разработке.
1. Нужно проверенный путь. Книга - нет. Курсы - нет.
А вот код профи, как Кейтр-Магги - ДА, да и тысяча раз да.
В процессе работы с Сергеем Осадчим, я старался. его именно вести, так как само объяснение ничег оне даёт. Ну как по другому сказать, для одного человека машина просто работает, а второй слышит, что она троит или ремень или подшипник шумит.
То же и в программировании.
Я понял. что буду делать курс, где результатом будет, что участник будет понимать код разработчиков Джанго.
И как сможет дописывать, вот он и результат, значит разработчик созрел. То есть у меня появились конкретные цели и понимание.
А соль обучения разработки в очень чётком понимании основных конструкций, на уровне бытового мышления, посмотрел на дом и уже понял, как оцифровать.....это напишу как интерфейс, это как миксин, это как декоратор.
так вот, что бы такое происходило, нужно очень глубоко разобрать эти конструкции, что бы они приобрели ассоциации с реальной жизнью. Этого нет в интернет.
У меня остался только один вопрос к себе, почему я раньше этого не видел. Ответ я не стал искать, наверное всему своё время.
Но есть ещё одна изюминка, что бы вы понимали важность.
Например. если человека научить профессионально применять интерфейсы. то он опишет любой сложности предприятие или группу предприятий.
Но по школе, я увидел, что собирал ответы две недели, а для чего их применять, вот оно слабое звено.
А ведь это знание должно быть моментальным, как то же самое. что например мы захотели попить чаю и у нас нет сомнений что делать, пониманием нагреть воды, взять кружку и насыпать чего будем пить.
Так вот и здесь эти конструкции должны быть на этом уровне.
Способ обучения только один, это подведение к пониманию путём практики, иными словами на основные конструкции должны быть написаны сотни строк кода.
Опять же приведу пример С. Осадчего.
Я их глубоко пониманию, но понял через 7 лет.
Если взять просто объяснить что это такое, то толку нет, человек будет понимать умом, но не не будет накладывать на реальные ситуации. а их нужно пройти в коде.
Я подводил Сергея два месяца. но зато. как он понял, да и другие ребята, все код пошёл как из ведра, то есть
прорвало......
так вот это прорвало должно быть у всех в школе и теперь я точно знаю. каке это сделать.
И писал про изюминку. но только сейчас добрался.
да, Мы вроде бы думаем, что обучаем разработке, а это не всем нужно.
Ведь не все будут с нуля что то разрабатывать, так как написано куча библиотек.
А вот фигушки, именно для этого и нужно.
То есть учимся разработке с нуля приложения - это нас обязывает чётко определить. как и что будет реализовано.
А если в это время мы берём готовые библиотеки, например Джанго, то даже если человека научить миксинам тем же, то поверьте мне я видел код....ы, например Pandas
Она как раз реализован на примесях, очень мощная.
Но ведь есть и другая сторона вопроса, а кто разработчику мешает реализовать код на миксинах в Джанго, ведь это будут фантастические приложения любой сложности.
Миксины взял. как пример, на самом деле основных конструкций не так много, но именно на них упор нужно делать. И не прост понимание, а моментальное применение.
Иными словами, если учится разработке, то будет сто процентов крутой программист.
Я ведь писал, много лет мне не давало покоя. как выбрать направление на кого ровняться.
Я ведь несколько лет не мог понять, как сделать правильно.
В моём понимании правильно - это дать человеку удочку, а не рыбу.
И ответом стали проекты Кейта-Магги, то есть человека. который компетентен в любой части кода Джанго, а таких единицы.
Но у него есть и молодые проекты, кроме участия в Джанго.
https://beeware.org/
Тут уже описывал, сам путь.
https://spb-tut.ru/guest/category/37/
А теперь вдумайтесь.
Школа складывается. так как я когда то представлял себе 10 лет назад, даже 11.
Человек приходит в программирование, что бы разрабатывать.
В школе раньше было обучение с нуля (отлично зарекомендовало себя).
Развитие (да здесь люди начали устраиваться на работу, но я понимал, чего то не хватает).
Теперь в школе будут, все три цикла в пределах одной школы.
Обучение с нуля, развитие навыков и обучение разработки.
И новый человек не должен доходить до этих принципов 10 лет, он через два три, 5 месяцев уже будет этим владеть. Теперь ясно. Как этого дробится.
По сему нужен новый очень понятный сайт школы, его сейчас и делаю. как сделаю, продолжу обучение в новом формате.
Вообще здесь ситуация странная, я ведь его собрался переписывать года два назад, но не понимал что хочу увидеть, оставил.
Тогда в феврале 2019, ещё делая уроки по серверу, опять взялся, но ответа не было.
Дело ведь не в дизайне, хотя он сейчас будет удобный.
Дело в том куда привести людей хочешь.
И вот как только стала на место разработка, все само сложилось, теперь сами руки бегают по клавиатуре и его пишу днями.
Думаю будет очень интересно.
P.S. И изюминка ещё. Ведь изучив конструкции на примере питон, все это применимо к классам котлин, они полностью полноценны, за исключением множественного наследования.
Но принципы те же. И посмотрите видео по второму языку, отсюда начинается путь к пониманию полного стека
https://www.youtube.com/watch?v=R6RO8UKspZY
А в питон нужно придерживаться этого плана
https://www.youtube.com/watch?v=lxc6J3hkS4g&list=PLuZJ9n46uMzVDEIOH5PV9LM8tUqnwHf3H&index=11&t=2709s
(Python3).Ваш план и ответ на вопрос, а как собственно изучать язык программирования.
Я хочу сказать, что, то что рекомендуется в школе архи важно и помните, Олег, пока вы начинаете изучать второй язык. Вы стоите на месте
Посмотрите:
https://vk.com/spb_tut?w=wall180926159_670
Просто рекомендация, второй язык это однозначно. Маленькое пояснение, котлин покроет весь мобильный рынок, а питон весь веб рынок, + добавить сюда Js, после изучения котлин с ним трудностей не будет и со временем добавим Джава. Все крутейший разработчик.
Все получится.