Огромное спасибо за твой контент! Искал ответы по данному вопросу на других видео каналвх и способ подачи мягко говоря ну совсем не ложился в голову. У тебя же за 12 минут все разложилось по полочкам в голове и остается только ощущение эйфории от усвоенного материала! Еще раз спасибо за то что делаешь!
Вроде бы в контексте компиляторов и интерпретаторов, виртуальная машина используется для выполнения кода, который был скомпилирован в промежуточное представление, а не напрямую в машинный код.
Мне кажется пример с делением на ноль не корректен. В go компиляция не прошла, но ничто не мешает присвоить переменным значения 1 и 0 и поделить их и спокойно всё скомпилируется. В java же System.out.println(1/0); скомпилировался и exception вызвался в процессе выполнения программы. В python уверен можно легко модифицировать интерпритатор, чтобы он проверял явное деление на ноль (типа 1/0)до выполнения программы, но в этом нет смысла. Мне кажется более валидный пример отличия динамического языка от статического языка в проверке типов, в python можно попасть на несоответствие типов в процессе выполнения, (например деление строки на число) , а в статическом языке просто не скомпилируется программа.
Лутца читал но так наглядно как у вас не нашел. А вы не рассказали про .pyc файлы. И есть модуль dis который даёт возможность посмотреть как компилируется код. А где искать __pycash__ ? И в чем разница между pycash .pyc файлами. И как я понимаю вы обяснили как работает CPython?
Я только не понял почему в Go и Java компилятор обработает деление на 0, а в Python нет. Можно делать разные по функционалу компиляторы? второй момент: роль виртуальной машины в цепочке с интерпретатором? В ней находятся только всякие библиотеки и т.д.? третий момент: смысл было делать тогда python интерпретируемым если это так урезает скорость?
Какие процессы происходят после PVM это тайна покрытая мраком. Никто не объясняет почему-то. Как PVM общается с процессором. В машинный код байт-код не преобразуется?
Вот по мотивам видео задумался: Папочки __pycache__ создаются в пакетах. А если программка состоит из одного файла в корне, то ни __pycache__, ни pyc файлы не видны. Они не создаются или их надо искать где-то ещё?
Огромное спасибо за твой контент! Искал ответы по данному вопросу на других видео каналвх и способ подачи мягко говоря ну совсем не ложился в голову. У тебя же за 12 минут все разложилось по полочкам в голове и остается только ощущение эйфории от усвоенного материала! Еще раз спасибо за то что делаешь!
Ах, благодарю)
Работаю с питоном уже больше 2 года но не знал такого ))) не ожиданно. спасибо большое
Спасибо. Очень интересно, понятно и доступно.
Шикарно)) все понятно и доступно))
Спасибо! Очень крутая презентация!
спасибо!
Спасибо большое) Было познавательно)
и вам спасибо!)
Спасибо! Отличное объяснение!
Доброе видео, одобряю. Не понимал раньше, почему я не могу обработать синтаксические ошибки, чтоб программа не прерывалась, долго бился)
Отличное видео, спасибо!
Спасибо большое автору!
Спасибо, за видео)
Спасибо ! Очень интересно! Просто о сложном!
спасибо большое!)
Просто и по делу , лучший
Спасибо за видео!!! Лутц том 1)
Красаучег! Спасибо.
спасибо!
Огромное спасибо:-)))
Афигеть! Спасибо
По больше таких роликов плез, я подписался. Хорошо если на канале будет отдельный плейлист, типо "Python под капотом".
спасибо! обязательно будет, как только я прокачаюсь в этом вопросе и подготовлю контент))
@@luchanos Спасибо
спасибочки🙂
Спасибо!
и вам спасибо!)
Вроде бы в контексте компиляторов и интерпретаторов, виртуальная машина используется для выполнения кода, который был скомпилирован в промежуточное представление, а не напрямую в машинный код.
Шикарно, и как мне с этим жить?)
thank you
Мне кажется пример с делением на ноль не корректен. В go компиляция не прошла, но ничто не мешает присвоить переменным значения 1 и 0 и поделить их и спокойно всё скомпилируется. В java же System.out.println(1/0); скомпилировался и exception вызвался в процессе выполнения программы. В python уверен можно легко модифицировать интерпритатор, чтобы он проверял явное деление на ноль (типа 1/0)до выполнения программы, но в этом нет смысла. Мне кажется более валидный пример отличия динамического языка от статического языка в проверке типов, в python можно попасть на несоответствие типов в процессе выполнения, (например деление строки на число) , а в статическом языке просто не скомпилируется программа.
справедливо! я отталкивался от наиболее банального примера и так, чтобы не влезать в вопросы типизации, потому что это уже отдельный разговор)
Лутца читал но так наглядно как у вас не нашел.
А вы не рассказали про .pyc файлы.
И есть модуль dis который даёт возможность посмотреть как компилируется код.
А где искать __pycash__ ? И в чем разница между pycash .pyc файлами.
И как я понимаю вы обяснили как работает CPython?
хорошее видео
Спасибо!)
👊
comp science introduction)
Я только не понял почему в Go и Java компилятор обработает деление на 0, а в Python нет. Можно делать разные по функционалу компиляторы?
второй момент: роль виртуальной машины в цепочке с интерпретатором? В ней находятся только всякие библиотеки и т.д.?
третий момент: смысл было делать тогда python интерпретируемым если это так урезает скорость?
1) можно сделать проверку деления на ноль
2) вирутальная машина выполняет скомпилированный байт код
3) платформенная независимость
Питонячий )) крутое слово
а меня наоборот передергивает от него) звучит как поросячий =О
а где скачать
Какие процессы происходят после PVM это тайна покрытая мраком. Никто не объясняет почему-то. Как PVM общается с процессором. В машинный код байт-код не преобразуется?
Почитайте про системные вызовы
Вот по мотивам видео задумался: Папочки __pycache__ создаются в пакетах. А если программка состоит из одного файла в корне, то ни __pycache__, ни pyc файлы не видны. Они не создаются или их надо искать где-то ещё?
Pychache создается только для импортиванных модулей
@@MrSunTrope а байт код основного модуля каждый раз компилируется заново и хранится в памяти?
@@MrLotrus основного модуля каждый компелирует, посмотри pep3147
мучос грациас теперь понятненько почему все говорят интерпретатор, который почему то компилирует
ха-ха
инфа полезная. режет ухо постоянные "парень, друг, друзья, джентельменский". так-то питон не только парни изучают.
Как интересно, NдN NаHuI
Как интересно, NдN NаHuI
Как интересно, NдN NаHul
Так, ещё одна буква
Как интересно udu nahoi