LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Никто не мешает пропихивать через stdin/stdout бинарные данные, в виде упакованных/сериализованных структур. Да хотя бы JSON.

У объекта кроме полей есть ещё и методы, т.е. надо пропихивать текст полноценных JavaScript-обектов в таком случае. Т.к. текст функций может быть большой, его разумно не пропихивать каждый раз, а хранить где-то в одном месте, а пропихивать только название класса. Помимо этого надо не забыть про то, что может быть несколько версий класса с одним названием. Реализовывать интерпретатор JS в каждой программе глупо, поэтому нужно будет сделать отдельную библиотеку, которая будет реализовывать этот самый JS. Не забыть про безопасность и изоляцию. Так и вырисовывается весь .NET :)

Хотя, конечно, даже просто JSON гонять будет куда лучше текста. Но в любом случае надо писать отдельный язык вместо убогого *sh, нужно писать обёртки ко всем стандартным программам, которые будут адаптировать их к этому sh и уговаривать миллионы людей переходить на этот самый jsonsh. PowerShell уже всё это сделал. Вряд ли у кого-то ещё получится, хотя если тот же Леннарт сделает хорошую альтернативу и RedHat её пропихнёт в качестве стандарта, может и получиться.

Исходная версия Legioner, :

Никто не мешает пропихивать через stdin/stdout бинарные данные, в виде упакованных/сериализованных структур. Да хотя бы JSON.

У объекта кроме полей есть ещё и методы, т.е. надо пропихивать текст полноценных JavaScript-обектов в таком случае. Т.к. текст функций может быть большой, его разумно не пропихивать каждый раз, а хранить где-то в одном месте, а пропихивать только название класса. Помимо этого надо не забыть про то, что может быть несколько версий класса с одним названием. Реализовывать интерпретатор JS в каждой программе глупо, поэтому нужно будет сделать отдельную библиотеку, которая будет реализовывать этот самый JS. Не забыть про безопасность и изоляцию. Так и вырисовывается весь .NET :)

Хотя, конечно, даже просто JSON гонять будет куда лучше текста.