В отличие от многих других, у меня не абстрактное желание стать программистом.
14.06.2021 13:00, Ярослав Желтов пишет:
> Приветствую!
>
> Благодарю, вошёл без проблем, сначала с телефона,полистал путеводитель,
> но как оказалось видео в мобильном браузере недоступны,
> Установил другой браузер, то же самое.
>
> Теперь вошёл с домашнего компа - всё в порядке.
>
> Планирую заходить то из дома, то с рабочего ноутбука, в свободное время.
>
> Будем знакомы!
>
> Мне 45 лет.
> В отличие от многих других, у меня не абстрактное желание стать программистом,
> у меня есть вполне конкретная задача, которую я намерен реализовать.
> И в процессе её разработки стать если и не профессиональным Программистом, Архитектором ПО, Мастером обработки Данных
> то как минимум уметь мыслить как Программист, познать среду, а она сильно разрослась с момента моего детского с ней знакомства,
> чтоб привлекая специалистов говорить с ними на одном языке.
>
> Своё знакомство с программированием начинал в детстве с Бейсика на ДВК-2 в школе,
> но родители не поддержали, направить мой интерес было некому.
> Закончил школу в начале 90-х и дальше началось выживание.
>
> В чём я только себя не пробовал, где только не учился три ВУЗа поменял, по три курса в каждом осилил,
> и ушёл на стройку отделочником, 10 лет отпахал, понял что не железный, рабским трудом только грыжу и заработаешь.
> Затем занялся изготовление рекламы.
> Но детская мечта, не отпускает, очень жалею, что упустил столько времени.
>
> Сейчас работаю на сам себя, много мелких заказов. Появилась необходимость учета всего и вся,
> освоил на хорошем уровне гугл таблицы, потом попробовал курсы программистов 1С,
> там до меня наконец дошло как всё устроено, и появился серьёзный интерес к программированию.
>
> Помучался с 1С-кой попрактиковался в написании своих конфигураций, Даже было желание пойти в конторе поработать,
> Но так как я уже человек взрослый и семейный на 20 тыс в месяц уже пойти не могу.
>
> Появилось желание и необходимость разработать и написать свою систему учёта.
> Понял, что с 1С лучше не связываться, слишком большая зависимость от платформы.
>
> Начал искать инструментарий.
>
> Сначала купился на рекламу курсов JAVA - разработчик от Скилл Бокса пообещали что смогу программировать всё от утюга до мобильника.
> Прошёл уроков 10 понял, что не мой язык, после 1С он казался таким громоздким....
> Там привычное процедурное программирование, а здесь ООП.
>
> Порылся, переключился на JavaScript проще, понятнее, с синтаксисом разобрался быстро,
> пописал скрипты для гугл таблиц, начал Node JS изучать, чтоб наконец-то до взаимодействия с базой данных добраться,
> Разобрался немного с Постгрисом, попробовал всё связать в кучу, понял, что вконец запутался из за обилия технологий.
>
> JS мне в принципе понравился, но он заточен под интернет
> А мне нужно что-то более универсальное. чтоб и мобильное приложение, и десктопное и браузерное,
> в общем кроссплатформенное, плюс ИИ подвязать к выполнению рутинных операций.
>
> Познакомился поближе с Питоном с GUI фреймворком Kivy и понял - да, это ОНО.
> За день разобрался как нарисовать простейшую форму с текстовыми полями и сохранить ввод в базу данных!
> В общем влюбился в гибкость и лаконичность Питона.
> Мне главное работающий Прототип смастерить, чтоб было подо что команду собирать.
> А уже серьёзную разработку поручить профессионалам.
>
> Самостоятельно учиться конечно трудно, не с кем консультироваться,
> в моём кругу, к сожалению, нет и близко никаких айтишников.
> А кусы крайне подорожали, и полгода учить заново, то что я уже знаю совсем не улыбается.
> Это если б снуля и сразу на курсы, тогда да, или как повторение и уточнение в свободное время.
> С этими мыслями, блуждая по ютубу в поисках информации о принципах и приёмах классификации в ООП
> наткнулся на Ваш ролик, где Вы говорите о том что программирование надо изучать не с базового синтаксиса, он приложится,
> а с правильного мышления, с функций, с практических задач.
>
> Мне это очень созвучно, и вот я здесь!
>
> Сейчас я в процессе изучения ООП, меня очень занимает классификация и делегирование,
> сейчас пытаюсь вникнуть в принципы множественного наследования, композиции, агрегации и ассоциации.
>
> На отвлечённых примерах (собачки, кошечки, машинки, треугольники) всё понятно, а на жизненных пока не соображу.
>
> Например как связать между собой Человека и Организацию?
>
> Создаём эти 2 класса и класс Сотрудник, который наследует напрямую от Человека,
> а как правильно связать его с Организацией?
>
> Ума не приложу, очень надеюсь на Вашу помощь.
>
> Если направите мои мысли в нужном направлении, буду Очень признателен!
>
>
> С Уважением, Ярослав.
Ярослав, я понял что Вы хотите.
Да, пайтон к этому подходит.
Обратите внимание на этот проект он уже довольно зрелый
https://beeware.org/
Это один из моих любимых наставников и единственный программист из сообщества джанго, который компетентный в любой части джанго. У него есть свой проект, делаешь один проект, а потом размещаешь, как десктоп, мобильное и сайт.
///////////////////////////////
Для вашего замысла kivy хорошо подходит, но так же можно взять и Electron от Node. (будет настольное, но при помощи сервиса можно сделать мобильное).
Но если вы уж влюбились в пайтон, то вот что вам нужно подтянуть.
Сначала пройдите функции питон и др языков
Зачем их проходить и как их проходить?
С вашего письма я понял, что вы учились разбираться в языках и продуктах это ваша ошибка, нужно разбираться в программировании - этому и нужно уделять время, в вашем случае параллельно работать с продуктами.
Этот никак нельзя сделать. если у вас нет системы работы с кодом.
Зачем она нужна?
Покажу на примере функций.
Когда человек хочет водить авто, что он делает. Садится, крутит руль и едет.
Вот и в программировании, есть основное, это функции, если вы пишите функции вы уже программируете.
Когда вы добавите более одного языка, то у вас на полном автомате начнётся осознание языка. вы начнёте отделать принципы программирования от языка программирования (а точнее реализации в нем того или иного принципа.
Например во всех языках функции состоят из ключевого слова. названия, круглых скобок и тела функции (там скобки могут быть разные).
Если вы поставите перед собой в начале три вопроса.
Вы тогда изучите базу функций.
Потом вы поймёте, что можете писать функции на любом языке программирования.
Пока оставьте на время путеводитель и проделайте эти уроки, уясните корень классов и выработайте систему работы с кодом.
Я точно уверен, что в классы вы вошли не верно. Вы наверное начали с наследования?
Это подход не верный.
Если вы продолжите в том же духе, то вы заметите, что даётся вам сложно, так как под ногами начинают путаться разные __init__ - ты и так далее, то есть методы.
Вам нужно правильно направить внимание.
Внимание нужно направить на методы и природу метода и добится, того же. что я описывал выше с функциями.
Обратите внимание в питон классы работают по принципу функций, то же и в JS.
https://docs.python.org/3/tutorial/classes.html#a-first-look-at-classes
""""
На практике операторы внутри определения класса обычно будут функцией определения, но другие утверждения разрешены, а иногда и полезны - мы вернемся к этому позже. Определения функций внутри класса обычно имеют своеобразная форма списка аргументов, продиктованная соглашениями о вызовах для методы - опять же, это объяснено позже.
https://docs.python.org/3/reference/compound_stmts.html#def
""""""
Следите за моей мыслью сейчас.
Вы пишите, что вы хотите освоить мышление программиста.
Нет никакого мышления программиста. Вы подумайте о свой работе, вы ведь много действий представляли, как несколько действий и это было одно, например подготовить раствор включает......
Мышление программиста у вас уже есть. Что вам нужно под натаскать, так это всего лишь научится как то называть свои действия на языке программирования. Это придёт по ходу.
Теперь смотрите, если вы замешиваете раствор нужной консистенции, там много компонентов, то есть это действие и есть функция. Попробуйте подумать о своей работе, которую хорошо знаете и разделить её на несколько функций и назовите как то. Вот вам и мышление программиста, то есть оно у вас уже есть.
Теперь к языку.
Если вы упустите начало, что я описывал выше с функциями, то вы себя лишите всякого понимания в будущем.
Вот, смотрите, если вы не понимаем. что в круглых скобках в функции, то есть параметры
def fun(параметры):
ТО мы лишаем себя возможности мыслить кодом, ведь мы мыслить мы будем параметрами и переменными и именно потом все это вызывать.
То есть то что я писал о функциях должно быть отработано с иголочки.
Понимая функции, вы легко понимаете методы классов, ведь это те же функции, только с первым аргументом self, понимая как работают функции вы автоматически понимаете методы, ведь там те же принципы и исключения, понимая функции вы легко входите в классы. ведь и классы работают по принципу функций. Только там добавиться выход класса, все рассмотрели в системе работы с кодом.
Освойте свою систему работы с кодом.
Сейчас вам нужно вот что сделать.
Для реализации вашей цели подойдёт любой продукт питон, kivy, джанго, pyqt
Вам необходимо сосредоточится на абстракции и в первую очередь понять разницу между интерфейсом и абстрактным классом, сразу это не получится.
вот здесь есть статьи, прочтите их, они вам многое разъяснят, их нет в меню, это статьи со старого сайта школы
https://spb-tut.ru/guest/category/37/
И ещё вам нужно включить nympy -по сути э\то работа с массивами.
На ней этой библиотеке построено целое машинное обучение anaconda
https://www.anaconda.com/products/individual
Ну к примеру, при помощи библиотеке pandas вы сможете при помощи одной простой функции выводить целые массивы сводных данных
https://pandas.pydata.org/
Причем встроить то это можно и в джанго и в kivy и в Eletron от Node
https://www.electronjs.org/
Пока вот так.
*****************************
Вы можете писать весь код в группе, я тогда направляю.
Индивидуального обучения у нас нет. А в группе это поможет многим.
Сейчас вы проходите урок:
В отличие от многих других, у меня не абстрактное желание стать программистом.
Все уроки с тегом: истории