Python 3.8 - офигенный, а Гвидо больше не диктатор

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ธ.ค. 2024

ความคิดเห็น • 230

  • @rmatveev
    @rmatveev 5 ปีที่แล้ว +131

    очень круто сделал отображение кода на экране!

    • @t0digital
      @t0digital  5 ปีที่แล้ว +2

      Спасибо!

    • @aziznadirov2911
      @aziznadirov2911 5 ปีที่แล้ว +1

      А как это делается?))

    • @t0digital
      @t0digital  5 ปีที่แล้ว +5

      @@aziznadirov2911 режим наложения слоя Add в final cut

    • @meskirian
      @meskirian 5 ปีที่แล้ว

      Ага! И подсветка нажатий клавиш тож норм.

  • @aaaaaaayyyyyyyyyyyyyy
    @aaaaaaayyyyyyyyyyyyyy 5 ปีที่แล้ว +23

    Для тех, кто не понял, := это одновременно объявить и передать объект в качестве операнда. Раньше было так:
    a = 5
    if a > 10:
    pass
    Скоро станет так:
    if a := 5 > 10:
    pass

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Да, спасибо!

    • @Bobronium
      @Bobronium 5 ปีที่แล้ว

      Dalom к чему эти ужасные скобки?

    • @aaaaaaayyyyyyyyyyyyyy
      @aaaaaaayyyyyyyyyyyyyy 5 ปีที่แล้ว

      @@Bobronium да действительно, сейчас чекнул, оказывается не нужно, спасибо.

    • @vitalik100500q
      @vitalik100500q 3 ปีที่แล้ว +1

      Плохой оператор, смысл экономить 1 строку? Зато теперь менее очевидно

  • @dimamiskevich5250
    @dimamiskevich5250 5 ปีที่แล้ว +90

    3:40 я думаю ты показал неудачный пример, так как это и раньше не работало. У тебя кейворд аргументы функции называются x, y. А ты в вызове пытаешься присвоить значение по имени a, b.

    • @LoloKsyu
      @LoloKsyu 5 ปีที่แล้ว +11

      Тоже удивило

    • @t0digital
      @t0digital  5 ปีที่แล้ว +15

      Ты прав, это ошибка

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      @@Lokamp_ спасибо!

  • @t0digital
    @t0digital  5 ปีที่แล้ว +137

    Эх, медленно подписчики растут, похоже, пора пилить видео «самый лучший способ взломать Пентагон в 2019м», «как выучить Python за час», «как программисту заработать миллион» и «программируем утюг»:)

    • @albertkaraev4686
      @albertkaraev4686 5 ปีที่แล้ว +21

      Ну, зависит от цели, которую ты преследуешь. Понабегут школьники миллионами, но ты потеряешь нас, своих любящих и любимых котанов... 🐈 🐈 🐈

    • @albertkaraev4686
      @albertkaraev4686 5 ปีที่แล้ว +1

      Оу, только увидел, что так мало подписчиков... И правда, мало.

    • @GoshaSon
      @GoshaSon 5 ปีที่แล้ว +9

      @@albertkaraev4686 а мне наоборот Котаны уши режет. Ламповости оно не добавляет, добавляет лишь "простачковость", и начисто убивает ореол "профессионала", конечно последующее повествование его восстанавливает, но начало смазывает. Это при всём при том что разказчик мне импонирует.

    • @nnkaz1k856
      @nnkaz1k856 5 ปีที่แล้ว +2

      Мы не котаны, мы пайтоны́

    • @GoshaSon
      @GoshaSon 5 ปีที่แล้ว

      @@nnkaz1k856 не думаю что я один такой

  • @fullaccount3322
    @fullaccount3322 5 ปีที่แล้ว +7

    Мужик прошу продолжай!
    Очень хорошо объясняешь!
    Смотреть приятно

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Спасибо за приятный отзыв! У меня вынужденный перерыв сейчас th-cam.com/channels/9MK8SybZcrHR3CUV4NMy2g.htmlcommunity?lb=UgzFaINd0XVEa-eF72R4AaABCQ

    • @andrewkondrashov6485
      @andrewkondrashov6485 4 ปีที่แล้ว

      @@t0digital Поддержу. Легко заходит очень и интересно.

  • @8scarsboy
    @8scarsboy 5 ปีที่แล้ว +1

    Хороший обзор фич! Благодарствую

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Спасибо

  • @matrix_root
    @matrix_root 5 ปีที่แล้ว +28

    := и f'{name=}' вкатили.

  • @MavelRoll
    @MavelRoll 5 ปีที่แล้ว +8

    Новые фишки конечно интересно, но как на счет оптимизации работы пайтона? В этом направлении ничего не меняется у него?

    • @t0digital
      @t0digital  5 ปีที่แล้ว +6

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

    • @t0digital
      @t0digital  5 ปีที่แล้ว +4

      @@avazart614 если бы был на 100% универсальный язык, все бы писали на нём, поэтому конечно сначала задача, потом язык. Но Python близок к универсальному, а узкие блоки кода, где нужна max производительность и где она проседает, можно переписать на C, не меняя остальной код приложения, то есть остальные 99%, написанного быстро на Python.

    • @justkrybik
      @justkrybik 4 ปีที่แล้ว +1

      @@t0digital донести бы эти мысли моему шефу. Который после рукожопов понаписавших говнокод, как например 25000 SQL запросов для рендеринга одной страницы(и я не преувеличиваю((), решил на сях свою базу писать, потому что mysql слишком медленная....

  • @sammygun84
    @sammygun84 4 ปีที่แล้ว

    Привет посоветуй твой топ книг по linux пожалуйста.

  • @FoodMaks
    @FoodMaks 4 ปีที่แล้ว

    Круть, спасибо тебе большое!

  • @MrVindor
    @MrVindor 5 ปีที่แล้ว +1

    Огромное спасибо за видео, всегда по дело у очень полезно!

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      спасибо за отзыв!

  • @vovergg
    @vovergg 5 ปีที่แล้ว +5

    Да, новая фича с f-string мне понравилась.))

  • @egorkomarov4719
    @egorkomarov4719 5 ปีที่แล้ว +2

    Четко!
    Люблю твои видосы)

  • @007Riga
    @007Riga 5 ปีที่แล้ว +1

    Спасибо крутой канал!!!!

  • @paravozpendos3292
    @paravozpendos3292 5 ปีที่แล้ว +3

    Крутой канал, почему я раньше тебя не замечал?

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      Спасибо! Будет ещё много крутого:)

  • @Гошка-м4б
    @Гошка-м4б 4 ปีที่แล้ว

    Привет! Нашёл тебя недавно. Классно и легко смотреть, спасибо за хороший звук и отсутствие "эммм" и прочего.
    Имхо, можно так же в подобных видео добавлять чуть больше развёртывания, нежели "вот вам TypedDict”
    Если глянуть твоё видео про работы со сложными структурами, можно сделать вывод, что typeddict - тоже самое, что и namedtuple, основываясь на примерах, которые ты приводишь. И может сложиться представление , что этот тип в 3.8 - бесполезен (да, да, все мы знаем, что ничего в языки программирования не добавляется просто так)((кроме очередной библиотеки в JS)). В то время как на самом-то деле разница есть.
    Это просто обратная связь,не держи зла)

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Спасибо за обратную связь, это очень ценно! «Кроме очередной библиотеки в JS» - оооо даааа, прекрасный дивный мир JS:)

  • @MaratYarulin
    @MaratYarulin 5 ปีที่แล้ว +7

    Смысл подключать лишний модуль, если есть:
    `requests.__version__`
    (двойное нижнее подчеркивание)

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Это регламентировано в каком-то PEP, не знаете? Все это поддерживают?

    • @NotHugs
      @NotHugs 5 ปีที่แล้ว

      @@t0digital www.python.org/dev/peps/pep-0396/

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      @@NotHugs здОрово, спасибо!

  • @iz_90x
    @iz_90x 4 ปีที่แล้ว

    Я правильно понимаю, что := передаёт булинговое значение?

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Не обязательно булевое

  • @ivanserov8489
    @ivanserov8489 3 ปีที่แล้ว

    Hello! One of your videos i sees book about linux, maybe some recipes. Can you tell me what kind a book was it?

    • @t0digital
      @t0digital  3 ปีที่แล้ว +1

      Wow... Linux book... May be it was www.ozon.ru/product/linux-karmannyy-spravochnik-2-e-izdanie-148627162/?from=share_android
      Linux Phrasebook, author is Scott Granneman

    • @ivanserov8489
      @ivanserov8489 3 ปีที่แล้ว

      @@t0digital Yeah, it is she! Thank you:))

  • @toster8240
    @toster8240 5 ปีที่แล้ว

    Спасибо! Ибо, познавательно и как всегда интересно ;-)

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      💪 спасибо!

  • @sidorovich21101986
    @sidorovich21101986 4 ปีที่แล้ว

    Просто офигенные новшества! Circular dependency так и не пофиксили, что ограничивает строгую типизацию. Зато добавили бесполезный синтаксический сахар и какие-то старые фичи из других языков, называя всё это новшеством. Аналог TypedDict есть, например, в Angular. А, интересно, нормальный dependency injection в Python/Django где-нибудь есть? Модификатор final вообще порадовал! Я, конечно, новичок в Python, но я не знал, что он только сейчас появился!

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      * «Circular dependency так и не пофиксили» наличие проблем с Circular dependency в коде говорит о его плохой архитектуре, а о не минусе языка, на котором код написан. Язык просто не позволяет сделать вам херовые вещи и это хорошо.
      * «Зато добавили бесполезный синтаксический сахар» бесполезного никто нигде ничего не внедряет, ни в одном ЯП нет бесполезных вещей. Если вы не можете найти применение чему-то, это говорит о вашем непонимании инструмента и целей его внедрения - и ни о чём больше это не говорит.
      * «Аналог TypedDict есть, например, в Angular» сравнивать ЯП и фреймворк это как сравнивать двигатель автомобиля и готовый автомобиль
      * «А, интересно, нормальный dependency injection в Python/Django где-нибудь есть» - вы уверены, что знаете, что это такое? В любом ЯП, где есть объекты и конструкторы, реализуется DI.
      * «Модификатор final вообще порадовал» - декоратор final отлично решает свою задачу, да.

    • @sidorovich21101986
      @sidorovich21101986 4 ปีที่แล้ว

      Где тут плохой код?
      import abc
      class IHandler:
      @abc.abstractmethod
      def handle(self, message: str, ws_manager: WebSocketManager) -> str:
      pass
      class HandlerImpl(IHandler):
      def handle(self, message: str, ws_manager: WebSocketManager):
      ws_manager.send(message)
      class WebSocketManager:
      handler: IHandler
      def __init__(self):
      self.handler = HandlerImpl()
      def on_message(self, message: str):
      self.handler.handle(message, self)
      def send(self, message):
      print(message)
      ws_mgr = WebSocketManager()
      ws_mgr.on_message('my message')

    • @sidorovich21101986
      @sidorovich21101986 4 ปีที่แล้ว

      Ладно не буду мучить. Сам уже допёр. Можешь не читать, если охота самому подумать. Там вместо WebSocketManager нужно передавать тип IWebSocketManager, то есть его абстрактный класс.

  • @Lolar123
    @Lolar123 4 ปีที่แล้ว +1

    Брр, произношение вводит в ступор

  • @ИванИванов-н9т9ъ
    @ИванИванов-н9т9ъ 5 ปีที่แล้ว +2

    Вещи дядька говорит, придётся подписаться.

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      Спасиб:)

  • @krivalex
    @krivalex 5 ปีที่แล้ว

    Подписка: отличная подача, код крутой сбоку да и лайк заодно

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Спасибо!

  • @winterGrinder
    @winterGrinder 5 ปีที่แล้ว

    Как на счет Label под видео для ранжирования аудитории? Это видео полезно - всем , начинающим, средней руки и т/п
    Потом какие-нибудь трюки языка для решения интересных или стандартных задач не очевидным способами.
    Ну и иногда хайповать интересными проектами Python + ML, но из разряда - это просто, тут сложнее, а это все вроде знают , но допускают кучу ошибок.

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Я думал об этом, но пока не пришёл к тому, как это лучше и правильнее сделать. Пока бью по плейлистам

  • @shurko
    @shurko 2 ปีที่แล้ว

    А теперь давайте сравним первый пример с аналогичным фрагментом на CoffeeScript. Допустим, у нас уже определены функции first и second. А они, конечно, определены потому что нужны постоянно:
    first = (arr) -> arr[0]
    second = (arr) -> arr[1]
    Так же сокращения:
    cl = console .log и to_arr = Array .from
    И вжжжух! никаких лишних скобок:
    hello = 'Hello, cat!'
    cl name if name = second first to_arr hello .matchAll /, (.*)/g
    Почему нельзя обойтись одним '=' ?

  • @ПетрФролов-е6г
    @ПетрФролов-е6г 5 ปีที่แล้ว

    В какой версии python уберут отступы?

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

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

  • @daurensdykov9068
    @daurensdykov9068 5 ปีที่แล้ว

    идея для будущих видосов... написание реальной библиотеки... со всем процессом.. билд, тестирование, можно CI захватить... и т.д.

  • @andrey-and-masha
    @andrey-and-masha 5 ปีที่แล้ว

    На какой минуте про уход Гуидо?

  • @vladyslavstadnyk2762
    @vladyslavstadnyk2762 5 ปีที่แล้ว

    Хорошее видео, но у меня вопрос совсем не по пайтону.
    Как ты сделал, чтобы текст из консоли чисто выводился на видео без самой консоли?)

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      Режим наложения слоя с терминалом Add в final cut, есть такое же в любой монтажке. Чёрный фон терминала и почти чёрный фон видео в этом месте дают такой эффект

    • @vladyslavstadnyk2762
      @vladyslavstadnyk2762 5 ปีที่แล้ว

      @@t0digital не в любой монтажке, поэтмоу и спросил) Спасибо, интересный трбк, надо будет опробовать

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      @@vladyslavstadnyk2762 в премьере точно есть:)

  • @germanmalinovsky1719
    @germanmalinovsky1719 4 ปีที่แล้ว

    Тю. А в пыхе испокон веков объявить и передать объект в качестве операнда без никаких "моржей" :)

  • @egordemura4790
    @egordemura4790 5 ปีที่แล้ว

    Правильно понимаю, что если a = b то переменной a присваивается ссылка на область памяти в которой хранится значение переменной b. А если a := b, то под переменную a выделяется новая область памяти куда копируется значение из b или это не так и смысл := в чем-то другом?

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      С точки зрения работы по ссылкам в := все аналогично простому =. В a := b просто происходит проверка значения b на трушность, если b трушна, то a присваивается ссылка на область памяти, в которой хранится b.

  • @igora6367
    @igora6367 4 ปีที่แล้ว

    класс)

  • @evgenyaa48
    @evgenyaa48 5 ปีที่แล้ว +6

    Меньшее количество кода далеко не всегда хорошо.

    • @t0digital
      @t0digital  5 ปีที่แล้ว +3

      Согласно исследованиям количество кода, которое девелопер пишет за день, примерно одинаково для разных языков и технологий. Поэтому если для решения задачи на условном питоне надо написать тысячу строк кода, а на условной Java 2 тысячи строк, то это вполне может означать, что Python команда может сделать проект не за 2 года, а за 1 год - и это весомо. Не думаю, что корреляция настолько явная, но что она есть - факт неоспоримый, чем меньше кода надо писать для решения задачи, тем быстрее задача делается. В случае адекватного pythonic кода он остаётся лаконичным и выразительным => поддерживаемым.

    • @evgenyaa48
      @evgenyaa48 5 ปีที่แล้ว +7

      @@t0digital ещё бы пруфы на исследования, было бы чудесно. Не припомню таких проектов, где именно набрать код было бы проблемой. Большую часть времени приходится тратить на продумывание, курение доков и прочие штуки. Если бы я сидел и набирал код даже 50-60% времени, то мог бы вполне оправдано называться машинистом.
      А ещё я знаю, сколько времени может теряться, если читаешь код человека, который очень любит часто использовать конструкции вроде тех, о которых говорится в видео. По хорошему, код должен быть понятным даже программистам, не пишущим на питоне. Лучше набрать в полтора раза больше кода, чем потом тратить в три раза больше времени на его поддержку.

    • @t0digital
      @t0digital  5 ปีที่แล้ว +3

      @@evgenyaa48 об этом много кто говорит, начиная от Брукса в его «Мифический человеко-месяц» 1975 года и позднее. То, что код должен быть читаемым и поддерживаемым - 100%, конечно. Не должно быть цели «написать меньше кода» и гори оно огнём, как там это будут поддерживать. Просто банальный hello world где-то 1 строка, а где-то 10, и это не может не влиять на продуктивность, даже если разработчик тратит 60% времени на обдумывание.

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      @@channelname501 что именно?

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      @@arknexter если сокращение встроено в язык, то это уже зависит не от разработчика, используют все и получается стандартизированный код, одинаковый у всех, что хорошо

  • @denwerxampp4035
    @denwerxampp4035 5 ปีที่แล้ว

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

  • @nioring
    @nioring 5 ปีที่แล้ว +2

    Мде, нормальный оператор этот в итоге :=, и че все орали не разобравшись.

  • @ВикторПопов-г3у
    @ВикторПопов-г3у 5 ปีที่แล้ว +5

    Python переоткрывает С++ :)

    • @MrAgilator
      @MrAgilator 5 ปีที่แล้ว

      Да, такое же впечатление сложилось )) Движение к строгой типизации?

    • @meskirian
      @meskirian 5 ปีที่แล้ว

      Свят, свят!!

    • @justkrybik
      @justkrybik 4 ปีที่แล้ว

      @@MrAgilator у PHP тоже движение к строгой типизации. И в JS TypeScript присутствует. Лично я ничего плохого в этом не вижу. Стабильность строгой типизации + простота транслируемых языков, кмк хорошая связка.

    • @ДиогенСинопский-т4с
      @ДиогенСинопский-т4с 4 ปีที่แล้ว

      @@justkrybik А Java считается строгой типизации?

  • @winterGrinder
    @winterGrinder 5 ปีที่แล้ว

    Сделано хорошо, я Python не знаю, но было интересно. Местами похоже на Ruby.

  • @mentatij
    @mentatij 5 ปีที่แล้ว +1

    2:59 про оператор ":=" : получается name будет в области видимости только блока if ?

    • @t0digital
      @t0digital  5 ปีที่แล้ว +5

      Хороший вопрос - так хотели сделать в процессе обсуждения PEP, но решили отказаться от этого, чтобы не ломать общую концепцию видимости переменных в Python, которая LEGB. То есть name будет виден не только в блоке if, но и снаружи.

  • @user-qs7dp6yb2x
    @user-qs7dp6yb2x 4 ปีที่แล้ว +1

    Дико извиняюсь, но у вас там опечатка, там должно быть
    "... Андрей"
    Ред: 1:45 тут

    • @t0digital
      @t0digital  4 ปีที่แล้ว +1

      возмоооожно:)!

  • @ДьяконВалерьянович
    @ДьяконВалерьянович 5 ปีที่แล้ว

    Я только начал изучать пайтон ещё не дорос до данного видоса )

  • @spappinventor2850
    @spappinventor2850 5 ปีที่แล้ว +1

    Это что мне теперь когда я пишу скрипт вызываемый из Lazarus не надо переключиться c ":=" на "=" ?))) А то прямо то забуду ":" в Lazarus, то наоборот приходится стирать ":" в Питоне)

  • @КонстантинОльмезов-м4й
    @КонстантинОльмезов-м4й 5 ปีที่แล้ว +3

    Спасибо, позновательно. Мне больше всего понравился оператор :=, давно хотелось чего-то такого.

    • @TheImperfectum
      @TheImperfectum 5 ปีที่แล้ว +1

      @@avazart614 +1, вообще сразу покоробила его фраза, что "меньшее количество кода - это всегда хорошо". Фраза человека, которому, судя по всему, не приходилось никогда в жизни разбираться с чужим кодом, особенно с кодом такого вот оптимизатора-любителя, для которого чем меньше кода - тем лучше.

  • @romanryaboshtan9270
    @romanryaboshtan9270 ปีที่แล้ว

    final - как в java

  • @vasiliynet3425
    @vasiliynet3425 5 ปีที่แล้ว

    f-string - отличная фича; надеюсь в JS примут во внимание :) а то сниппетом вбивать `${JSON.stringify({varName})}` тоже вариант, но не изящный...

  • @meskirian
    @meskirian 5 ปีที่แล้ว +4

    ":=" неееееееееееееее!

  • @0day694
    @0day694 4 ปีที่แล้ว

    Когда я жил в Москве, у меня была такая же кружка и она была такая же черная внутри от чая ))

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Периодически она моется, да:)))

    • @0day694
      @0day694 4 ปีที่แล้ว

      @@t0digital да просто цвет такой, что мой не мой, все равно будет черная )) Кстати, видосики у тебя классные!

    • @t0digital
      @t0digital  4 ปีที่แล้ว +1

      @@0day694 спасибо 🙏!

  • @vlaih0
    @vlaih0 5 ปีที่แล้ว

    Рубишная сокращёнка, запашок от Тайпскрипт... Весело

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Все языки и фреймворки хорошие идеи дёргают друг у друга. Эволюция. Если разобраться, то и руби с TS до фига позаимствовали от других - это нормально

    • @vlaih0
      @vlaih0 5 ปีที่แล้ว

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

    • @t0digital
      @t0digital  5 ปีที่แล้ว

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

  • @koteich_live
    @koteich_live 2 ปีที่แล้ว

    Оч и оч круто

  • @karandalliik
    @karandalliik 3 ปีที่แล้ว

    Вот Вам омментарий: 4 месяца впустую считай. Ф строка: f"{n=}" - и мое сердце и пальцы перестали двигаться.
    4 месяца впустую.
    Это как вычислять фибоначи от 10**10**10**10 без использования опиимизирующих алгоритмов.
    И ждать 200 лет, а не 2 минуты.

  • @magadan4626
    @magadan4626 5 ปีที่แล้ว +1

    ТайпинХ?

  • @eugenedukatta9355
    @eugenedukatta9355 5 ปีที่แล้ว

    странно зачем надо было добавлять := , можно ведь было просто семантику и синтаксис = поменять(расширить), и сделать как у :=

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Явное лучше неявного, := делает не то же самое, что просто =

  • @wabalrarrt9374
    @wabalrarrt9374 5 ปีที่แล้ว

    Почему так мало по golang

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Возможно со временем затронем и golang

  • @4bakarovv349
    @4bakarovv349 4 ปีที่แล้ว

    гительман из мира айти

  • @alexs8579
    @alexs8579 4 ปีที่แล้ว

    За обзор спасибо.
    Ну и что мы имеем на выходе? ну так чисто по философски.
    1. лень написания кода заставляет нас двигаться к строчкам на ассемблере, ну разве что без сдвигов регистра. и как следствие... вы давно читали старо-славянские книги? там тоже из лучших побуждений буковки и слова меняли. а теперь требуется человек который сможет это перевести.
    2. плодим в каждом языке несущественные изменения в синтаксисе, только потому, что его автор считает так лучше. Я напомню к чему привела нелюбовь дедушки Ленина к букве "Ё". мы до сир пор огребаем это с появлением БД в нотариате и в налоговых. появились фамилии Воробьев или Воробьёв. и это разные фамилии, люди вынуждены в суд обращаться из=за того что им детям поставили Ё или Е.
    В программировании это еще предстоит это в связи с частыми вводами и отказом поддерживать старый синтаксис. да блин никто не не переименовывает "самолет" во что то другое, потому что это вышло из моды или писать короче.
    3. Имхо появление новых языков, и игра с синтаксисом, не более чем перетягивание комьюнити, которое ищет выхода творческой энергии.
    4. ну и в подтверждение п.3. мы начинаем типизировать переменные. в языке с динамической типизацией.... Привет.... от чего ушли к тому пришли, ибо выяснилось что нестрогая или динамическая типизация хороша , пока это не программа, а скетч на неё и его легко обозреть, что в Питоне, что в Ноде.
    В своё время автокад в конце 80-х годов сделал революцию предложив архитектуру, позволявшая дополнять её пользователям. затем в 90-х наш любимый линукс, давший возможности всем внести вклад в общее дело. Ну и фотошоп и по миру понеслась идея, что широкая поддержка комьюнити залог развития программы. конечно и языки программирования не остались в стороне и мы счас при выборе (если он есть) выбираем для проекта где лучшая поддержка тем же самым сообществом.
    PS ну вот такое моё наблюдение. я только за изменения к лучшему и сбрасывание оков навязанных в своё время гигантами индустрии.

  • @GoldenPalladin
    @GoldenPalladin 5 ปีที่แล้ว +1

    TypedDict forewa!

  • @lavolpenoire
    @lavolpenoire 5 ปีที่แล้ว

    4:20 Я чето вообще эту фичу...как и все с ней связанное не понял- сам синтаксис конструкции, ее суть (Ф...что то там, вместо обычного принта)

    • @t0digital
      @t0digital  5 ปีที่แล้ว +4

      f-strings появились уже давно, это не фича 3.8, не пользуетесь ей? По сути это удобная замена для "{value}".format(value=some_var), вместо этого можно писат f"{some_var}".
      А новая фича удобна для отладки и логирования, вместо f"some_var={some_var}" можно писать f"{some_var=}".

  • @arcsin4083
    @arcsin4083 4 ปีที่แล้ว

    Ого, задатки строгой типизации, так вот что значит " сначало заберите что было, а потом верните", пусть это не о питоне, а о другим языках, но тем не менее

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      все к этому приходят - TypeScript в JS, type hinting в PHP и Python:)

  • @LoloKsyu
    @LoloKsyu 5 ปีที่แล้ว +1

    А как же shared memory?

    • @t0digital
      @t0digital  5 ปีที่แล้ว

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

  • @xm4dn355x
    @xm4dn355x 5 ปีที่แล้ว +1

    print(f'{name=}') ??? ЭТО ВООБЩЕ ЗАКОННО???? теперь строки с логами для консоли будут great again)))) это же тупо в два раза сокращает длину строки в исходниках и уложиться в 120 символов рекомендованных в PEP8 станет в 2 раза проще)) пора плавно переходить на 3.8 ))

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      Дааа, дико кайфанул с этой штуки. Да, синтаксический сахар, но очень вкусный :)

    • @jascarkamasonskaja7314
      @jascarkamasonskaja7314 5 ปีที่แล้ว +1

      Диджитализируй! АйТи студия вот бы они такую фичу с диктами замутили)))))

    • @xm4dn355x
      @xm4dn355x 5 ปีที่แล้ว

      @@jascarkamasonskaja7314 согласен)) постоянно сталкиваюсь с тем, что нужно какую-то конкретную пару ключ:значение выводить для того чтоб вдруг чего баги отлавливать проще было)

    • @squiretrelawny5769
      @squiretrelawny5769 5 ปีที่แล้ว +1

      есть для отладки модуль q - удобный

    • @squiretrelawny5769
      @squiretrelawny5769 5 ปีที่แล้ว +1

      th-cam.com/video/OL3De8BAhME/w-d-xo.html

  • @david_shiko
    @david_shiko 5 ปีที่แล้ว

    Теперь пили видео как апдейтить питон)))

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Из исходников собирается так же, как и другие версии - вот тут показывал th-cam.com/video/FLiKTJqyyvs/w-d-xo.html

  • @rndofpipowe
    @rndofpipowe 5 ปีที่แล้ว

    Не понял, в Питоне появилось явное определение типа? Всё, крандец Аде... Пошёл рыдать.

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Что есть явное определение типа? В питоне появились тайп хинты, то есть подсказки IDE по типам

  • @leorubol6962
    @leorubol6962 5 ปีที่แล้ว

    Питон под андроид возможно и как?))

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      В Android терминале в Termux отлично работает Python даже 3.8

    • @vladyslavstadnyk2762
      @vladyslavstadnyk2762 5 ปีที่แล้ว +2

      Ищи приложение Pydroid

  • @MrOwl888
    @MrOwl888 5 ปีที่แล้ว

    Ну что-то Гвидо уже какой раз вроде всё, да не всё ;) Я правильно понял, что все нововведения - по сути синтаксический сахар?

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Имхо final, новые типы в typing и тп это не сахар. Изменения в f-string, walrus это сахарок, да:)

  • @michurinak_official
    @michurinak_official 5 ปีที่แล้ว

    Я не понимаю, ну на хрена := это надо, чем вам обычное = не нравится? Кто-нибудь знает, обычное = в 3.8 работает?

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      Это работает в 3.8, как и раньше:
      a = 38

  • @justkrybik
    @justkrybik 4 ปีที่แล้ว

    Что ли пайтон изучить...

  • @mrbush1872
    @mrbush1872 4 ปีที่แล้ว

    Убеждаюсь , что Java ЯП для того чтоб знать ЯП , а Python - ЯП для того чтоб быстро решать задачи

  • @user-vito-kuk
    @user-vito-kuk 5 ปีที่แล้ว

    До сих пор не понимаю, чем python лучше ruby, если завозимые фишки питона уже как годы существуют в ruby ...
    f' - интерполяция строк уже давно используется в ruby по типу #{var}
    type - в руби не нужно подключать дополнительно модули ни типы, ruby уже знает что 4 - это int, 'str' - это string
    ruby медленный, а python быстрее - twitter.com/mmmandel/status/1200585514463698944 ))))
    Холивары холиварами, главное чтобы инструментом было удобно пользоваться и он выполнял свои задачи !

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      Да, все языки и фреймворки друг у друга фичи переносят, кто-то что-то бодрое у себя внедрил - через год-два это уже у всех. Любой язык хорош, когда ты и твоя команда хорошо на нём пишет:)

    • @user-vito-kuk
      @user-vito-kuk 5 ปีที่แล้ว

      Диджитализируй! АйТи студия все верно, спасибо за интересный контент )) 👌👌👌

    • @justkrybik
      @justkrybik 4 ปีที่แล้ว

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

  • @DArkadiy
    @DArkadiy 4 ปีที่แล้ว

    никуя не понял, но очень интересно

  • @demty123abc
    @demty123abc 5 ปีที่แล้ว +2

    Грустно, на самом деле, наблюдать куда идет язык: тайпинги начинали за здравие, а заканчивают за упокой (Я про всякие TypedDict, определение собственных типов и тд, чтобы линтер не ругался и точнее работал); @final, :Final, которые имеют разные написания и применение; @overload, который вообще меняет концепцию языка; дженерики, чтобы уложиться в тайпинги.
    Вроде бы и прикольно, но так глядишь через пару лет непонятно, а зачем питон нужен-то (хотя и сейчас вопрос открытый), если он дефакто становится строготипизированным (наверняка с докрученными тайпингами придет и повсеместное их использование как хороший тон). При этом питон все так же слаб как ООП язык и как язык для серьезных приложений, а с такими нововведениями неясно, зачем он, если есть условная джава, где все грабли уже пройдены, ФП уже есть, да и быстрее работает.
    Рано или поздно, кмк, тайпинги появятся и в рантайме (чтобы быстрее работало) и тогда вообще станет непонятно, а зачем он как язык нужен-то?
    При этом еще одна киллерфича питона - низкий порог вхождения, тоже постепенно исчезает, причем очень резко: условный студент пишет себе лабы, знать-не знает о том, что тайпинги существуют и вообще пишет все в одной функции, а потом приходит в реальный проект и видит линтер на линтере, перегрузку методов, модификаторы доступов и все это приправлено колхозностью реализации, костылями (Any) -> Any и т.д., т.к. на питоне так никто не привык писать и только пытаются найти как, собственно, надо.
    Вышел прям крик души :) Спасибо за видео, испугался знатно :)

    • @seeyou7080
      @seeyou7080 5 ปีที่แล้ว

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

    • @demty123abc
      @demty123abc 5 ปีที่แล้ว

      @@seeyou7080 Ну уже появляется "нормальный" преподаватель, наверно и студент должен быть "нормальным" и т.д. Я вел к тому, что в питоне тайпинги - не обязательная часть языка и скорее всего никогда не будет таковой (ради обратной совместимости, простоты использования и тд), и мотивации учить как оно работает - особо нет, ведь и так работает, в то время как все то же самое в какой-нибудь джаве - часть языка и изучить ее без этого невозможно.

  • @TeppopucT
    @TeppopucT 5 ปีที่แล้ว +1

    Спасибо за обзор.
    := дам 6 балов из 10
    Ну а в целом, какая-то унылая обнова по сравнению с 3.7

    • @ИванИванов-н9т9ъ
      @ИванИванов-н9т9ъ 5 ปีที่แล้ว

      А что в 3.7 было?

    • @TeppopucT
      @TeppopucT 5 ปีที่แล้ว +1

      @@ИванИванов-н9т9ъ ну как минимум
      asyncio.run
      python-scripts.com/python-3-7#asyncio-face-lift

  • @MaPeHuH
    @MaPeHuH 5 ปีที่แล้ว

    Добрый день! Немного понял, но это по причине того, что я ламер :-)
    А кто такие "катаны"? По японской кружке навеивает однокоренное слово - катана

    • @t0digital
      @t0digital  5 ปีที่แล้ว +3

      Привет! Котаны:)

  • @lexkosha
    @lexkosha 5 ปีที่แล้ว

    Лойс

  • @824pavel
    @824pavel 5 ปีที่แล้ว

    Не морочте голову людям своим Питоном и учите Перл, ибо в нем вся сила, коей нет в вашем тормознутом, ограниченном Пайтоне.

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Ну да ну да, перл, ага

  • @ИмяФамилия-в2г4ь
    @ИмяФамилия-в2г4ь 5 ปีที่แล้ว +1

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

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Мне нравится, как развивается asyncio в Python, все эти asyncio.run, сокрытие низкоуровневых методов, которыми надо раньше было пользоваться. И на aiohttp можно очень бодрые асинхронные веб-сервисы делать, или наоборот использовать aiohttp для параллельных запросов в кучу сервисов

    • @ИмяФамилия-в2г4ь
      @ИмяФамилия-в2г4ь 5 ปีที่แล้ว +2

      ​@@t0digital
      Сам пишу на питоне 5 лет и очень его люблю, это скорее просто мои ощущения
      - Отлаживаться очень сложно, код избыточный и читать его стало сильно сложнее чем синхронный
      - Куча легаси и одноименных структур, к примеру есть два типа Future и один с другим работать не будет, если почитать кишки там еще много всякой черной магии и это пугает
      - Есть проблемы с ивент лупом, к примеру если создать пару ивент лупов и создать 1 таску, то дальше она сможем обрабатываться только тем ивент лупом который ее создал
      - Есть большие вопросы о том как правильно ловить исключения во вложенных корутинах, вообще обработка неявных исключений это просто боль при асинхронном программировании
      - По ощущениям люди пишут код дольше и ловят больше багов именно на асинхронном питоне
      - У себя в кампании заметил что рост производительности в проектах на бою не больше 30%, а сложностей возникает сильно больше
      - Как уже говорил, очень сложно заставить питон выжирать все ядра, с учетом что процессоры в последнее время растут именно ядрами, а не производительностью отдельных ядер, это становиться вообще печально
      Не то чтобы все что я написал делает невозможным писать код на asyncio, но в сухом остатке прирост небольшой, а приседаний много
      P.S
      По поводу 3.8 лучше бы нормальный switch case завезли)

  • @ДиогенСинопский-т4с
    @ДиогенСинопский-т4с 4 ปีที่แล้ว

    Лично мне Java разработчику не нравится Python. Он какой то для меня беспорядочный. Где что хочешь объявляй, где что хочешь присваивай, все переменные пишутся без объявлении.

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Python: name = "Привет"
      Java: String name = "Привет";
      Разница столь огромна и версия Java вам нравится больше:)?

    • @ДиогенСинопский-т4с
      @ДиогенСинопский-т4с 4 ปีที่แล้ว

      @@t0digital))) просто я в Java с 2004 года. И для меня раздражительно смотреть, что переменную объявили без типа...это уже рефлекторно в голове вопрос: эммм..так какого типа name? String, char, int, double, vectror, аа может Object?
      Да..еще..немного копался в python и заметил, он лучше справляется с аналитикой текстовых/строковых данных чем Java. К примеру с JSON или tuple arrays..

    • @ДиогенСинопский-т4с
      @ДиогенСинопский-т4с 4 ปีที่แล้ว

      Так же лучше делает аналитику, чем SQL Analytics..ну может на равне.

    • @ДиогенСинопский-т4с
      @ДиогенСинопский-т4с 4 ปีที่แล้ว

      Я помню в начале 2000 годов ходил в магазин покупать книги по программированию. Тогда книжки по Питон пыльные лежали на полке. Никто не интересовался.

    • @t0digital
      @t0digital  4 ปีที่แล้ว

      Мне кажется, в начале нулевых книжки были только по Java, PHP, немного Delphi и Visual Basic, питон совсем не в почёте был. Эх помню по бейсику такая синенькая была))

  • @rudinandrey
    @rudinandrey 5 ปีที่แล้ว +1

    и эти люди ругают PHP :-) рука лицо. я не про Вас лично. я про питонистов, которые вечно хейтят PHP )))

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Я не хейчу - мне во многом нравится PHP, но есть вполне объективные минусы у PHP, так же как есть и вполне объективные минусы Python и любой другой технологии:)

  • @legendabs1110
    @legendabs1110 5 ปีที่แล้ว

    А я могу зарабатывать на фрилансе, если у меня тока телефон и клавиатура,просто у меня пк здох

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      можете)

    • @legendabs1110
      @legendabs1110 5 ปีที่แล้ว

      @@t0digital другие говорят что нельзя пррграммировать на веб)

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      @@legendabs1110 если они запрещают, то нельзя, конечно:))) а если они в целом не против, то можно попробовать

  • @mechmaker9346
    @mechmaker9346 5 ปีที่แล้ว +1

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

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Что именно является костылём из новинок в 3.8?
      Сокращение f'{name=}' вместо f'name={name}' :)?
      Или новые типы для линтеров?

  • @snarksnark5038
    @snarksnark5038 5 ปีที่แล้ว

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

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      Это в питоне возня с синтаксисом, вы серьёзно? Банальный Hello World в питоне - 1 строка, в то время как в Java/C/Oberon - 5-11 строк.
      print("Hello World!") - это возня с синтаксисом?
      MODULE HelloWorld;
      IMPORT Out;
      BEGIN
      Out.String("Hello World!");
      Out.Ln;
      END HelloWorld;
      а это не возня)?

    • @snarksnark5038
      @snarksnark5038 5 ปีที่แล้ว

      @@t0digital когда программа на питоне достигает 10-15 тысяч строчек и надо что то изменить вся эта "скоропись" быстро аукается.Многие питон разработчики не могут разобраться даже в собственном написанном всего то 3 месяца назад коде.

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      @@snarksnark5038 наговнякать можно на любом языке, и на любом языке можно написать конфетку с очень приятной поддержкой кода в будущем, это не аргумент ни за питон, ни против

  • @des_troy_er
    @des_troy_er 5 ปีที่แล้ว

    Хоть питон и компактный язык , но бля над ним еще столько работать , конкретики в нем точно не хватает

    • @t0digital
      @t0digital  5 ปีที่แล้ว +1

      оО конкретики это как)? В любом ЯП все выражения на 100% конкретны, потому что делают вполне чётко прописанные действия

  • @sipan_4604
    @sipan_4604 5 ปีที่แล้ว

    Это не python, это хрень.

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Где)?

    • @sipan_4604
      @sipan_4604 5 ปีที่แล้ว

      @@t0digital это не синтаксис пятона

    • @t0digital
      @t0digital  5 ปีที่แล้ว

      Согласен, это не пятон)