В начале был чертополох. Чертополох был в лучшем случае прославленным
регулярное выражение, которое преобразовало ASP в PHP. Это было написано стажером, и это
показал.
Позже Thistle был расширен в компилятор ASP-PHP. составитель
был все еще свободный термин; было еще много магии регулярных выражений, что
полагался на вас, следуя нотации венгерских приложений. Тем не менее, я довольно
уверен, что эта версия Thistle создала AST для кода
поколение, которое означает, что оно квалифицируется как настоящий компилятор.
Это важно, потому что эта версия Thistle была расширена двумя
дополнительные функции: он может скомпилировать VBScript в JavaScript, и это
добавил некоторые удобства в VBScript, такие как макросы (называемые picture
функции (не спрашивайте), лямбды и упрощения
система декларирования. Не смейся слишком сильно над первым; мотивация
был таким же, как для поддержки RJS или JavaScript Seaside. Все трое
технологии мертвы, и не зря, но это было модно в
время.
Позже, когда вышел .NET и VBScript был завершен, это оставило нас
с возможностью переписать все это ... или сделать "реальный"
компилятор, который может компилировать VBScript в .NET. Васаби родился. Wasabi
был написан как правильный компилятор, который может переводить VBScript в C #
и (по старым причинам; см. выше) JavaScript. Васаби, в отличие от
Thistle, был настоящим, полноценным компилятором, в смысле CS, так что это было
возможно добавить вывод типа, лямбда-выражения и некоторые другие
тонкости, не затрачивая слишком много усилий. Тем не менее, цель здесь
было разрешить переход: новые компоненты, с ограничениями, могут быть
написано в C #. Идея заключалась в том, что, по крайней мере, надеюсь, Васаби
постепенно устареть.
Так нет. Это никогда не было предназначено, чтобы быть новым языком. Это всегда было предназначено
быть ступенькой, переводчиком между языками, а не настоящим
язык сам по себе. Хотя он получил некоторые дополнительные функции, это было
сделать работу в проклятой вещи приятной на вкус - не быть настоящим языком
согласно своему праву. Излучение C # и .NET IL примерно одинаково
легко, если у вас есть настоящий компилятор, но васаби всегда выпускает C #,
специально, чтобы мы могли однажды бросить все это дело.