Предположим, у нас есть язык программирования foo
. foo
имеет компилятор для System A
, но не для System B
. Теперь разработчик System B
может либо написать собственный компилятор для foo
, либо написать эмулятор System A
, который работает на System B
и может использовать компилятор, написанный для System A
. Очевидным преимуществом эмулятора является то, что он не ограничивается запуском компилятора и открывает System B
другим программам System A
. Очевидным недостатком в большинстве случаев является производительность и сложность в зависимости от систем.Развитие языка программирования и базовая архитектура
Что мне интересно узнать, какой из этих подходов легче поддерживать. Например, пусть php
будет языком, о котором идет речь, и предположим, что phc
является единственным компилятором, доступным для данного языка. Этот компилятор работает только в Unix-подобных средах. Поэтому возникает вопрос: проще ли поддерживать новый компилятор для Windows (например, phc-win
)? или поддерживать Unix-подобную среду, которая работает в Windows (например, Cygwin
)?
Вы можете ответить на ваш вопрос наукой. ** Попробуйте оба подхода, поддерживайте их в течение длительного времени, тщательно записывайте количество проблем, которые у вас есть при обслуживании, и публикуйте свои выводы **. –