Там есть момент тестирования на производстве. В известном мне случае китайцам просто передавали специальную прошивку, которая подходила только для тестирования, не работы целиком. Рабочую заливали уже дома, с последующим тестированием. Теоретически ничто не мешало им свою прошивку написать, но, видимо, смысла не нашли.
Почему? Для компилятора важен только размер программы и не важно, ООП или иная парадигма. А интерпретатор по умолчанию зависит от входных данных: программа, которая факторизует число, одна и та же, но время работы интерпретатора явно будет зависить от того числа, которое программа факторизует.
Мне нравится определение из статьи Distinguishing an Interpreter from a Compiler, что компилятор от интерпретатора можно отличить по времени выполнения: у компилятора оно зависит только от объёма исходной программы, а у интерпретатора оно ещё зависит и от данных, которые программа обрабатывает. Также интерпретаторы зачастую содержат внутри себя компиляторы.
Ещё была такая утилита как RCVT, которая умела перепаковывать архивы рекурсивно, её ещё можно найти здесь. Причём она не была привязана к какому-то конкретному архиватору, полностью настраивалась через конфигурационный файл.
Когда-то давно, когда ещё C++ Builder 6 был новинкой, мы обнаружили, что странный дефект, который возникал непонятно почему, связан с его конкретным дистрибутивом, который был развёрнут везде, кроме старого ноутбука. Пришлось сделать его сервером сборки, пока мы искали, где добыть нормальный дистрибутив.
про побочные эффекты вспомнилось, что была программа, которая добавляла EURion constellation к печатаемому тексту, чтобы его нельзя было копировать и обрабатывать в графических программах.
И явно описана процедура штрафов для результатов применения масок. Выбирается результат с меньшим штрафом. В качестве метрик как раз используются длинные последовательности и последовательность обнаружения якорей.
Для баша опечатки надо править с помощью Quick Substitution. т. е. если ошибся и набрал got вместо git, то проще набрать ^got^git чем полностью команду перепечатывать.
Тот же iRobot обанкротился и мой робот-пылесос превратился в тыкву.
если вещь того стоит, её вообще могут повторить по своему, оригинально. У автора избыточная и вредная защита от контрафактного производства.
Там есть момент тестирования на производстве. В известном мне случае китайцам просто передавали специальную прошивку, которая подходила только для тестирования, не работы целиком. Рабочую заливали уже дома, с последующим тестированием. Теоретически ничто не мешало им свою прошивку написать, но, видимо, смысла не нашли.
Тут главное, что нет зависимости от данных, которые обрабатывает компилируемая программа.
Почему? Для компилятора важен только размер программы и не важно, ООП или иная парадигма.
А интерпретатор по умолчанию зависит от входных данных: программа, которая факторизует число, одна и та же, но время работы интерпретатора явно будет зависить от того числа, которое программа факторизует.
Тоже впервые его увидел, в чём его преимущество перед обычным блокнотом?
Мне нравится определение из статьи Distinguishing an Interpreter from a Compiler, что компилятор от интерпретатора можно отличить по времени выполнения:
у компилятора оно зависит только от объёма исходной программы, а у интерпретатора оно ещё зависит и от данных, которые программа обрабатывает.
Также интерпретаторы зачастую содержат внутри себя компиляторы.
Мне нравится определение из статьи Distinguishing an Interpreter from a Compiler:
Интересно, что Whisper опубликовали как раз через пять лет.
Ещё была такая утилита как RCVT, которая умела перепаковывать архивы рекурсивно, её ещё можно найти здесь.
Причём она не была привязана к какому-то конкретному архиватору, полностью настраивалась через конфигурационный файл.
Intel же в это время iAPX 432 разрабатывал, 386-й был лишь как затычка, чтобы рынок не потерять. В итоге он выстрелил, а 432 ушёл в закат.
Когда-то давно, когда ещё C++ Builder 6 был новинкой, мы обнаружили, что странный дефект, который возникал непонятно почему, связан с его конкретным дистрибутивом, который был развёрнут везде, кроме старого ноутбука. Пришлось сделать его сервером сборки, пока мы искали, где добыть нормальный дистрибутив.
Плюс старое оборудование, которое просто дропает неизвестные ему протоколы.
Рапира не клон паскаля совсем.
А здесь явно лучше будет вынести сравнение action == GLFW_PRESS в отдельный верхний if, а внутри сделать switch по кодам клавиш.
про побочные эффекты вспомнилось, что была программа, которая добавляла EURion constellation к печатаемому тексту, чтобы его нельзя было копировать и обрабатывать в графических программах.
И явно описана процедура штрафов для результатов применения масок.
Выбирается результат с меньшим штрафом.
В качестве метрик как раз используются длинные последовательности и последовательность обнаружения якорей.
Для баша опечатки надо править с помощью Quick Substitution.
т. е. если ошибся и набрал got вместо git, то проще набрать
^got^git
чем полностью команду перепечатывать.
некоторые вообще считают, что синглтон в программе должен быть один.
У меня жена из-за похожих сбоев перестала быть родственницей своей матери.