ASP - это скомпилированный язык или нет? конечно, это так.
Нет, это не так.
Первая причина, по которой ASP не является скомпилированным языком, заключается в том, что не существует в качестве скомпилированного языка. Язык не компилируется и не интерпретируется. Язык просто это . Язык - это набор абстрактных математических правил. Интерпретация или компиляция - это черты языковой реализации , они не имеют ничего общего с языком . Каждый язык может быть реализован либо компилятором, либо интерпретатором; большинство современных высокопроизводительных языковых реализаций фактически используют и и переключаются между ними в зависимости от того, какая из них быстрее в конкретном контексте.
Вторая причина, по которой ASP не является компилируемым языком, заключается в том, что он не является языком. Это рамки. Вы можете написать код для ASP на любом языке, для которого существует механизм ActiveScripting (например, Ruby через ActiveRuby), но чаще всего можно написать код на VBScript или JScript.
Что приводит нас к третьей причине: реализации VBScript и JScript, которые поставляются с Windows, а также ActiveRuby и все другие известные мне движки ActiveScripting, являются чистыми интерпретаторами , они не может скомпилировать. Итак, хотя я и писал выше, что любой язык может быть реализован с использованием компилятора или интерпретатора, all механизмы исполнения языка, которые поддерживаются ASP, истолковано .
PHP - это интерпретируемый язык.
Снова: нет, это не так.
Причина первая та же, что и выше: просто нет такой вещи, как интерпретируемый язык.
И, в отличие от ASP, подавляющее большинство реализаций PHP на самом деле do содержат компилятор. Некоторые даже являются чистыми компиляторами, у них даже нет интерпретатора. (Например, Phalanger всегда компилируется прямо в CIL, без какой-либо интерпретации. P8 может интерпретировать или компилировать прямо в байт-код JVM, или и то и другое: интерпретировать, собирать данные профиля при интерпретации, а затем JIT-компилировать в байт-код JVM.)
Но есть большая разница между ASP и PHP. В чем различия?
ASP - (независимый от языка) фреймворк, PHP - это язык. Это довольно большая разница. (На самом деле PHP содержит один маленький кусочек, который на других языках обычно считается частью веб-фреймворка: интеграция с веб-сервером.)
PHP обладает высокой переносимостью между операционными системами, архитектурами ЦП и веб-серверами: есть реализация PHP практически для любой среды исполнения, от JVM до CLI и Parrot, для естественного запуска практически во всех операционных системах на солнце. ASP довольно тесно связан с Microsoft Internet Information Server, Microsoft Windows и платформой ПК. (Были некоторые другие реализации, но они довольно неясны и больше не доступны.)
PHP имеет множество различных реализаций (Phalanger, Quercus, Pipp, PHC, P8, Zend), ASP имеет только одну. (Как я уже сказал, два других больше не доступны.)
Подавляющее большинство реализаций PHP является открытым исходным кодом (я думаю, что единственным исключением является P8), в то время как все три известные мне реализации ASP являются проприетарными.
PHP активно разрабатывается и поддерживается, в то время как ASP в значительной степени устарел и был заменен ASP.NET.