Да забудьте уже про powershell. В простейшем случае, когда программа умеет читать из stdin и разбирать объекты определенных типов, ситуация не особо отличается от типизированных пайпов. Профит только в едином формате пересылки данных и возможности построить стандартную библиотеку.
Зависит от механизма сериализации. Обычно конструкторы не вызываются при десериализации.
Может, все это выглядит и не очень красиво, но на практике получается крайне удобно. Особенно если работать с языками, умеющими передавать объекты вместе с кодом.
Почему обязаны жить оба процесса? Для передачи или сохранения объекта достаточно передать данные объекта между процессами, а код объекта положить куда-нибудь в shared-библиотеку.
В линуксах такое, конечно, не приживется: линуксов разных дофига на самых разных платформах, и со стандартизацией проблемы.
Ну а в OS X есть AppleScript. Не шелл, но вполне объектный скриптинг с нетривиальным обменом данными между процессами.
Объекты — те же данные, только с информацией о допустимых операциях. Ими гораздо удобнее пользоваться, чем «тупыми» структурами. Все остальное (многопоточность вместо многопроцессности, особенности glob-инга) — специфика винды, в unix-системах можно сделать по-другому.
Не обманывайте себя. Мозг не в состоянии долго концентрировать внимание на «море символов». Человек умнее машины, конечно, но машина всегда следит за человеком и ждет, когда он устанет, отвлечется и не заметит опечатку в аргументах rm.
imho, цель статьи — показать, откуда и как получается Y-комбинатор. Думаю, хаскелисты это и так знают, а остальных этот дополнительный тип только зря запутает.
Я не понимаю тогда, чего вы хотите добиться. AppStore — не такая уж и глубоко интегрированная часть ОС. Существующие пакетные менеджеры (macports и прочие) могли бы справиться с управлением нативными приложениями ничуть не хуже, чем AppStore. Проблема только в самих репозиториях. Почему-то мейнтейнеры считают, что нужно обязательно превратить макось в странное подобие линукса.
Может, все это выглядит и не очень красиво, но на практике получается крайне удобно. Особенно если работать с языками, умеющими передавать объекты вместе с кодом.
В линуксах такое, конечно, не приживется: линуксов разных дофига на самых разных платформах, и со стандартизацией проблемы.
Ну а в OS X есть AppleScript. Не шелл, но вполне объектный скриптинг с нетривиальным обменом данными между процессами.