Компиляторы, интерпретаторы и когда всё-таки интернируются строки
Вставка
- Опубліковано 10 лип 2024
- Я честно хотел сделать короткое видео, но всё равно незаметно для себя надушнил на 20 минут)) Немного рассказываю о компиляторах и интерпретаторах, и о том, почему, например, я говорю "во время интерпретации", а подразумеваю "до выполнения".
Группа в тг, где можно почитать ещё немного духоты - t.me/PythonClinicChnl
Таймкоды:
00:00 - интро
02:01 - внешнее сходство
03:57 - компилятор
07:32 - интерпретатор
14:33 - что внутри интерпретатора
20:30 - что лучше?
23:45 - аутро
Больше базы про пайтон, больше разъяснений на твое усмотрение.
У тебя особо умение объяснять сложные вещи
Контент, который мы не заслужили, но все равно получили, спасибо))
всё заслужено) подписчики и зрители должны влиять на работу канала
Шикарно! Почему так мало подписчиков?
обязательно буду рекомендовать Вас)
спасибо)
пайтон интерпретируемый язык с элементами компиляции. Можно так сказать? например у нас будет 50 строчек кода, все ок, но на 51 у нас будет лишний отступ - просто один пробел перед каким-либо куском кода, и вот синтаксическая ошибка - и весь код не запускается. Получается перед записью в байт код - весь код все же "компилируется" ?
да, спокойно можно так этот процесс трактовать, и в целом любой переход от кода на высокоуровневом языке к какому-то промежуточному коду можно называть компиляцией или трансляцией тоже
в наше время, "компилятор с одного языка на другой" называли транслятором.
Можно в продолжение темы разобрать небольшой алгоритм в модуле dis.
Отличная идея, сделаем
Кажется пока и идея писать разные интерпретаторы под один язык не увенчались большим успехом. Все кроме cpython имеют крайне ограниченную популярность или уже заброшены. Если сам Майкрософт этим не займётся, шансов что какой-то ещё выстрелит, практически нет.
склонен согласиться, если до выхода 3-й версии python, сторонние интерпретаторы были относительно популярными, то сейчас они стали скорее нишевыми продуктами, решающими очень узкий набор проблем
На какие реализации сейчас можно обратить внимание:
- PyPy, в среднем работает быстрее за счёт концепции jit, но не во всех случаях;
- PyScript, для запуска кода на python в браузере, нишевая вещь, но может выстрелить;
- mojo, очередной УбИйЦа ПаЙтОн, язык, который изменит индустрию, и всё в таком духе; не является сторонним интерпретатором в полном смысле этого слова, так как под капотом использует CPython, вместо этого они предлагают "экосистему вокруг Python", ну то есть история наоборот, строим новый язык с блек-джеком и шл***ми вокруг существующего интерпретатора; прям очень советую почитать их документацию, одновременно пламенная любовь к пайтон и желание его передоминировать на его же поле, полная поддержка программ на пайтон за счёт CPython, но в самом mojo пока нету классов даже; по факту очередная узкая реализация языка, которая закроет небольшой спектр задач, но на хайпе
а майкрософт сейчас активно развивает платформу .net core, у них своих забот хватает)
@@pythonclinic видел их презентацию, где они берут три вложенных цикла for при расчете матрицы и значительно их ускоряют :). Пока они себя сами узко позиционируют как язык для data science.
ну кстати интересно, с чем они сравнивали, с ванильными циклами или работой с матрицами через numpy
@@pythonclinic я про это видео. Итерируют по листам. ua-cam.com/video/6GvB5lZJqcE/v-deo.html
ага, спасибо, я ознакомлюсь