• Правильны ли понятия трансляции, компиляции и интерпретации в книгах Таненбаума?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Если копать слишком глубоко, то идеального совпадения не будет.

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

    Другими словами, не копайте слишком далеко - формальный язык в ИТ сфере, все-таки ближе к физике, а не к математике.

    Например - не путайте машинный язык и ассемблер - при вопросе компиляции и интерпретации это разные вещи.

    Можно перейти к простому определению - интерпретатор выполняет команды программы.

    Следовательно интерпретация - это когда ваш текст программы выполняется непосредственно интерпретатором.

    Компиляция - когда ваш текст программы преобразуется в нечто другое, и при выполнении используется уже результат компиляции, а не ваш текст программы.

    Трансляция - неоднозначная вещь, перевести код из одного языка в другой не всегда возможно, но при компиляции, трансляция используется для первичной подготовки исходного текста к компиляции. Чистая трансляция - вещь специфическая.
    Ответ написан
    Комментировать
  • Правильны ли понятия трансляции, компиляции и интерпретации в книгах Таненбаума?

    Jump
    @Jump
    Системный администратор со стажем.
    Трансляция - собственно перевод.
    Есть два принципиально разных подхода к переводу -
    1)Компиляция - перевели всю программу, и запускаем уже переведенный код.
    2)Интерпретация - переводим оригинал по мере необходимости.

    Это в идеале.
    А в реальности есть самые разные сочетания двух этих подходов.
    Ответ написан
    Комментировать
  • Правильны ли понятия трансляции, компиляции и интерпретации в книгах Таненбаума?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    В том смысле, как эти термины подразумеваются Танненбаумом, различие между трансляцией и компиляцией в том, что в первом случае происходит взаимно-однозначное (и потенциально обратимое) преобразование операторов входного языка (исходника) в команды исполнителя, а компиляция — более «творческий» процесс, когда одному оператору входного языка будет соответствовать произвольное (обычно довольно существенное) число команд исполнителя, однозначность возможна лишь на уровне блоков кода, а обратимость практически утеряна (однозначная декомпиляция невозможна).

    На практике трансляторами являются различные ассемблеры, а компиляторами — генераторы машкода языков высокого уровня (ЯВУ). Это отражено в литературе: ассемблирование программ ассемблером называют трансляцией, а трансляцию (каламбур!) в машкод языков высокого уровня — компиляцией. Иногда говорят «трансляция с ЯВУ», подразумевая неоднозначность процесса явно.

    Другое использование термина «трансляция» — в качестве объединяющего для компиляции и интерпретации. В этом случае речь идет только о языках высокого уровня, ассемблеры остаются за скобками.

    У себя на форуме я неправильно использовал эти термины
    После углубленного изучения темы выяснилось, что процесс генерации обратимого кода для дальнейшего добавления в базу правильней называть трансляцией и установкой, а не компиляцией. В окончательном документе это будет учтено.
    Ответ написан
    1 комментарий
  • Правильны ли понятия трансляции, компиляции и интерпретации в книгах Таненбаума?

    Moskus
    @Moskus
    Эти определения не играют роли, кроме случая, когда вы работаете над проектом, где разрабатывается компилятор, декомпилятор или какое-то иное средство, выполняющее аналогичные функции. Там это важно, потому что команда должна общаться на одном языке и называть одно и то же одинаково.
    Главное, чтобы вы понимали суть этих действий. В книге эти определения даны для "внутреннего" использования, то есть для того, чтобы вы понимали, о чем речь в этой книге.
    Ответ написан
    Комментировать
  • Как реализовать переподключение модема в роутере при потери связи?

    Если у вас Asus прошит dd-wrt, то там часть nvram возможно отвести под jffs, где и можно хранить собственные скрипты.
    enable-ssh3_thumb1.png
    Ответ написан
    Комментировать
  • Как правильно организовать роутинг в php?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    Да.

    Нужно все запросы отправлять в index.php.
    На уровне вебсервера.
    Это третий шаг в инструкции этой библиотеки.

    https://github.com/klein/klein.php/wiki/Sub-Direct...
    Ответ написан
    Комментировать