К списку категорий

  •   Python/Kotlin. Красная мысль статьи, что делать-то, что бы стать разработчиком?




  •   Описание

    Мурат написал:

    Изначально я поставил себе не реальные сроки обучения, не понимал какой объем предстоит освоить.

    Только по одному типу объекта "Строки" нужно минимум месяц.
    Впереди есть Числа, Списки, Кортежи, Словари, Множества,Функции, Классы.
     
    План поменялся, ошибся маленько ))
     
    Изначальные сроки обучения:
    За 1 месяц изучить Python
    За 3 месяца научиться практически писать на Python
    За 3 месяца научиться практически писать на Django
    За 3 месяца научиться практически писать на Kotlin
     
     
    Бовсуновский:
    В принципе я продолжил мысль и показал, что бы это воспринималось просто, а ведь путь разрабочика довольно просто пройти, но времени нужно немного больше конечно.
    Зато и результат будет другой.
    В статье есть основная идея, сама изюминка, а что делать, что бы стать разрабочиком. Эта статья поможет выбрать верное направление без потери времени.
     
    Ну а что касается, что месяц на те же строки покакажется много, так это не много, потом на протяжении всего периода программирования будете просто наращивать (будет куда), уже не отвлекаясь. а на лету пользуясь справкой. Вложенно в верные шаги время сейчас экономия времени всю оставшуюсю жизнь в программировании. (все будет на лету).
    А сейчас нужно скурпулёзно.
    Запомните Мурат ведь вы знаете эту мысль. которую я сейчас напишу.
    Все должно быть в своё время.
    То есть если сейчас строки, то затереь до дыр, потому что когда будут классы, то нужно будет применять и разбираться в классах. а не потдятигать строки, которые будут сильно тормозить.


      Статья

    Объёма вы до сих пор не представляете, но могу уверить точно.

    Что если сейчас наработаете типы данных сотнями строк кода, то потом соберёте все в функциях до кучи. То же и с другими типами.

    Этот весь пласт знаний будет нужен и в классах, там просто функции поменяются на методы (что принципиально тоже самое).

    Типы данных можно сравнить с буквами. А как не зная букв можно читать и писать?

     

    Потом наработаете конструкции и потерны и все программирование в кармане.

     

    А дальше можно брать любую библиотеку, там все на классах и тогда сможете писать что угодно.

     

    Если же не добавите котлин, то закроетесь в своем мирке от большого мира программирования и в конце концов тоже не станете программистом, так как программист вынужден работать с разными языками.

    А как только добавите котлин, то со временем начнёте понимать структуру языков, после котлин возьмёте js это уже можно будете делать на лету.

     

    Знаете чем наша школа отличается от всех других ресурсов в интернет?

    У нас пишут все кто хочет (абсолютно все)

    Причины:

    Неограниченное время.

    И главное направят что нужно делать и главное зачем. А понимание зачем и есть основа вашего понимания.

     

    А знаете что главное в обучении программированию?

    Что бы направили.

    У нас это есть.

     

    Дело за малым, брать и заниматься.

     

    К чему нужно себя готовить глобально и по минимуму?

    Посмотрите телевизор, везде принимаются законы о цифровой экономике, то есть ближайшие 30 лет будет все оцифровываться.

     

    Это значит нужно знать язык для веб и язык для мобил.

    И иметь понимание в короткие сроки овладеть любым другим (этот навык даст подключенный второй язык, потому что третий потом будет уже легко).

    Понимать серверную часть.

    Иными словами уметь написать логику приложения на классах с серверной и мобильной частью.

    А мощное базовое изучение даст использовать любые библиотеки.

    Что сейчас вложите с тем и будете, потом сто процентов не будет времени. (а дырки точно будут и будете закрывать от случая к случаю).

    Поэтому нужно пройти сейчас, но очень скрупулёзно.

     

    Вот вчера вы рассматривали кусок кода класса (пока рано, но суть в другом).

    Когда например мы изучаем котлин, там все просто и понятно с те ми же модификаторами доступа.

    https://kotlinlang.ru/docs/reference/visibility-modifiers.html

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

    тогда вы точно сравните и подумаете, а как же приватные методы выделить в питон и все это запоминает раз и навсегда, потому что есть сравнение.

     

    Есть ещё один плюс и это плюс поняли америкосы, хоть и тупые (по Задорнову) они ещё с 2009 года ввели во многих вузах питон и язык человек изучает и уже пишет, но главное сила питон в ооп.

     

    Потому что изучив ООП питон, все остальные языки будете изучать только в сравнении.

    Приведу примеры силы питон:

    Ютуб написан на питон, в Инстаграм серверная чать на Джанго и ещё сотино проектов поменьше.

     

    То есть то что есть в ООП питон, то в других языках точно есть (но как правило все беднее).

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

     

    А вот если человек начинает с JS, то это потерянный программист он и будет гнать только js, а потому что другие языки понимать не будет.

     

    Или если человек начал с Java, это примерно тоже самое что кастрированного быка отправить увеличивать стадо.

    да там ООП, но очень урезанное.

     

    На самом деле проблема очень большая, когда читаешь программисты Джава не очень любят котлин они его не понимают им трудно.

     

    А котлин сделан по принципу питона, то есть упор сделан на действие.

     

    Вот как размышляет программист котлин и питон.

    Хочу попить чая.

    Размышление: возьму чайник закипячу, возьму пакетик чая, положу в кружку и буду пить. Все быстро и понятно.

     

     

     

    Вот размышление программиста Джава:

     

    Хочу попить чая.

    Сначала я должен понять, а это я хочу попить чая или кто то другой.

    Если я, значит я должен выяснить что это я думаю о чае.

    Ага, значит первое что мне нужно, что бы попить чая это подумать.

    Итак первое, я думаю что хочу попить чая. И все превое и первое и так до бесконечности и придёт вечер, а чая можно и не попить.

    Как я это узнаю, я вижу свою мысль, записываю на подкорку

    Я Мурат хочу попить чая.

    Что для этого мне нужно.

    Сначала я должен записать саму мысль, я мурат хочу попить чая.

    Теперь я мурат который хочет попить чая, должен определить, что есть такое понятие попить чая.

    Понятие попить чая это для меня:

    Чайник,

    Кружка,

    чай попить,

    И что выдумали здесь все закончилось.

    Нет теперь нужно расписать каждое понятие.....

    вот и получится размышление попить чая на портянку.

     

    Иными словами в котлин что есть одна строка в джава 40 строк (с блога гугл сравнение)

    http://kotlinlang.spb-tut.ru/about/

     

    Причина проста, в котлин все изначально объекты..

     

    В джава нет исключений, есть одно которое называеся ...А хрен его знает.

    Ну например, вы сделали программу попить чая, а руки были в масле (до этого блины жарили).

    И кружка разбилась.

    Джава вам скажет во время компиляции (все ок, пьём чая)

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

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

     

    Но ведь для чего он подходит.

    Да подходит.

     

    например написать программу и работать над ней 20-30 лет, как джет брайнс над intelij, тогда всё ок, но нужно понимать для быстрых проектов Джава не подходит.

     

    Эту мысль проговорили разработчики котлин (котлин это как и джава остров).

    Эти ребята с компании Джет Брайнс написав самое крутое приложение на Джава очень завидовали платформе .net

    Но у платформы .net есть недостаток, она очень сложна и громоздка и тоже рассчитана на проекты на годы.

     

    разработчики котлин формулируют туже мысль. которую ранее ещё в 2009 году сформулировал Гугл.

     

    Время языков для всего уже прошло и больше не вернётся (Джава, Си, С++ и так далее).

     

    накоплен опыт и знаем зачем нам нужны языки, нужно писать языки по рынкам.

     

    Ага вот и родили GO (язык для поддержания крупных веб систем, но можно и малые писать), если ранее нужно было 20 языков для поддержания гугл, то в скором один только GO, все просто, что не хватает допишут. (то есть взята стратегия, как в питон на расширяемость).

     

    То же сделали и в Джет Брайнс, берут Джава, выбрасывают все сопли и делают это на автомате, вводят null, теперь если взять пример выше описанный с кружкой, можно дописать, беру кружку ( а если кружка разбилась, то беру другу, в конце концов иду в магазин и покупаю). Главное что программа продолжает работать и говоит конкретно, если что то пошло не не так она скажет нет кружки. программист допиши что делать).

     

    Но в чём красота, Котлин полностью совмести с Джава в обе стороны, то есть скорость, точность, как у Джава и писать можно то на котлин то на дава, то на JS (он поностью строен) и применять протоколы, например json (то есть обмениваться данными с любыми приложениями и языками)

     

    Архитекторы котлин проговорили ту же мысль, время языков. которые писались для всего и не для чего ушло на всегда.

    Теперь время направлений и рынков.

     

    Разработчики убирают все сложное, гетеры, сетеры, хуетеры (то что описывал в примере, что я сначала должен понять о чём подумать), хотя они полностью доступны и в котлин.

    Все определяют, как объект - это значит что можно теперь сделать автоматическое определение типов, что в свою очередь делает на автомате выше описанные операции.

    Делают память на автомате и так как есть объекты, а они либо нужны, либо нет, значит можно уже сделать авто очистку памяти на автомате (что есть прорыв для языка со статической типизацией).

     

    Так как присутствует все выше на автомате то легко делают много поточность на автомате, а это значит, что теперь сопрограммы делаются легко новичком (а в джава даже профи путались). Что это?

    А это вы пишете программу, а потом Бац пришла идея, пишете в новом процессе не ломая программу основную. (легко расширять).

     

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

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

     

    Иными словами можно написать функцию или метод он будет работать полноценно, потом взять вырвать кусок функции,, если надо, он тоже будет работать полноценно отдельно от функции. Круто.

    Ну и что бы все это заработало в полную силу добавили полноценное ООП,

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

    Иными словами можно все, что есть в классическом ООП.

     

    https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

     

    Так вот вы спросите а причём здесь питон?

    Изучив питон как следует и разработку на питон, как следует все, вы это понесете в другие языки и будете применять, ну например в котлин с некоторыми ограничениями.

     

    Ну например, вы прочитаете что котлин не поддерживает множественное наследование, ага подумаете, я миксинами в котлин запишу (вы же миксины разбирали в питон), те же принципы и задачи, только записываются по разному.

     

     

    Для новичков пояснение.

    Множественное наследование.

     

    Например у нас гостиницы для всего мира.

    И мы хотим, что бы номер 8 в каждой гостинице был для Иванова.

    Мы пишем один кусок кода, который указывает что номер 8 в любой гостинице для Иванова и добавляем название этого кода в в любой класс и кроме всего прочего, код будет делать и это действие.

    Но в питон мы можем пойти дальше, например применить понятие интерфейса.

    Я к чему это описываю, что бы вы понимали теперь Мурат, что есть настоящее обучение разработке и зачем вы сейчас отдаёте много времени типам данных (кирпичикам).

     

    Повторим мысль

    Но в питон мы можем пойти дальше, например применить понятие интерфейса.

     

    Все просто, мы пишем метод, но указываем ему ничего не делать, кроме основных действий. но все они не закончены, то есть их задача это определить только места.

    В данном примере у нас гостиница, а-а-а-а-а-а-а-а-а-а. Мы же умные, не дураки.

    Если например номер можно выделить в гостинице для Иванова.

    То почему бы не выделить сарай рядом для живности Иванова (курочке, собачке, свинкам и коровки).

    Все просто мы переписываем код и называем его некий объект, но он ничего не делает, только переопределяет порядок, то есть что мы будем работать с объектом. Это и есть сам порядок и задача интерфейса в данном случае.

    Теперь мы можем переопределить этот объект во что то что нам нужно.

     

    Гостиницу для самого Иванова.

    Работаем с тем же методом, но теперь выделяем сарай для живности Иванова.

    А потом можем выделить гараж для иванова.

    А теперь что бы ему было что есть и цех завода для иванова.

     

    Что сделал интерфейс?

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

     

    А ведь например по этому вопросу всего по пол странице в интернет, а на самом деле эта тема колоссально глубока, с Осадчим мы занимались два месяца. При этом первые две недели он пытался вообще выбросить из кода за ненужностью, но все же задавая новые и новые вопросы ему я смог донести. Потом он понял потерны и теперь пишет профессионально интерфейсы. Знает для чего и не представляет без них жизни. А ведь конструкций ещё много.

     

    Так вот, что есть настоящее обучение разработке.

    Придёт время посмотрите в группе кучи сообщений

    https://groups.google.com/d/msg/spb-tut/KY4h_l0zPZk/bo2nAFd6BQAJ

     

    Гляньте эти видео, можно сейчас по одному, точнее будете представлять зачем изучаете так скрупулёзно.

    https://www.youtube.com/playlist?list=PLuZJ9n46uMzVDEIOH5PV9LM8tUqnwHf3H

     

     

    Настоящее обучение разработке - это.

    Что должен сделать программист? Правильно определить конструкции.

    Например для какой задачи что применять.

     

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

    А потом расширять как угодно.

    То есть иными словами выбор конструкции должен быть таков. что бы точно решалась основная задача полностью.

    Вот я сейчас дописываю новую переформированную школу в ней мы и будем заниматься именно обучением разработки, то есть изучать со всех сторон конструкции и учится их применять, а так же понимать возможности конструкций. Иными словами выращивать профи, как вы понимаете теперь это возможно.

    Сразу отвечу на одно возражение. А если я собираюсь только писать на Джанго, зачем мне такое глубокое понимание, я же не собираюсь с нуля разрабатывать.

    Ошибочкас в мышлении.

    Даже если вы освоите основные конструкции и примените их в джанго, то написание Инстаграма для вас будет бытовой просто ежедневной задачей. (то есть ширпотреб)

     

    Но теперь поднимемся на шаг выше.

    Определили конструкции, но для этого нужно хорошо знать ООП. (теперь знаете зачем вам ООП).

    Хорошо знаем ООП, но ведь нам нужно как то наши действия выделять в конкретные шаги, то есть методы или функции.

    (как в примере попить чаю).

    Отлично умеем это делать.

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

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

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

     

    если вы плохо пройдёте типы данных, то как вы будете записывать свои размышления, как все, кто уделил час строкам...лазить по интернету и искать решение.

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

     

    Вот вы и готовый профессионал.

    Все просто, нужно заниматься и знать что и зачем делать и для чего и почему.

     

    Много можно ещё пояснить и у многих возникает много вопросов, многие ответы можно получить прочитав эти статьи.

    По крайне мере я точно показал, что программировать может каждый, ведь известно что и зачем изучать.

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

     

    Дочитать:

     

    В школе добавляется реальное обучение разработке, но про новичков так же не забудем.


    https://spb-tut.ru/guest/pages/330/

     


    Подводные камни или как правильно учиться что бы стать программистом?


    https://spb-tut.ru/guest/pages/331/

     

    Python/Kotlin. Cтать профессиональным разработчиком с нуля план с пояснениями.


    https://spb-tut.ru/guest/pages/332/


    В целом уловите такой вот подход к своему обучению программированию и разработке, точно будете разработчиком


    https://spb-tut.ru/guest/pages/333/

     

     Python/Kotlin. Вот такой путь я вижу, что бы вырастить разработчика профи с нуля. (дорожная карта).

    https://spb-tut.ru/guest/pages/334/

    Вдохновляющие истории ребят.

    https://spb-tut.ru/advanced_python_learning/successful-programming-examples/

     


     

    (Python3).Ваш план и ответ на вопрос, а как собственно изучать язык программирования.

    https://www.youtube.com/watch?v=R6RO8UKspZY

     

     

    Быстрый старт котлин:

    http://kotlinlang.spb-tut.ru/info/fast_start/

     

     

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

     

     

     

    Но ведь есть главная мысль.

    Сравните свои знания и понимание, если бы просто занимались по урокам.

    А работая в группе вы двигаетесь очень быстро.

    Посему важное быть в школе в группе, тогда обучение будет очень эффективным и работать в группе.

     

     

    Что вы делаете очень верно?

    Вы определяете план, как вы будете изучать язык.

    Это основное условие.

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

    Справедливо и обратное, если просто идти по книгам и материалам процент выхода будет не более 10-ти (и никаким программистом никогда не станете, да будете понимать язык, но не более того).

    Вывод важно быть в группе, потому что там можно всегда направить и быстро закрыть все белые пятна.

    Так же вы увидели, что в школе немного иная система обучения, благодаря которой может писать каждый.

    Видео урок это только начало работы, ведь вы сами составляли принципы освоения материала (выше в ссылках найдёте кто упустил).

    А дальше я формирую ваше движение направляющими вопросами, но проходите вы все сами, при этом уже полностью погружаетесь в процесс, что даёт максимальный эффект уже сразу и полностью вовлечённость в процесс, понимание своего места, где сейчас находитесь, а значит осознанного изучения, что есть результат 100 процентов на выходе.

    Этим и отличается наша школа от других, здесь вы сами себя учите писать, а теперь. Как я говорил упор будет на разработку.

    Все получится.

     

     

     

     


     

    --
    © 2009-2019 Валерий Бовсуновский - Школа практики Django + Python.



      Код

    нет кода

      Рекомендации

    Узнать больше в ленте Twitter и подписаться на Ютуб, получать новые видео.



    Ну а кто только начинает:

    Рекомендация.

    Получите доступ здесь питон джанго:

    https://spb-tut.ru/info/action/

    И здесь котлин:

    http://kotlinlang.spb-tut.ru/buy/account/



    2020-05-13 07:49:19+00:00



    К списку категорий