Comments 13
Автор переизобрел LISP-машину или Java?
Автор изобрел много чего - в том числе и виртуальную машину.
Проблема, что высокоуровневые концепции работают как бы с тем, что уже известно и только так как разрешил автор концепции, что неизбежно сказывается на производительности, гибкости, и т. п...
Возьмем для примера Windows - изначально это некая среда-надстройка над DOS, где программисту бьют по рукам за попытку обратиться напрямую к чему-то. Всё через драйверы, собственные функции, и т.п... И вот мы видим темы на форуме - как аккуратно хакнуть винду чтобы таки сделать то, что хочется.
"автором создана демонстрационная среда программирования" - вот это было бы интересно, может автор напишет статью об этом?
И да - сразу возникает здоровое желание написать вирус под эту среду... из спортивных соображений. Хотя вирусы думается далеко не основная проблемы для ПО нынче.
Какой же это школьный бред человека, который вообще не разбирается как все сейчас работает ;(
Что это было?
Кто выдал учетку GPT:)
По мне так будущее программирования это, что то похожее на супер компьютер стартрека.
Типа говоришь ему, что ты хочешь, если ему непонятно объясняешь. К примеру они часто создают программы в сериале голосом и задают некие правила исполнения и т. д
Вот это огонь. Опять переизобретать байт код но в другой среде, а надо ли?
Статья опоздала лет на 50, тогда это могло быть чем-то новым. Сейчас в той или иной мере все эти идеи реализованы, где-то прижились (java), что-то оказалось непрактичным. Автору могу лишь посоветовать больше изучать существующие системы.
Всё идет к идее автора. Думаю стандартизация псевдо команд излишнее, будут версии и добавляться новые команды, приближаясь к человеческому языку. Так что автор даже мало взял. Проблема в железе, а не в понимании автора как должно быть.
Наоборот, время показало, что идея тупиковая. Невозможно заставить пользователя (не с математическим складом ума) выражать свои требования на формальном языке, сколь бы этот язык ни мимикрировал под естественный. Сложность предметной области всё похоронит.
А что с железом не так? Терабайт RAM на сервере не проблема. Петафлопсы процессорной мощности - вот они, тензорные ядра на видеокартах по цене потребительского домашнего устройства. Куда вам ещё больше?
Про железо я не дополнил: что оно позволяет вирусам нарушать границы дозволенного.
Да, формализм не прокатит, но скорее будет так: одну функцию можно будет описывать разными выражениями на разных человеческих языках, как свободное описание с уточняющими параметрами. Это как универсальный язык программирования понимающий человеческую речь.
позволяет вирусам нарушать границы дозволенного
Дело не в железе, а во влиянии входного потока данных на систему. Пока система достаточно гибкая, чтобы менять своё поведением под воздействием обрабатываемых данных, будут и вирусы.
Ну, например, сделали в процессорах защищённый режим - атаки сместились с ОС на уровень прикладных приложений. Сделали обязательную подпись всех приложений userspace, фактически заморозив там код - атаки сместились в скриптовую сторону: вредоносный код powershell, bat, python (если доверенный интерпретатор есть в системе). "Железо" не помешает вирусу существовать в псевдокоде "универсального языка программирования, понимающего человеческую речь"
функцию можно будет описывать разными выражениями на разных человеческих языках
Успех существующих ЯП в том, что задачу можно поделить на формальные кубики, описать и протестировать отдельно. Сложность предметной области никуда не девается. Если описание процесса - это 50 мегабайт текста, то удачи делать его на естественном языке. Остаётся молиться, чтобо оно не рухнуло из-за изменения запятой в каком-то месте, из-за чего "интерпретатор меня не так понял".
Пока система достаточно гибкая, чтобы менять своё поведением под воздействием обрабатываемых данных, будут и вирусы.
Процессор исполняя код чужого приложения, позволяет нарушать границы памяти, системные настройки. Поэтому я говорю именно о аппаратной вирусности. Нехватает фундаментальной аппаратной основы взаимодействия приложений в системе (точнее в процессоре) т.е. код приложения не может "делать всё и везде", а может делать всё только в пределах своей памяти. И наоборот код системы по умолчанию может всё, т.к. это первое запущенное приложение на процессоре и в таблице физических адресов ей доступна вся память. Так почему же сейчас вирус может всё?
Так почему же сейчас вирус может всё?
Потому что пользователям так удобнее, и они вирусу разрешают. Так исторически сложилось в Windows, что программы имеют довольно широкие функции. Например, программы-архиваторы могут считать/записать любой файл, Punto Switcher следит за клавиатурным вводом, и т.д.
Пользователям Windows лень тонко настраивать каждой программе границы дозволенного.
В Android другое дело. Там так сложилось, что приложение-калькулятор не может залезть в память приложения-банка. Пользователи к этому привыкли и не бухтят.
Хотя, в принципе, нет большой разницы между Android и Windows, между процессорными архитектурами Intel и ARM. Всё плюс/минус одинаково, разница лишь в настройках по умолчанию и привычках пользователей.
Программное обеспечение будущего, каким оно должно быть