The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Создать новую тему
 - Свернуть нити
Пометить прочитанным
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Архив | Избранное | Мое | Новое | | |  
Форум Разговоры, обсуждение новостей
В Android встроена возможность запуска графических Linux-приложений, opennews, 25-Июл-25, 09:10  [ | | | ] [линейный вид] [смотреть все]


Инициатива Maintenance Fee, предлагающая взимать плату за доступ к релизам открытых проектов, opennews, 25-Июл-25, 12:22  [ | | | ] [линейный вид] [смотреть все]


Выпуск дистрибутива для создания межсетевых экранов OPNsense 25.7, opennews, 24-Июл-25, 12:43  [ | | | ] [линейный вид] [смотреть все]


Проект XLibre интегрирует драйверы в основную ветку X-сервера, opennews, 23-Июл-25, 21:16  [ | | | ] [линейный вид] [смотреть все]


Обновление редактора кода CudaText 1.226.0, opennews, 25-Июл-25, 08:14  [ | | | ] [линейный вид] [смотреть все]


Выпуск СУБД MySQL 9.4.0, opennews, 23-Июл-25, 07:46  [ | | | ] [линейный вид] [смотреть все]


Домен putty.org начали использовать для распространения идей антипрививочников, opennews, 18-Июл-25, 09:59  [ | | | ] [линейный вид] [смотреть все]


Релиз Firefox 141, opennews, 22-Июл-25, 20:05  [ | | | ] [линейный вид] [смотреть все]


В Fedora предложено задействовать FlatHub в атомарных редакциях дистрибутива, opennews, 23-Июл-25, 12:13  [ | | | ] [линейный вид] [смотреть все]


Первый выпуск Wayback, прослойки для запуска рабочих столов X11, используя компоненты Wayland, opennews, 24-Июл-25, 13:20  [ | | | ] [линейный вид] [смотреть все]


KDE перешёл на отрисовку окон со скруглёнными углами, opennews, 19-Июл-25, 11:50  [ | | | ] [линейный вид] [смотреть все]


В AUR-репозитории Arch Linux выявлены вредоносные пакеты, opennews, 19-Июл-25, 09:33  [ | | | ] [линейный вид] [смотреть все]


Уязвимость в KDE Konsole, позволяющая выполнить код при открытии страницы в браузере, opennews, 15-Июн-25, 23:16  [ | | | ] [линейный вид] [смотреть все]


Компания Valve опубликовала дистрибутив для игровых консолей SteamOS 3.7, opennews, 23-Май-25, 09:12  [ | | | ] [линейный вид] [смотреть все]


Скрипт Archify для замены имеющегося дистрибутива на Arch Linux, opennews, 24-Апр-25, 23:21  [ | | | ] [линейный вид] [смотреть все]


В http-сервере Apache 2.4.65 устранена проблема, ломающая работу mod_rewrite, opennews, 24-Июл-25, 11:16  [ | | | ] [линейный вид] [смотреть все]


Доступна библиотека OpenAPV 0.2 с эталонной реализацией видеокодека APV, opennews, 21-Июл-25, 21:55  [ | | | ] [линейный вид] [смотреть все]


Выпуск свободной системы 3D-моделирования Blender 4.5, opennews, 17-Июл-25, 17:33  [ | | | ] [линейный вид] [смотреть все]


Доля Linux-дистрибутивов в США и Германии превысила 5% по статистике StatCounter, opennews, 17-Июл-25, 09:21  [ | | | ] [линейный вид] [смотреть все]


Google представил проект OSS Rebuild для выявления скрытых изменений в пакетах, opennews, 22-Июл-25, 09:52  [ | | | ] [линейный вид] [смотреть все]
  • Но OSS - это же open sound system , Аноним (1), 09:52 , 22-Июл-25 (1) +2
  • Не мог бы Xz написан на Си, а OSS не поддерживает его аудит , Аноним (1), 09:55 , 22-Июл-25 (3) +14 [^]
  • Полезная вещь Особенно для npm В идеале это должны реализовывать сами репозито, Аноним (97), 10:27 , 22-Июл-25 (6)
  • И что в итоге то проверяется Даже crates io с компилируемым Rust хранятся тольк, Аноним (11), 11:02 , 22-Июл-25 (11) +2
    • Так там не только бинарники тестируют Ещё и самые частые векторы атак У питона, Аноним (97), 11:09 , 22-Июл-25 (13)
    • аналитика как она есть, Аноним (19), 12:06 , 22-Июл-25 (18)
      • веб-синьоры как они есть, 12yoexpert (ok), 13:59 , 22-Июл-25 (25)
      • Просто сейчас появилось огромное количество случайных войтивойтишников Их даже , Аноним (27), 16:36 , 22-Июл-25 (27)
        • Это как-то отменяет тот факт, что Питон 8212 интерпретируемый язык , Аноним (22), 19:02 , 22-Июл-25 (35) +3
          • Интерпретируемой или компилируемой может быть реализация языка Язык может быть и, Аноним (43), 20:33 , 22-Июл-25 (43) –4 [V]
            Интерпретируемой или компилируемой может быть реализация языка.
            Язык может быть и тем и другим.

            Компиляция не означает преобразование в машинный код. Нельзя путать её с компилятором. Есть разные языки, которые компилируются в другие языки.
            Пример: dart -> js, ts -> ts, vala -> c и т.п.

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

            Что там компилируется перед интерпретацией?
            Компилируется питон.
            А что там интерпретируется?
            Интерпретируется байт-код, а питона уже нет.

            С чего бы тогда питону быть интерпретируемым, если от питона к моменту интерпретации ничего не осталось?

            И как бы наличие компиляции до интерпретации уже говорит, что питон не интерпретируемый язык. Как и наличие кучи компиляторов для python.

            сообщить модератору –4 +/ответить
        • говори себе это почаще, глядишь, и питон перестанет быть интерпретируемым языком, 12yoexpert (ok), 19:13 , 22-Июл-25 (38) –1
          > уже скомпилированный байт-код

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

          сообщить модератору –1 +/ответить
        • Он интерпретирует промежуточный не выполняемый аппаратным процессором код, то , Аноним (16), 14:26 , 23-Июл-25 (53)
          >вошедшие учат, что питон - интерпретируемый язык.

          Он интерпретирует промежуточный (не выполняемый аппаратным процессором) код, то есть ои интерпретатор. Читайте типы интерпретаторов.
          https://ru.wikipedia.org/wiki/%D0%98%D0%...

          сообщить модератору +/ответить
          • Так этот код уже не исходник на питоне Это байт-код среды выполнения Среда вып, Аноним (54), 00:20 , 24-Июл-25 (54)
            > Он интерпретирует промежуточный (не выполняемый аппаратным процессором) код, то есть ои
            > интерпретатор. Читайте типы интерпретаторов.
            > https://ru.wikipedia.org/wiki/%D0%98%D0%...

            Так этот код уже не исходник на питоне. Это байт-код среды выполнения. Среда выполнения не выполняет инструкции языка Python.

            Если ты интерпретируешь не питон, то интерпретируемым является не питон. Логично?
            Интерпретируемым в данном случае является язык байт-код - машинный язык виртуальной машины PVM, но не исходный код на языке Python.

            Так же как язык байт-код в JVM не связан с исходником на языке Java, потому что он мог быть получен из Kotlin, или Scala, или ещё какого-то транслирующегося в байт-код JVM.

            Кстати, а Java у вас тоже интерпретируемый язык?
            Или она компилируемая, хотя там выполняется всё тот же (промежуточный, не выполняемый аппаратным процессором) байт-код в виртуальной среде выполнения? Если она всё же - интерпретируемый язык, то что значит буква c в слове javac.
            А если она компилируемая, то почему питон интерпретируемый, если его интерпретация работает аналогично Java и есть та же буква в .pyc?

            Для Си тоже интерпретаторы пишут.

            Машинный код тоже интерпретируется процессором.

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

            А что в питоне происходит? Как раз анализируется и транслируется весь текст. Не построчно, а целиком.

            А что касается выполнения? Анализируется питоновская инструкция, или инструкция байт-кода?

            Вот поэтому придумали всякую ересь вроде интерпретаторов компилирующего типа, компиляторов интерпретирующего типа.
            Но это как раз и говорит о том, что язык не является ограниченным в одном типе.
            Поэтому питон не является интерпретируемым языком.
            Что касается реализации Питона, то она указывает на то, что он является компилируемым.

            Далее читаем:
            > Алгоритм работы простого интерпретатора:
            > 1. прочитать инструкцию;

            Интерпретатор Питона должен читать инструкцию на Питоне, чтобы интерпретировать язык Питон.
            Но PVM читает инструкцию уже на байт-коде. Байт-код это не Питон, это такой машинный код для виртуальной среды исполнения. Можете считать её упрощённым процессом-виртуальным процессором.

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

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

            А это определение в вики объявляет интерпретируемой только среду исполнения, поскольку команда запуска виртуальной машины (как и её прерывание) и передача на её виртуальный конвейер инструкций байт-кода могут быть выполнены лишь на её уровне. К языку непосредственно оно никакого отношения не имеет.

            Ну, я согласен, что интерпретатор питона является интерпретатором :), но причём тут питон, если произошла трансляция в другую форму?

            Автор статьи сам до конца не понимает, чем компиляция, интерпретация и трансляция отличаются друг от друга.

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

            С Питоном работает компилятор, интерпретатор Питона уже не видит. Но интерпретируемый - Питон. Замечательная логика.

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

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

            А чего ещё ждать в наше время. Перевернуть определения и подменить понятия - характерная черта современности.

            Хотите увидеть как работает настоящий интерпретатор? Типа "простой интерпретатор".
            Тогда скачайте его и проверьте как там анализируется одна строка кода и её параметры передаются подпрограмме (никогда не меняющейся). Меняются только данные в памяти, но не подпрограммы связанные с ключевыми словами языков, подпрограммам передаются адреса переменных. И, конечно же, там нет никакой компиляции.

            Скачайте, хоть Бейсик, хоть Фокал, или поставьте эмулятор старого бытового компьютера с прошитым в ПЗУ интерпретатором. Что угодно. А потом отладчиком пройдитесь.
            Только не называйте тормозной интерпретатор недоассемблера интерпретатором питона.

            "промежуточный (не выполняемый аппаратным процессором) код" кодом Питона не является.
            Допустим, ваш компилятор переводит Питон-код не в байт-код, а в си++ (чтобы было понятней, что он промежуточный и не выполняется), для аналогичной машины содержащей процедуры машинного кода, связанные с ключевыми словами си++, без компиляции. Он интерпретировался? Ещё нет. Только скомпилировался. Далее машина будет интерпретировать C++-код построчно. От этого C++ станет интерпретируемым языком? Или языки всё же не должны делиться жёстко на эти два типа?

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

            Не нравится c++, возьмите basic, pascal, c#...

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

            Вот лучше почитайте вместо википедии:
            https://leanpub.com/insidethepythonvirtualmachine/read#leanp...

            Прямо первое предложение.

            Как видите, на самом деле всё совсем наоборот. И оказывается, питон компилируемый. Только не сам язык, а его реализация. Язык же может быть и тем и другим.

            Просто айти заполонили 12-летние эксперты, которые никак не перешагнут 13-летний барьер.
            Самое странное, что они догадываются что там под капотом и признают, что питон компилируется, а интерпретируется совсем другой язык, но продолжают поддерживать современные противоречащие самим себе толкования.

            сообщить модератору +/ответить
            • Всё это форма казуистики Есть факт - исполняемый файл Си и полностью компилируе, Аноним (16), 16:18 , 24-Июл-25 (55)
              Всё это форма казуистики. Есть факт - исполняемый файл Си и полностью компилируемых языков ничего не требует. чтобы выполняться на другом компьютере. Исполняемый файл, созданный с помощью Python,  включает интерпретатор Python и все необходимые библиотеки (если вы собирали его правильно). Си на выходе дает нативный машинный код, python в довесок включает виртуальный процессор. Это как игры Unity, если их посмотреть с помощью CE, например, то увидим, что в памяти есть модуль Unity, который интерпретирует игру написанную разработчиками (она размещается в отдельном регионе памяти).  
              сообщить модератору +/ответить
              • Я как бы про это и говорил Си компилируется для аппаратного процессора И интерп, Аноним (57), 21:29 , 24-Июл-25 (57)
                Я как бы про это и говорил.
                Си компилируется для аппаратного процессора. И интерпретируется им.
                Питон компилируется для программного недопроцессора. И интерпретируется им.
                А вот при реализации настоящего интерпретатора исходник не компилируется в другой язык, он передаётся построчно на вход интерпретатора. Передал строку, выполнил, передал следующую, выполнил. Иначе это не интерпретатор.

                C-код (весь) -> машинный код (инструкция) -> аппаратный процессор (быстрый интерпретатор)
                Python-код (весь) -> байт-код (инструкция) -> PVM (тормозной интерпретатор) -> аппаратный процессор (быстрый интерпретатор)

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

                А вот как в обычном интерпретаторе:

                Basic-код (строка) -> Basic (тормозной интерпретатор) -> аппаратный процессор (быстрый интерпретатор).
                Перевода исходника на другой язык не происходит.

                Убираем аппаратный процессор, видим разницу между тормозами в обычном интерпретаторе, и в питоне.
                В Basic тормозит интерпретатор Basic, (тут всё сошлось)
                в Python тормозит интерпретатор байт-кода (а тут какая-то несостыковочка).

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

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

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

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

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

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

                А другие решили пойти по иному пути и сделали JIT-компиляцию. Но и она относится к виртуальной машине, интерпретирующей байт-код. В итоге, сначала выполняется компиляция с трансляцией в байт-код, а потом интерпретация строк байт-кода с компиляцией в машинный код.

                Вот такая вот интерпретация в якобы Питоне, с двойной компиляцией.
                Отсюда и понятия типа компилирующего интерпретатора, который в реальности работает не с Питоном.

                > Всё это форма казуистики.

                Это такая же казуистика как "wine - не эмулятор".
                Wine эмулирует поведение винды для работы виндовых программ. С точки зрения обычного пользователя это самый натуральный эмулятор. А попробуй на опеннете забыть, что под капотом трансляция API, тебя тут же заминусуют. :)

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

                Так любой отладчик работает как интерпретатор.
                Мне что, теперь ассемблеры с сишками называть интерпретируемыми, только потому, что нашлась программа, которая позволяет выполнить язык построчно? :)

                Так и запишем: gdb - интерпретатор всех языков программирования, включая компилируемые и машинные.
                А что, неплохо. Инструкции выполнил, результат показал. Однозначно, интерпретатор.

                Трассировщики с дизассемблерами тоже к интерпретаторам отнесём? Ну конечно, пошагово же работают.

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

                Ну тогда и незачем сыр-бор разводить по поводу терминологии. Она не нужна.

                (смекалочка.jpg):
                Когда язык компилируют, он компилируемый. Когда язык интерпретируют, он интерпретируемый. С языком можно делать и то и другое.

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

                Казуистикой я бы посчитал компилирующий интерпретатор. Вы уж определитесь там.

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

                сообщить модератору +/ответить
    • Даже crates iohttps www opennet ru opennews art shtml num 59656, Аноним (72), 14:32 , 22-Июл-25 (26)
  • Где то я такое уже видел, Аноним (49), 12:19 , 22-Июл-25 (20) –1
  • Вот, а некоторые ещё тут пытаются троллить гентушников , Аноним (106), 18:34 , 22-Июл-25 (34) +1
  • Ого, ADinf изобрели , pda (ok), 19:40 , 22-Июл-25 (39) +1
    Ого, ADinf изобрели... :)
    сообщить модератору +1 +/ответить
  • а мд5 пакета хранить рядом с файлом если , ятупойтролль (ok), 21:46 , 22-Июл-25 (45)
    а мд5 пакета хранить рядом с файлом если?
    сообщить модератору +/ответить
  • Надеюсь это не для того, чтобы формально снять вопрос соответствия исходникам Т, Аноним (16), 14:06 , 23-Июл-25 (51)
    Надеюсь это не для того, чтобы формально снять вопрос соответствия исходникам. Типа, спите спокойно, качайте не глядя - всё контролируется нами.  ))
    сообщить модератору +/ответить
  • Ни слова про машин лернинг , Илья (??), 02:55 , 25-Июл-25 (58)
    Ни слова про машин лернинг!
    сообщить модератору +/ответить


Оценка эффективности применения AI-инструментов выявила замедление, а не ускорение разработки, opennews, 12-Июл-25, 12:21  [ | | | ] [линейный вид] [смотреть все]


Впуск DXVK-Sarek 1.11.0, реализации Direct3D 8/9/10/11 для GPU без поддержки Vulkan 1.3, opennews, 20-Июл-25, 08:19  [ | | | ] [линейный вид] [смотреть все]


Подтверждены планы по слиянию Chrome OS и Android в одну платформу, opennews, 15-Июл-25, 08:34  [ | | | ] [линейный вид] [смотреть все]


Уязвимости в СУБД Redis и Valkey, opennews, 07-Июл-25, 11:49  [ | | | ] [линейный вид] [смотреть все]


Уязвимости в пакетных менеджерах Nix, Lix и Guix, opennews, 25-Июн-25, 14:03  [ | | | ] [линейный вид] [смотреть все]


Фишинг позволил получить контроль над несколькими популярными NPM-пакетами, opennews, 21-Июл-25, 09:22  [ | | | ] [линейный вид] [смотреть все]


Компания Intel прекратила разработку дистрибутива Clear Linux, opennews, 19-Июл-25, 11:03  [ | | | ] [линейный вид] [смотреть все]


Доступна платформа совместной разработки Forgejo 12.0, opennews, 18-Июл-25, 16:07  [ | | | ] [линейный вид] [смотреть все]


Каталог PyPI заблокировал регистрацию с email-адресов inbox.ru из-за спама, opennews, 17-Июл-25, 08:42  [ | | | ] [линейный вид] [смотреть все]


Опубликована платформа запуска серверных приложений NethServer 8.5, opennews, 13-Июл-25, 14:31  [ | | | ] [линейный вид] [смотреть все]


 
Пометить прочитанным Создать тему
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Архив | Избранное | Мое | Новое | | |



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру