Вадим Румянцев @vadimr
Разработчик аппаратно-программных комплексов
Information
- Rating
- 1,532-nd
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity
Specialization
Project Manager, Software Architect
Lead
Разработчик аппаратно-программных комплексов
and
иor
– это специальные формы, а не функции! Это принципиально, и на этом в Лиспе много построено. Второй аргумент не вычисляется, если первого достаточно.Попробуйте у себя и в clisp:
Специальные формы реализуются макросами.
Это мы не знаем. Гравитационное поле Земли не идеально сферично, и на таких высоких точностях векторы (уклонения отвесной линии от направления на центр Земли) могут себя вести как угодно из-за разной плотности вещества берегов каньона.
А какие рациональные основания существуют для того, чтобы брать разные деньги за один и тот же софт в зависимости от конфигурации компьютера?
Вы к этому привыкли, но это извращение.
Так это ещё с IBM было заведено.
Это с мелочей начинается у IBM. Допустим, x86 сервер IBM/Lenovo имеет 4 встроенных сетевых порта, но исходно активировано 2. Доплатишь - пришлют код активации на 2 других. Софт тут не причём.
... замечательный самопадающий кластер SLES HA, надёжность которого по факту намного меньше надёжности каждого из узлов.
А как бы Вы ответили на вопрос, в чём крутость MVS именно по сравнению с VM? Для меня акцент IBM на OS/MVS никогда не выглядел технически обоснованным. Но я не имею опыта работы с MVS.
Совсем не так. Пространство состояний дискретного автомата очевидно, чего его считать? Это типовая задачка для 2 курса.
Я пытался объяснить, какая вычислительная и семантическая модель является адекватной для реального компьютера и реальной программы.
В просторечии тут имеется в виду, что язык равномощен мТ в вычислительном смысле, то есть что всякий алгоритм вычислим при помощи мТ тогда и только тогда, когда он вычислим при помощи некоторой программы на данном языке. А ещё проще говоря – что на этом языке можно запрограммировать любой алгоритм, программируемый при помощи других языков и, в частности, машины Тьюринга. В частности, в силу самоприменимости машины Тьюринга, это означает и то, что на языке можно реализовать мТ.
Если же говорить строго, то надо к этому добавлять: “... если пренебречь объёмом памяти”.
Любая конкретная процессорная архитектура, если говорить совсем строго, не имеет полноты по Тьюрингу из-за ограниченности адресуемой памяти. Абстрактный язык программирования может иметь, а может не иметь. Реализация языка программирования никогда не имеет, так как опирается на процессорную архитектуру.
Разница между аппликацией и вызовом функции у меня разобрана здесь.
Это большое упрощение. В вузе так действительно учат для простоты, но это не совсем правда, что и разбирается в данной статье.
Не обижайтесь, но Вы сейчас изложили по учебнику очевидные вещи, которые проходят на 2 курсе (я предполагал знание этой базы пререквизитом для чтения данной статьи, и просто напомнил несколько формальных определений). И притом ухитрились сделать неверный вывод, так как именно бесконечность ленты в машине Тьюринга принципиальна. Настолько принципиальна, что конечный автомат даже специально называется конечным.
Кроме того, замечу, что вычислимость по Тьюрингу для разных машин (без оракула) эквивалентна между собой. В этом и сила.
Что касается лямбда-исчисления, то это та же мТ, вид сбоку. Кто и на каких основаниях должен делать редукции? Это просто формализм для процесса вычислений, как он представляется одурманенному гормонами мозгу человека.
Покажите мне лямбда-редуктор или мТ в природе. Таких нет, это конструкция ума. А регулярная порождающая грамматика - это любая химическая реакция, например.
Методически же не очень верно пытаться опровергнуть материал с уровнем "сложный" цитатами из Википедии.
Ну в любом случае мейнфреймы от рождения не специализированы для численных расчётов, и потому имеют другое назначение, чем суперкомпьютеры.
С точки зрения семантики, т.е. понятности для человека, декомпозиция действительно удобна.
Мы же пишем программы для процессора вместе с памятью, а не отдельно от неё. Переменные программы хранятся в памяти. Одна и та же команда процессора, скажем, LDA 10 даст разный результат в зависимости от содержимого памяти по адресу 10. Это даст нам недетерминированный конечный автомат, который ничего не даёт в смысле разговоров об алгоритмах и вычислимости.
Если мы будем рассматривать состояния только самой микросхемы 6502, то для детерминированности тогда и программы надо писать без использования обращений к памяти, а на четырёх регистрах общего назначения (включая SP, который в таком случае будет просто теневой копией X) много не насчитаешь.
В машине Тьюринга память представляется бесконечной лентой.
Идея заключается как раз в том, что, если отделить процессор от памяти, то он представляется каким-то одушевлённым существом, имеющим собственное поведение и реагирующим на события окружающего мира. В то время как вместе с окружением в виде памяти это просто банальный итератор по линейной последовательности состояний.
*** Спасибо, кстати, я увидел, что в статье ошибочно регистр PC обозвал SP :) Исправил.
Я не знаю, как они решают этот вопрос. Мейнфреймы – это большие деньги, которые любят тишину. Но современный мейнфрейм IBM технически невозможно эксплуатировать без возобновляемой лицензии на процессорное время, разве не так?
Некоторые из этих организаций в России использовали IBM z до недавнего времени, но санкции США в 2022 усложнили взаимодействие с IBM, а для мейнфрейма это очень важно по причине лицензионной политики.
ECC снижает вероятность ошибки, но не обнуляет её.
Ошибка может произойти в процессоре. Помнится, я читал, что в среднем раз в год микропроцессор процессор даёт единичный сбой из-за действия космического излучения. Процессоры мейнфреймов имеют параллельно работающие функциональные блоки для устранения таких ошибок, x86 нет.
Ошибка может произойти во вводе-выводе, даже с учётом контрольных сумм. Я думаю, каждый имеет опыт чтения мусора с диска. Даже с raid это принципиально возможно в ряде сценариев.
С синхронизацией ВМ ещё проблема в том, что не обязательно ведь в результате ошибки ВМ упадёт. Там может просто измениться какой-нибудь битик в памяти, и фиг это заметит гипервизор.
Человек, поставивший мне минус в карму за "распространение рекламы" после публикации этой статьи, объясни, пожалуйста, своё действие! Это воспринимается как реклама инициальных детерминированных конечных автоматов?
Единицы в карме не жалко, но хотелось бы понять логику.
Вопрос не в hot swap, а в продолжении работы программы.