Тёмный

Чем так крут Python - реальный пример. Продуманная архитектура Python 

Диджитализируй!
Подписаться 163 тыс.
Просмотров 318 тыс.
50% 1

Мой курс «Хардкорная веб-разработка» - course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.digital/
Telegram: t0digital.t.me
Сказать спасибо за это видео можно здесь - boosty.to/digitalize.team
Сегодня хочу рассказать о том, почему мы стратегически выбрали Python как основной язык на ближайшие годы, чем он хорош и чисто технологически, и в проектном плане с точки зрения наличия специалистов и компаний, использующих технологию.
Тема изначально очень холиварная, но у меня нет задачи сказать, что все остальные языки плохие, у каждого ЯП есть свои плюсы и выбирать инструмент надо под задачу. Но! Если вам нужен 1 язык, который вы хотите изучить или с которого хотите начать, я считаю, что Python - лучший выбор.
Поговорим о принципах разработки Python, о продуманной архитектуре Python, его академичности, быстродействии и выразительности.
0:00 О чем будем говорить в видео
1:27 Языки, на которых я писал, и почему выбрал Python
2:31 Причины выбрать тот или иной язык программирования
3:19 Средний PHP vs Python разработчики
4:22 Академичность, лаконичность и красота Python
6:05 Продуманность архитектуры Python на примере len
10:56 Композиция вместо наследования
12:04 Каждый аспект языка распространяется на весь язык
12:59 Python медленный?
14:15 Выводы
Python 3.8 - • Python 3.8 - офигенный...
Сложные структуры данных в Python - • Эффективно работаем со...
Поднимаем Debian сервер для Python/Django - • Поднимаем Debian серве...
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
- Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
- Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Telegram канал - t.me/t0digital
ВК - digitalize.team
RuTube - rutube.ru/channel/24802975/ab...
Дзен - dzen.ru/id/6235d32cb64df01e6e...

Опубликовано:

 

19 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1,3 тыс.   
@t0digital
@t0digital 5 месяцев назад
Мой курс «Хардкорная веб-разработка» - course.to.digital Вжух!
@tandev713
@tandev713 4 года назад
Благодарю за информацию! За работу стоя, отельный класс!
@user-lr2fq8gf4g
@user-lr2fq8gf4g 4 года назад
Хорошая картинка, отличный канал, я очень рад, что вы вернулись на Ютуб. Спасибо за очередное классное видео!
@t0digital
@t0digital 4 года назад
Спасибо за приятный отзыв! Будем продолжать!
@akmiable
@akmiable 4 года назад
Спасибо! Все отлично. Качество картинки чуть заметно, но незначительно. В Вашем контенте самое главное содержание, а не форма. Ждем новых материалов. Спасибо, удачи!!!
@t0digital
@t0digital 4 года назад
Спасибо за комментарий по картинке! Будем продолжать 💪
@zorky7724
@zorky7724 4 года назад
Все шикарно) Ждем побольше видосов)
@t0digital
@t0digital 4 года назад
Спасибо! Будем продолжать 💪!
@user-mv8so2ku6f
@user-mv8so2ku6f 3 года назад
5:15 ничего себе из контекста вырвано. Полная фраза "Есть люди которые любят программировать. Я их не понимаю. *Я не люблю программировать, я люблю решать задачи"*
@NikitaEpt
@NikitaEpt 3 года назад
Согласен с этим
@KillerOKPlanet
@KillerOKPlanet 3 года назад
Так правильно всё сказал. Это действительно же есть такое отличие между языками, это и показано
@user-mv8so2ku6f
@user-mv8so2ku6f 3 года назад
@@KillerOKPlanet И в чем же оно заключается? Расмус этой фразой хотел сказать, что он не пишет пустые строчки кода в никуда, как это делают крутые праграместы, а подбирает грамотное и рациональное решение для определённой задачи. Суть в том, что Расмус не высокомерное чмо, строящее из себя фиг знает кого. В этом и есть отличие этих языков, да.
@user-ms1sn3rn9h
@user-ms1sn3rn9h 3 года назад
глаза уже откройте, люди сами довели до такой ситуации, своим беСдействием,содействием! Спасая ближнего,спасешься сам! Ссылка в профиле ↗️
@alexgvozd3199
@alexgvozd3199 3 года назад
@@user-mv8so2ku6f Сам-то понял, что сказал?
@dimagusev6113
@dimagusev6113 4 года назад
и картинка и звук, как по мне, абсолютно ок
@user-su1wf3wz6c
@user-su1wf3wz6c 2 года назад
Ок
@VitaliyPodverbnyy
@VitaliyPodverbnyy 4 года назад
Ура. Ждем новых видео!
@t0digital
@t0digital 4 года назад
Спасибооо!
@user-wj5sm2de2f
@user-wj5sm2de2f 4 года назад
Привет! Да все огонь, картинка огонь, контент огонь) продолжай, удачи в дальнейшем)
@t0digital
@t0digital 4 года назад
Спасибооо!
@miky7miky
@miky7miky 4 года назад
С возвращением :) Картинка отличная 👍 Сначала показалось, что даже лучше чем раньше 😁
@t0digital
@t0digital 4 года назад
Спасибо, Михаил!
@skeptik007
@skeptik007 4 года назад
Со звуком и видео все отлично👌
@stylliaga
@stylliaga 3 года назад
Вы вернулись. И это потрясающе! И это потрясающе!
@Fearengate
@Fearengate 3 года назад
Какой кайф. Тема, клава, вим, качество. Тебя то я и искал на ютубе
@Murrengan
@Murrengan 4 года назад
Хорошо, что вернулся =) Да пребудет с тобой сила!
@t0digital
@t0digital 4 года назад
Спасибооо!
@sergeykapshuchenko5695
@sergeykapshuchenko5695 4 года назад
О, а Кто это тут )))
@rshirkhanov
@rshirkhanov 4 года назад
Великолепно, картинка шикарная, очень лампово, а главное - информативно) Было бы круто увидеть еще больше материла по пайтону)
@t0digital
@t0digital 4 года назад
Большое спасибо! Будем продолжать, в том числе по питону!
@user-um3pc7ng4s
@user-um3pc7ng4s 2 года назад
Лаааампово, Ыыыы.. блюванул )))
@TekimeDeviceIK
@TekimeDeviceIK 11 месяцев назад
​@@user-um3pc7ng4s*е
@user-qp8hg4ds2b
@user-qp8hg4ds2b 2 года назад
Очень интересное видео, спасибо. У вас классные видео!
@user-td8vi2tm4r
@user-td8vi2tm4r 4 года назад
Ты просто лучший! Смотрю твои видео и получаю удовольствие. Не каждый сериал захватывает так, как твой канал.
@t0digital
@t0digital 4 года назад
Спасибооо!
@illiadenysenko7776
@illiadenysenko7776 4 года назад
С возвращением)
@t0digital
@t0digital 4 года назад
Спасибо:)!
@sevashpun
@sevashpun 4 года назад
Спасибо большое за полезное видео. Я как раз изучаю Python и мне как раз нужно больше знать про него. А ты очень хорошо и доступно объясняешь всё!
@t0digital
@t0digital 4 года назад
Отлично, спасибо за отзыв!
@kosatchev
@kosatchev 4 года назад
Заждались уже!
@owlbaseline
@owlbaseline 4 года назад
Круто. Прям как родного человека увидел. В моих подписках это единственный канал, где мало подписчиков, но приятно смотреть каждое видео, душу греет твой контент, твоя подача и твои эмоции. Ждём побольше твоих наблюдении или же мыслей о программировании и о технологиях. Спасибо большое.
@xander-on-the-earth
@xander-on-the-earth 4 года назад
Хорошо сказано.
@t0digital
@t0digital 4 года назад
Большое спасибо за такой отзыв! Это очень приятно. Будем продолжать!
@alex94soin
@alex94soin 4 года назад
Картинка отличная, а цветкор даже может и лучше чем раньше 😁
@BohdanKokovych
@BohdanKokovych 4 года назад
Я знал некоторых скептиков, которые смеялись над python и называли его языком для школьников и видеоблогеров. Но потом попробовали написать на нем небольшой пет-проект... и после этого - python их любимый язык :) Потому что на нем приятно писать и приятно читать уже написанный код. Каждый язык имеет свои плюсы и минусы, но python - one love :)
@t0digital
@t0digital 4 года назад
Питон хорош, даааа!
@Z417O
@Z417O Год назад
Хз, пытался понять пайтон код куда менее приятно читается чем java
@princmanjuyskiy2347
@princmanjuyskiy2347 Год назад
...и это потрясающе ;)
@vitaliy.sergeev1
@vitaliy.sergeev1 Год назад
@@Z417O я уже неделю учу Java Ввод данных: BufferedReader = new BufferedReader (InputStreamReader(System.In))); Сегодня решил «поиграться с питоном» (pun intended). Ввод данных: a = int(input()) Да, во втором случае это Integer, а не String, но камон! Как его не любить за вот эту простоту и понятность? выглядит прям чудесно
@Z417O
@Z417O Год назад
@@vitaliy.sergeev1 хз, я ридер за день запомнил концепцию)
@ayrattalipov1915
@ayrattalipov1915 4 года назад
Отличный контент и подача!
@t0digital
@t0digital 4 года назад
Спасибо!
@SergeyGurianov
@SergeyGurianov 4 года назад
Спасибо) познавательно
@user-ew2pd6fq8j
@user-ew2pd6fq8j 3 года назад
Все супер бро, даже придраться не к чему)), но расти всегда есть куда... успехов! Лично хотелось бы видеть более глубокий анализ тех или иных аспектов, но сильно сомневаюсь что такой тяжелый видос будут смотреть остальные))..., в любом случае спасибо за контент. Ты мощь :)) И да - звук и видео 5+, ультра есть, все волосики в носу видно:DD (шутка утка)
@b-o-t-l-y
@b-o-t-l-y 4 года назад
Все круто. Спасибо за конкретный пример!
@vvvetohin
@vvvetohin 3 года назад
Интересно, спасибо!
@illiatanasiuk8904
@illiatanasiuk8904 4 года назад
Картинка топ, круто что вернулся
@t0digital
@t0digital 4 года назад
Спасибо!
@sergiyr9152
@sergiyr9152 2 года назад
главное преимущество пайтона - это быстрая разработка (простота языка и хороший набор библиотек)... к примеру: я трачу несколько дней на разработку бекенд скрипта который собирает данные с DAQs, причем в моем скрипте я запускаю N процессов которые одновременно работают с приборами и синзронизируються через кью и я скажем считываю данные каждую секунду в течении года... и все это работает на питоне и не глючит... я как то задумался, а сколько бы времени у меня бы заняло то же самое написав бы я это на си... ну и там эстимейт: недели и гемор в отладке мултисрединга, чтобы все было стабильно в течении года и мемори менеджер бы не положил бы апп (может пришлось бы писать кастом мемори менеджер для алокейшена диалокейшена памяти)... и как бы да питон он медленный ну при работе с приборами основная часть времени это network (io bound) communication... маленькие проекты и прототайпинг это ниша питона... с большими проектами и там где ты не автор (у меня есть комуникационный фрамеворк там десятки тысяч линий кода), ну да, там страшно тронуть без юнит тестов...
@user-V5YYil5pRv
@user-V5YYil5pRv 4 года назад
Аргументация в пользу функции len() вместо метода length() мягко говоря притянута за уши. Чем плох подход с использованием интерфейсов? Например Countable, Iterable и т.д. в подобного рода универсальных функциях работающих с последовательностями? Или почему len() а не length() в таком случае? Чем это круче чем count() в php? Реализовав интерфейс Countable который требует наличия метода count() в любом классе так же позволяет использовать класс в стандартной архаичной функции count(), но тем кто любит OOP при этом ничего не мешает использовать метод .count(), который гарантируется интерфейсом Countable, и забыть про архаичные некрасивые функции в своем коде.
@user-zi6vc6ty5e
@user-zi6vc6ty5e 3 года назад
Даже не так. Нету аргументации len() vs length()! Автор зачем то сравнивает len() в питоне против функций поиска в PHP. Чё к чему?
@elsaturnus2331
@elsaturnus2331 2 года назад
Чё ?)
@objgrb
@objgrb 2 года назад
Тем что Len можно переопределить)
@indigoram89
@indigoram89 2 года назад
ага
@FILA2209
@FILA2209 4 года назад
Спасибо! Картинка супер, все красиво, ничего не отвлекает!)
@t0digital
@t0digital 4 года назад
Спасибо за отзыв!
@user-ee1lx1pe7n
@user-ee1lx1pe7n 3 года назад
Шикарно! Я в восторге)
@reaexp
@reaexp Год назад
0:00 О чем будем говорить в видео 1:27 Языки, на которых я писал, и почему выбрал Python 2:31 Причины выбрать тот или иной язык программирования 3:19 Средний PHP vs Python разработчики 4:22 Академичность, лаконичность и красота Python 6:05 Продуманность архитектуры Python на примере len 10:56 Композиция вместо наследования 12:04 Каждый аспект языка распространяется на весь язык 12:59 Python медленный? 14:15 Выводы
@aleksandr4626
@aleksandr4626 2 года назад
В шарпе прикольнее, там после объекта ставишь точечку и копаешься в подсказках, чтож тебе щас нужно, length, count, size или еще что то)) Но в нем функция ограничена скобочками, это сильно упрощает жизнь. Будь на него побольше библиотек остался бы на нем. Но на питоне жизнь играет новыми красками, и вкатив всего лишь одну лишнюю табуляцию в код можно ненароком улететь на луну вместо сходить за хлебом. Это очень сильно напрягает, приходится по нескольку раз проверять.
@AndreyChursin
@AndreyChursin 4 года назад
огонь! расскажи ещё и про саму работу над проектами (какие методы или без них, обычный трелло или другое)
@t0digital
@t0digital 4 года назад
Расскажем!
@sorokousov
@sorokousov 4 года назад
Отличный формат видео! Я переподписался) Продолжай в том же духе.
@t0digital
@t0digital 4 года назад
Спасибо! Будем продолжать 💪
@koderlinux315
@koderlinux315 4 года назад
Картинка хорошая 👍 звук огонь🔥. Хотелось бы видеть видос от вас про машинное обучение и почему именно Python а не какой то другой язык . Спасибо 😌
@slavaviktorov6053
@slavaviktorov6053 4 года назад
Потому что Пайтон из академической среды. А все машинное обучение это математика. Поэтому большинство библиотек на Пайтон.
@daanl88l
@daanl88l 4 года назад
@@neshkeev Ну то есть основа С/С++? :-D А основа - читай мейнстрим (это к 0:41).
@MaPeHuH
@MaPeHuH 4 года назад
Очень интересно! Я сам кожу на python, но о таких интересных моментах не задумывался! Очень рад что Вы вернулись, спасибо за видео! P.S. люблю проги под консоль а не gui. Хотелось бы и услышать про плюсы и какой модуль tui лучше юзать
@user-cb4px8lp9x
@user-cb4px8lp9x 3 года назад
Отличная подача материала. Смотрел с удовольствием)
@t0digital
@t0digital 3 года назад
Спасибо!
@serhii.chumachenko
@serhii.chumachenko 4 года назад
спасибо за видео
@seidakhmetazat
@seidakhmetazat 4 года назад
И картинка, и звук на том же уровне что и был. Буду рад и дальше смотреть вас.
@user-cm1ri1sn2u
@user-cm1ri1sn2u 4 года назад
вы приятный, спасибо за информацию
@olegvi5183
@olegvi5183 4 года назад
молодец что вернулся
@nikitanikitenko5338
@nikitanikitenko5338 4 года назад
И картинка обалденная и содержание. Всё круто!
@t0digital
@t0digital 4 года назад
Спасибо!
@antonmullakhmetov707
@antonmullakhmetov707 4 года назад
Спасибо
@toster8240
@toster8240 4 года назад
Спасибо за позитивный ролик на интересную тему!
@user-vz6gc4hv2f
@user-vz6gc4hv2f 3 года назад
Спасибо братик!
@Michael201078
@Michael201078 3 года назад
Все правильно расказано! Спасибо!
@spappinventor2850
@spappinventor2850 4 года назад
В Python тоже есть рассогласования. Смесь функций и методов. О пока писал как раз про len начали, что меня и напрягает иногда. Мне было бы нормально Garage.length() Не надо запоминать функция или метод класса. А Python конечно суперный, особенно огромный набор вполне производительных модулей)
@hnariman_
@hnariman_ 4 года назад
Очень интересно было бы посмотреть видео про паттерны в ООП на Питоне. Ресурса на эту тему качественного мало, понятного еще меньше ) У Вас все понятно, без лишнего.
@t0digital
@t0digital 4 года назад
Спасибо, такой материал есть в планах
@mrchysenyt8455
@mrchysenyt8455 2 года назад
На степике есть классный курс по ООП на пайтоне
@spair2k
@spair2k 4 года назад
Благодарю за подачу. Очень позитивно и наглядно. Картинка четкая, было бы любопытно взглянуть не перечень оборудования. Прикольно выглядят вставочки кода в реальном времени. Безусловно, качество информации отличное, можно применять прямо после просмотра. Получил еще одну (очередную) пригласительную для погружения в этот язык. Вы смогли привлечь мое внимание. Желаю удачи в труде и творчестве!
@t0digital
@t0digital 4 года назад
Спасибоооо! «было бы любопытно взглянуть не перечень оборудования» - BMPCC original (2012го года) + Sigma 17-50 f2.8 + переходник Aputure DEC. Для звука Zoom F1-LP. Светильники - основной Jinbei EF-150 с октобоксом Selens на 90см, подсветка Aputure Al-F7 и Aputure M9.
@filoretstavrigin2646
@filoretstavrigin2646 4 года назад
Здорово!
@ruslan_yefimov
@ruslan_yefimov 4 года назад
Огромное спасибо за просвещение в IT сфере) Тебя смотрит человек 15 с нашего потока (Украина, НТУ ХПИ, программная инженерия)
@t0digital
@t0digital 4 года назад
Привет Украине! Рад, что смотрите - приятно:)!
@PielogGames
@PielogGames 4 года назад
Хпи помойка
@shalyayura5899
@shalyayura5899 3 года назад
Залог успеха - диплом Политеха 😉
@iooi6274
@iooi6274 4 года назад
Ну так композиция есть в любом ООП языке. А так же агрегация. Наследование это один только из видов связи между классами. В чем продуманность python-то? В том что нет констант? в GIL? У итерируемых объектов нет даже методов для итерации(map, each, select и тд). В том что нет модификаторов доступа? в том что нужно в каждый метод писать self/cls, а все потому что метод находящийся в классе это объект, который никак не зависит от самого класса. Захочешь проверить существует ли переменная: пишешь цикл итерирующий имена всех переменных и сопоставляешь их с переменной которую нужно проверить.
@anatolyalekseev101
@anatolyalekseev101 4 года назад
насчёт проверки существования переменных не понял, чем 'var' in globals() не устраивает? в остальном согласен...скорость-говно, отладка-говно, библиотеки UI есть, и даже кроссплатформенные, но.. вы поняли. В добавок ко всему после "оптимизации" exec ещё и функциональность кастрировали. И сидят апологеты Питона, на полном серьёзе радуются своему кастрированному медленному детищу. Dzen of Python, лично как по мне - говно полное, набор бессмысленных фраз, которыми разработчики ядра прикрывают свою некомпетентность и лень. Visual Basic 6 должен быть стать тем, чем стал современный Питон в смысле популярность, если бы дебилы из Мелкософт не придушили собственного подающего надежды ребёнка в колыбели.
@BagiM3
@BagiM3 4 года назад
@@anatolyalekseev101 разработчики ядра питона ленивые и некомпетентные, разрабы в майкрософте дебилы, но зато анатоля алексеев точно шарит что к чему в индустрии.
@intrepidsouls
@intrepidsouls 4 года назад
@@BagiM3 заебали эти ютубные программисты. Нахватались терминов из Википедии, и прикрывают ими свое слабоумие.
@intrepidsouls
@intrepidsouls 4 года назад
в питоне есть модификаторы доступа. и в каждый метод не надо писать self. Не нравится GIL - используй asyncio.
@pythonsmartchallenge9309
@pythonsmartchallenge9309 4 года назад
Очень круто объяснил)
@t0digital
@t0digital 4 года назад
Спасибо!
@touchdownscale
@touchdownscale 4 года назад
Красава! Отличная картинка!
@t0digital
@t0digital 4 года назад
Спасибо 💪
@user-ts8rf2fo3j
@user-ts8rf2fo3j 4 года назад
Можешь написать модуль на си, и использовать его в пайтоне? Интересно посмотреть как это делается.
@garrygaller2853
@garrygaller2853 4 года назад
ctypes, docs.python.org/3.8/library/ctypes.html
@alexanderkorshkov1904
@alexanderkorshkov1904 4 года назад
Я так и не понял, почему глобальная функция len круче, чем если бы она была методом класса. Особенно учитывая, что метод __len__ всё равно нужен.
@a.osethkin55
@a.osethkin55 2 года назад
+
@timapigolev1640
@timapigolev1640 2 года назад
Смысл в унификации и стандартизации. Каждый разработчик может в своём классе назвать метод либо len, либо length, либо count, либо size и т.д. В пайтоне ненужно держать в голове в каком классе какой метод писать.
@user-yu5qg4jc3l
@user-yu5qg4jc3l 4 года назад
Лайк, как минимум, за то, что предупредил с какого момента начинается актуальная информация согласно названию ролика. А вообще, сам пример, мне был полезным.
@t0digital
@t0digital 4 года назад
Спасибо за отзыв!
@user-zy6fx6yi4v
@user-zy6fx6yi4v 2 года назад
Здорово! Мне понравилось.
@dmitrypetrov8491
@dmitrypetrov8491 2 года назад
Это все очень простые примеры, безусловно красивые. Проблемы возникают на больших проектах, когда нужно что-то порефакторить) А еще переносы строк в виде бэкслэшей - безусловно очень продумано D:
@beard_cat_sweater
@beard_cat_sweater 4 года назад
5:35 Всё верно! Это мегакрутая фишка! Чуть более года назад import this покорил меня, и с тех пор я переключился на питон (кстати, сам его называю то пайтон, то питон).
@serenitiSever
@serenitiSever Год назад
Как же знатно и смачно грохнулась ручка на пол! Алексей умело выкрутился из ситуации! Респект!
@Artymka
@Artymka 4 года назад
Хороший обьясняет. Молодец . Спасибо за ролик.
@t0digital
@t0digital 4 года назад
Спасибо!
@t0digital
@t0digital 4 года назад
Мы вернулись - уррра:)!
@easymoneydamnsniper
@easymoneydamnsniper 4 года назад
С возвращением, Алексей! Дальше - больше)))
@donotsuicide
@donotsuicide 4 года назад
Посмотрел на одном дыхании. Спасибо!
@we1come32
@we1come32 4 года назад
Я привык, что стол находится на уровне бедра если стоишь, но не так высоко
@dmitrijponkin
@dmitrijponkin 4 года назад
Круто! С возвращением :)
@mentatij
@mentatij 4 года назад
рады снова видеть! 1) картинка приятная, но чуть с фокусом мне кажется промазали (попали на руки, а не на лицо) 2) "котаны" где ? сменили формат ? по контенту: мы задаем атрибут класса "_cars" как list ([]), а все что делают методы, по сути, это перенаправляют обращение от экземпляра класса к его атрибуту ? да, это композиция - но как-то без "следующего видео, почему композиция это лучше наследования" фокус выглядит не впечатляющим )
@user-oq5sd3pi1b
@user-oq5sd3pi1b 3 года назад
Вот чего не хватало все эти годы на русскоязычном контенте соц.сети. Спасибо тебе. Ты делаешь добро доступным и понятным как для начинающих, так и для продвинутых. Благодаря тебе я решил изучить Python.
@isteriquerires
@isteriquerires Год назад
Это потрясающе!
@pavlenkoat
@pavlenkoat 4 года назад
Всем :-)
@user-ms1sn3rn9h
@user-ms1sn3rn9h 3 года назад
и осознавая всё это просто наблюдаем? Надо объединяться! И действовать юридически чисто! Все остальные способы будут подавлены псевдогосударством! Для выхода из системы ссылка в профиле
@Maximiliamusus
@Maximiliamusus 4 года назад
Здравствуйте! Расскажите, пожалуйста, о плюсах и минусах наиболее популярных языков программирования, таких как C, C++, C#, Java, Python, Ruby, JavaScript, PHP и тд , а также об их перспективах. Какой язык лучше выбрать в качестве первого? Какой язык больше подходит для веб-разработки? Какой язык больше подходит для фриланса?
@486OverDrive
@486OverDrive 4 года назад
Выбирай один из этих: Java, Python, JavaScript и будет тебе счастье... лет через 5, если осилишь. Хотя, с последним счастье может настанет и раньше, но в меньшей степени.
@t0digital
@t0digital 4 года назад
Привет! «веб-разработка и фриланс» - Python & Django, JavaScript & Vue.js или React. Джаву и остальных на фрилансе вы почти не найдете. PHP не надо, по нему на фрилансе задач много, но просто не надо:)
@486OverDrive
@486OverDrive 4 года назад
@@t0digital насчёт PHP - согласен 100%, его лучше не надо ))) А про Java - не совсем так. Если под Android, то и на фринсе можно и самому поделки делать. И опять-же почему только фриланс? Есть варианты просто удалённой работы на Java - ничем не хуже фриланса. Может мне так повезло, но в основном знакомые мне фрилансеры (кого знаю лично) приходят либо к тому, что бы найти постоянного заказчика (считай работать удалённо на полную ставку) либо становятся тренерами (ведут курсы и тренинги) либо подымают какие-то свои проекты. Фриланс в классическом понимании "нашёл заказчика, сделал заказ, пошёл искать другой заказ у другого заказчика" - очень изматывает либо приносит мало $. Так, что не зацикливайся на фрилансе. Особенно, если твоя мотивация - "лишь бы не переезжать из моего Мухосранска в крупный город". Кстати, расскажи (вопрос к Maxim Reshetnikov), если не секрет - зачем тебе фриланс? На какой уровень дохода ты рассчитываешь выйти через 3-5 лет после начала работы?
@Zzepish
@Zzepish 4 года назад
@@t0digital а почему php не надо? Куда лучше, чем js (если берём вкусовщину)
@t0digital
@t0digital 4 года назад
@@Zzepish js сейчас фулстек, круто умеет в асинхронность, и недавно узнал, что даже в яндекс куча серверного ПО, принимающего и обрабатыывающего запросы, работает на js + даже полу-админские утилиты пишут уже не на баш, перл или питон, а на js. Этот малыш уже не малыш:)
@russoprano2288
@russoprano2288 4 года назад
Лайк подписка!! Топчик!
@act0r399
@act0r399 4 года назад
Снимай больше про питон, тебе нереально круто слушать)
@t0digital
@t0digital 4 года назад
Спасибо! Буду продолжать
@MXMPWASHERE
@MXMPWASHERE 4 года назад
Классная клавиатура, с возвращением
@t0digital
@t0digital 4 года назад
Спасибо!
@Jorinio_98
@Jorinio_98 4 года назад
@@t0digital is it python keyboard?
@t0digital
@t0digital 4 года назад
@@Jorinio_98 обычная механическая клавиатура с нарядными кейкапами
@dungeonstar860
@dungeonstar860 4 года назад
Js тоже испробует методы C да походу везде так все круто
@samrybkin9184
@samrybkin9184 3 года назад
Привет какую хорошую книгу по linux посоветуешь? Может какую читал?
@RyboSSSik
@RyboSSSik 2 года назад
Спасибо за инфу))
@McSpace2008
@McSpace2008 4 года назад
Слабая аргументация. “ мы не наследуемся , но реализуем интерфейс»
@t0digital
@t0digital 4 года назад
Чтобы реализовать интерфейс, надо реализовать все его методы - это не реализация интерфейса
@user-fe1dd4bd8f
@user-fe1dd4bd8f 4 года назад
@@t0digital реализация интерфейса несет в себе преимущества во всяком случае в языках со строгой типизацией. К примеру, вот мы хотим принять что-то, что итерируется, будто коллекция, последовательность, датасорс, работающий с удаленным сервисом, мы и говорим, что принимаем iterable. В Python же в этом нет необходимости, там утиная типизация, любую гадость передаешь, тип и набор допустимых операций разрешается прямо в рантайме. Безусловно это лучше наследования 10 из 10ти.
@user-we4jg5yy4d
@user-we4jg5yy4d 4 года назад
​@@t0digital Представьте команду разработчиков котора трудиться над созданием своего приложения, которое должно встраиваться в среду с разными базами данных (разными провайдерами: MySQL, MSQL server и т.д). Ваше приложение имеет поле, которое по сути являеться драйвером(упрощение и обобщение, там не драйвер а кое что другое) для подключения к той или иной бд. Естественно, если это язык со сторогой типизацией, начинаються проблемы в стиле "как проверить инстанс", что угодно в это поле не засунешь. Какой то свич кейс туда это и не красиво, и не практично, ведь если будет развиваться приложение... что, каждый раз туда свичкейс пихать?. Вот тут на помощь приходят интерфейсы (или же полностью абстрактные классы) которые содержат регламет и гарантируют что любой класс который реализует этот интерфейс реализовал все его методы, что гарантирует что у каждого такого класса будет метод например ConnectToDB. В такой ситуации человек который работает над самим приложением не задумываеться о том какой класс реализует этот интерфейс, а человек который занимаеться написанием класса для подключения к дб не париться о архитектуре подключаемого приложения. В случае если кто то накосячит, будет более-менее четко видно где ошибка. В случае же пайтона начинаються проблемы, ведь для подключения можно закинуть абсолютно любой класс, из за чего может быть ситуация без ошибки но с unexpected behaviour(приложение не ведет себя как задумывалось), хорошо если вы делали этот проект для себя. Однако, если это фреймворк с 10+ модулями и он уже где то используеться... Безсонные ночи за отладчиком обеспечены. P.S да-да, работа с исключениями кое-как решает эту проблему, но не всегда можно грамотно ими покрыть приложение. В общем, строгая типизация рулит, как собственно C/C++/C#/Java. пайтон конечно лучше чем PHP/Javascript но он из той же компашки... Его вытаскивает грамотная реализация и куча либ на все случаи жизни
@FrolovDaniil
@FrolovDaniil 4 года назад
@@user-we4jg5yy4d У питона есть для этого: docs.python.org/3/library/typing.html habr.com/ru/company/lamoda/blog/432656/ Крутость в том, что питон позволяет тебе делать так или не делать, он не ограничивает, а направляет. Но, должно быть четкое понимание, что это, почему это хорошо и надо использовать или почему что-то плохо. В более строгих java-x у тебя просто выбора нет, вот и вся разница.
@xezdx
@xezdx 4 года назад
​@@user-we4jg5yy4d С первой частью согласен, но что он лучше ПХП или JS - спорно очень, это языки для разных задач. В ПХП, кстати, можно задать определенные типы как на входной параметр, так и возвращаемый типа func(TYPE1 $var):TYPE2{}. Причем этим удобно пользоваться даже если база одна. Так как язык не типизированный, то IDE часто не знает какие методы есть у передаваемых объектов. А если задать setDB(DB $db), то и PHP будет прерывать выполнение в случае ошибки, и IDE нормальная типа Эклипса будет подсказки давать.
@nikolaymatveychuk6145
@nikolaymatveychuk6145 4 года назад
Ну сравнивать python с php это, конечно, сильно. Ну да ладно. Давайте тогда и правда начнём сравнивать, но не предвзято (мне тоже очень нравится питон, но он нравится мне после его критического анализа, а не самоубеждения в его крутости, и в основном он удобен облегчённым синтаксисом). Итак, len объявлено хорошей фичей потому, что мы всегда знаем как её вызывать. Спешу обрадовать, в php есть такой интерфейс countable, который реализуется всем, что может быть посчитано. И я знаю, что если захочу узнать длину чего-то, ты вызову или $some.count() или count($some), и если класс написан верно, то получу правильный ответ! Насчёт getitem - в пхп есть интерфейс под названием ArrayAccess, который если реализовать в классе, сделает его представляемым в виде массива. Ну то есть с ним можно будет работать как с объектом, а можно и как с массивом. И вот тут так много было сказано, и можно было бы подумать, что в пхп мы наследуемся, но ведь НЕТ!!! Мы тоже не наследуемся, мы интерфейсы реализуем :) Насчёт разного порядка аргументов в функциях - да, это плохо, но это нисколько не мешает разработки при пользовании нормальной IDE. Вот разные принципы именования, как в случае с strpos и str_replace реально иногда мешают, но опять же не сильно (хотя бы потому, что подобные функции редко когда пользовать уже приходится, пхп давно глобальненько на ООП перешёл, потому с такой низкоуровневой абстракцией как строка работать приходится крайне редко. Честно, я уже и забыл, что там такой косяк есть, ну кроме как в функции htmlspecialchars :)) Насчёт библиотек на Си. Кажется у питона механизм немного попроще и преимущество в том, что он библиотеки сишные может грузить динамически, но спешу снова удивить, ведь модули ПХП тоже на Си писаны :)) И в случае крайней необходимости можно свой модуль для пхп написать, активировать его и получить быстродейственный код. И можно было бы сказать типа "фу, свой модуль писать ради пары функций в одном проекте", но если подумать когда нам в принципе нужен код на Си в проекте на питон или пхп, то сразу станет ясно, что ничего преступного в таком небольшом излишестве нет. В общем сильно предвзято и многое неверно, а потому дизлайк (ощущение, что питон сравнивается с пхп года так 2010-ого... то есть версии там 4.2 или какая тогда была, уже не помню)
@alexxx4434
@alexxx4434 4 года назад
Всяк кулик своё болото хвалит.
@nikolaymatveychuk6145
@nikolaymatveychuk6145 4 года назад
@@alexxx4434 Ну так это ведь и неправильно. Надо не своё болото хвалить, а то, в котором реально получше. Например я хоть и пишу в основном на php, но его хвалить я бы точно не стал :) Ну правда, там уже 6 версий подряд не могут нормальную статическую типизацию прикрутить и сделать наконец-то нормальную проверку типов при компилировании, а не в рантайме, когда всё уже упало и оно такое "эй, чел, у тебя всё упало" или итого хуже "стоимость заказа с учётом скидки: -20 руб." :) Ну и как в видео уже озвучили, есть и другие минусы (к счастью их сейчас начинают устранять). Проблемой видео является то, что пхп приписали минусы, которых в нём нет, при этом ни один минус питона заявлен не был. Если это сравнительная характеристика двух языков, то явно нездоровый подход к задаче :) Например я большим минусом питона вижу отсутствие в нём интерфейсов и отсутствие областей видимости атрибутов и методов класса (там вроде есть какие-то хаки, но на уровне базового синтаксиса языка это отсутствует). Помню когда игрался с питоном, там не было нормальной либы для работы с mysql, и приходилось возиться с курсорами, при чём получить на выход нормальный словарь было невозможно, оно возвращало массивы и потом надо было самостоятельно сопоставлять значения с названиями столбцов таблицы (правда не знаю насколько сейчас это актуально и возможно я просто недостаточно разобрался и всё могло быть лучше, чем мне показалось). Ну короче думаю идея понятна: сравнивая, нужно реально сравнивать, а не нахваливать :)
@alexxx4434
@alexxx4434 4 года назад
Согласен. Почему не объективно дают оценку разнообразные креаклы может быть множество факторов. По этому нужно самому критически фильтровать информацию.
@nkhitrov
@nkhitrov 4 года назад
С возвращением! Картинка вроде не сильно поменялась, да и это не особо важно)
@t0digital
@t0digital 4 года назад
Спасибооо! Будем продолжать!
@Vjidowkdkcpapqkfjfw
@Vjidowkdkcpapqkfjfw Год назад
И, это потрясающе!
@denis0ru
@denis0ru 4 года назад
Спасибо за Ваши видео! Подача приятная, хронометраж универсальный. Про Python... Не убедили - остаюсь на PHP + Symfony. :) Готовлюсь переезжать на PHP 7.4, жду 8.0. Там и FFI допилят и JIT завезут. Может ещё асинхронщины на уровне языка добавят. Скорость уже несказанно радует, по синтаксису уже большинство моих хотелок реализовали. Остальное сделано в многочисленных библиотеках и инструментах.
@Anatolya8
@Anatolya8 4 года назад
2 замечания: 1) Рад вашему возвращению на ЮТ 2) ДИКО крутой сетап!
@t0digital
@t0digital 4 года назад
Спасибо, приятно!
@shine2368
@shine2368 4 года назад
Как всегда отлично, грамотно, по теме
@t0digital
@t0digital 4 года назад
Спасибо!
@shine2368
@shine2368 4 года назад
Диджитализируй! Дело в том что недавно сам начал изучать пайтон и был приятно удивлён тем что все очень доступно. входной порог очень низкий.
@AndrewBednoff
@AndrewBednoff 4 года назад
Автору респект - интересное и полезное видео! 10:35 в языках программирования это называется ортогональностью. Python ортогональный язык, в проектировании которого главенствует этот принцип, поэтому язык и его stdlib (и другие сторонние библиотеки) вызывают ощущения лаконичности и продуманности. Ещё в таких языках как Nim и D есть единообразный синтаксис вызова функций (Uniform Function Call Syntax, UFCS - en.wikipedia.org/wiki/Uniform_Function_Call_Syntax), который позволяет использовать код как самостоятельную функцию, либо как метод объекта/класса (а также использовать method pipelining, создавать extension methods), что реализует в свою очередь концепцию слабосвязности (loose coupling) в языке для большего удобства композиции.
@t0digital
@t0digital 4 года назад
Спасибо! Не знал про понятие ортогональности языка, почитаю!
@xander-on-the-earth
@xander-on-the-earth 4 года назад
Полностью согласен. Шикарное видео! Но, для остроты дискуссии… Часто сталкиваюсь с мнением, что Python не оправдал надежд, не стал языком «всех времён и народов», как ему пророчествовали некоторые. В то же время иногда кажется, что PHP скоро завоюет Вэб полностью, и наше любимое Джанго останется играть только для монстров типа Инстаграм и маргинальных личных проектов. Если наш Python настолько притягателен, почему не видно готовых решений уровня Битрикс, выгодных как для бизнеса, так и для разработчиков? Почему тренды не отражают соотношение «хороший Python/плохой PHP»?
@t0digital
@t0digital 4 года назад
Битрикс - дурно пахнущий кусок *овна, его популярность не обусловлена ни технологичностью, ни функционалом решения, они просто первые подсуетились с развитием партнёрской сети студий. Частый кейс использования php - cms, это не очень характерно для python, и я не вижу в этом проблемы, написать условный Битрикс или WordPress на питоне можно, но это не сделает автоматически эту cms популярной и откровенно не имеет большого смысла. Удел php как раз очень узок - по сути только cms, для чего-то большего использовать можно, но опасно из-за общей низкой культуры кода, а питон используется от построения больших систем (Odoo ERP и тд) до анализа данных, нейросетей, линукс утилит, утилит администрирования, утилит инф безопасности, бэкенда мобильных приложений и тд. В Яндекс едва ли пишут на php, а на питоне - да много чего.
@xander-on-the-earth
@xander-on-the-earth 4 года назад
@@t0digital, да я ж не спорю. Всё верно: и про узость ПХП, и про общую культуру кода, и про то, как иногда важно быть первым. И тем не менее распространенность ПХП несравнимо выше чем у Питона не смотря на все недостатки первого и все достоинства второго. За змеюку обидно!
@SantaCluster
@SantaCluster 4 года назад
@@xander-on-the-earth всё в ваших руках ;)
@stepanyk
@stepanyk 4 года назад
php дешевле в поддержке за счёт более дешёвых программистов, обратная сторона того, что средняя квалификация выше. А существенной разницы для конечного пользователя сайтов при этом нет. Зачем на каком-нибудь сайте приносящем от силы 3000 руб в год python?
@nikolaymatveychuk6145
@nikolaymatveychuk6145 4 года назад
@@stepanyk Вы себе слабо представляете, наверное, сколько на самом деле могут приносить сайты. Вот чисто забавы ради, открываю один из сайтов у нас на поддержке, за 14-ое декабря оплаченных заказов на 170к рублей, и ещё столько же неоплаченных (ждут оплаты). Если сайт приносит 3к рублей в год, то надо задуматься о том, нужен ли вообще такой сайт :) А ситуация на рынке вызвана вовсе не тем, что у продуктов на php маленькие доходы, и потому там пхп, а потому, что php захватил рынок в силу своей простоты, охвата большой части аудитории и низкого порога входа. Хочешь говносайтик - найми студента, который за бутерброд готов тебе пару страничек заверстать и повесить визуальный редактор, и получишь нужное тебе недоразумение за 5-10к рублей. Нужен нормальный магазин - найди квалифицированную команду, заплати им 100-200к рублей и получишь, что надо. Хочешь крутой проект уникально под себя (то, чего никому никогда ещё не писали), с кучей разных крутых автоматизаций и фич - найди компанию с высоким уровнем траста, заплати им 500-1000к, и получишь что тебе надо. А с последнего времени php по производительности нисколько питону не уступает, а потому переход на питон для выдерживания нагрузок является уже не очень целесообразным (по-моему пхп уже даже чуть быстрее стал). Насчёт "нет существенной разницы для конечного пользователя" - если мы говорим про владельца сайта, она очень даже есть :) Сейчас на пхп разве что собаки программировать не умеют, наверное :))) потому если надо внести какие-то небольшие правки при разрыве отношений с разработчиками сайта по тем или иным причинам, то найти человека, которую это правку может выполнить, на пхп намного проще, чем на питон. И цена такой правки будет очень сильно отличаться. Так что тут разница есть, и не в пользу python, и умные клиенты это понимают.
@enrewardronkhall8340
@enrewardronkhall8340 2 года назад
Python со своими правила хорошего тона, описанными в PEP8, в качестве первого языка не стоит брать, потому что учит написанию более нативного кода, когда как для новичков очень важно научиться писать правильный по канонам программирования структурный код. Он был бы идеальным языком для обучения программированию, если бы не это "но". Конечно, если человек будет учиться программировать с наставником, который занимается разработкой, например, на C, то тогда можно смело давать основы программирования на примере Python. С другой стороны, научиться писать код, не значит научиться разрабатывать ПО, а именно это должно быть главной целью в обучении. Так что основы программирования можно давать на примере Python, но это не панацея для новичков. Если человек хочет обучиться программированию электроники, то ему врятли имеет смысл начинать Python, пока его microPython версия не разовьётся. А если новичок хочет разрабатывать игры, то легче сразу начинать с С# или C++
@Qustin
@Qustin Год назад
Игры на питоне писать вообще умора. Как и каждый язык, питон имеет своё применение и сферы где он слаб. Конечно можно написать игру на питоне но крупнее инди игры вряд ли что получиться. Но даже в сферах где питон слаб, можно это решить если постараться. Тут дело больше в том что вам надо и какие возможности. Есть сферы где проще на другом языке написать. А есть те которые проще на питоне. Спорить что лучше бессмыслено. Это всего лишь гибкий инструмент который можно реализовывать по разному. Всё зависит от вашей реализации и задачи
@enrewardronkhall8340
@enrewardronkhall8340 Год назад
@@Qustin скажи это EVE Online, Battlefield, Mount&Blade, Sims4, Civilization IV
@Qustin
@Qustin Год назад
@@enrewardronkhall8340 И сколько там в процентах чистого питона?
@insegretus9238
@insegretus9238 4 года назад
Качество классное, материал интересный! Лайк, подписка. А ещё ты похож на По из "Кунг-фу панда" ))
@t0digital
@t0digital 4 года назад
Вот это поворот, похож на По:)))
@antonmullakhmetov707
@antonmullakhmetov707 4 года назад
картинка на мой взгляд хорошая)
@eremeevgroup2999
@eremeevgroup2999 4 года назад
а где такую милую клаву купил?
@t0digital
@t0digital 4 года назад
В geekboards. Мы думаем свой магазин клавиатур запустить в ближайшее время:) мы Salesbeat делаем, решение для магазинов по интеграции доставок, и поэтому нужен свой магазин, чтобы обкатывать на себе какие-то штуки
@user-dv9fk1hd3s
@user-dv9fk1hd3s 4 года назад
выглядит как кастом
@t0digital
@t0digital 4 года назад
@@user-dv9fk1hd3s это Leopold, не кастом. Но кейкапы же легко меняются на механике, так что закастомить можно легко
@SamGorodok17
@SamGorodok17 4 года назад
@@t0digital кстати очень интересная ниша кастомные клавы именно для коддинга, сам столкнулся с тем что не мог найти достойную механику без цифрового блока не за конский ценник и не светящуюся как новогодняя елка.
@vyaches9767
@vyaches9767 4 года назад
Сделай подкаст обучение питона с нуля. Было бы очень круто.
@DS-ls7ck
@DS-ls7ck 4 года назад
Купи книгу по питону и начинай. Какие проблемы?
@aleksei_kazantcev8133
@aleksei_kazantcev8133 4 года назад
Олега молчанова посмотри, он хорош
@aleksei_kazantcev8133
@aleksei_kazantcev8133 4 года назад
@@DS-ls7ck Не для всех книги подходят, особенно если новичок в чем то, сам знаю
@aaaaaaayyyyyyyyyyyyyy
@aaaaaaayyyyyyyyyyyyyy 4 года назад
Он жив!
@paveldukov
@paveldukov 4 года назад
Спасибо.
@serhii.chernenko
@serhii.chernenko 4 года назад
Не знаю пайтон от слова совсем, но 15 минут были максимально притянуты за уши, имхо
@lerr
@lerr 11 месяцев назад
Знаю несколько языков, посмотрел Пайтон и не увидел в нем ничего революционного.
@user-we6wp1ky7f
@user-we6wp1ky7f 4 года назад
Python конечно крут, но например такая фича как множественное наследование признана сомнительной. А вообще, аналог такого кода можно сделать наверно в любом ООП языке. Изучая любой ООП язык столкнёшься с тем, что паттерн наследования следует применять только там где есть отношение типа «является». Идея интерфейсов, которую не поддерживает Python, но есть к примеру в c# мне лично нравится больше. А композицию можно использовать опять же наверно в любом ООП языке. Короче, из данного примера не очень понятно, чем Python круче чем c# или Java
@FrolovDaniil
@FrolovDaniil 4 года назад
Множественное наследование - зло, но не всегда. Если, например, откроете Django, там во вьюхах (CBV) активно используются mixins(примеси), вот вам и пример практического хорошего множественного наследования.(это не только в джанге, просто для примера). Python предполагает, что разработчик знает, что это вещь сомнительная и не будет так делать, тут опять же про "средний уровень разработчиков"
@DenisG631
@DenisG631 4 года назад
@@FrolovDaniil "Python предполагает, что разработчик знает, что это вещь сомнительная и не будет так делать" - это называется плохой дизайн. "Короче, из данного примера не очень понятно, чем Python круче чем c# или Java" - согласен. Он круче, потому что лаконичней. Я не против питона, но у него есть свои косяки
@FrolovDaniil
@FrolovDaniil 4 года назад
@@DenisG631 Тобишь у С тоже плохой дизайн?)
@vereten0vet038
@vereten0vet038 4 года назад
Спасибо! Все круто
@MrNikobraz
@MrNikobraz 4 года назад
Очень крутой и лаконичный пример
@DarkIllusoire
@DarkIllusoire 4 года назад
@"мы не используем наследование", а работает все на магии хогвартс =))
@t0digital
@t0digital 4 года назад
Just a kind of magic!
@alexxx4434
@alexxx4434 4 года назад
Спасибо, понял, что надо учить Rust.
@t0digital
@t0digital 4 года назад
Asm, учить надо asm
@kybertohich1117
@kybertohich1117 4 года назад
Подписка и лайк, видео отличное, материал хороший, дикция у автора ролика приятна. Будет ли видео про асинхронность в пайтоне?
@t0digital
@t0digital 4 года назад
Спасибо! Про асинхронность будет
@dmitryratkevich1749
@dmitryratkevich1749 Год назад
И это потрясающе)
Далее