На заметку! Несмотря на частую противоречивость тестов производительности, интересное сравнение Java и ASP.NET можно найти по адресу http://gotdotnet.com/team/compare. Помните, что настоящие проблемы, ограничивающие производительность, обычно связаны со специфическими критическими параметрами наподобие доступа к диску, использования CPU, пропускной способности сети и так далее. Во многих тестах производительности ASP.NET превосходит другие решения благодаря поддержке платформенных средств повышения производительности, таких как кэширование, а не росту скорости, который является результатом использования скомпилированного кода.
Хотя модель компиляции в ASP.NET 2.0 по существу остается такой же, она содержит одно важное изменение. Инструмент проектирования (Visual Studio) больше не компилирует код. Вместо этого ваши Web-страницы и службы компилируются при первом запуске, что улучшает процесс отладки. Во избежание непроизводительных издержек первой компиляции при развертывании законченного приложения (и с целью предотвращения вмешательства посторонних лиц в ваш код) можно использовать новое средство предварительной компиляции, рассматриваемое в главе 18.
Несмотря на то, что при разработке приложений вы наверняка отдадите предпочтение какому-то одному языку перед другими, этот выбор не определит то, чего вы сможете достигнуть с помощью своих Web-приложений, поскольку какой бы язык вы не использовали, код компилируется в IL.
IL является конечной целью каждого управляемого приложения. (Управляемым (managed) приложением называется любое приложение, написанное для .NET и выполняющееся внутри управляемой среды CLR). В известном смысле IL является языком .NET и единственным языком, распознаваемым CLR.
Для понимания CLR рассмотрим следующий пример — функцию, написанную на языке С#:
namespace HelloWorld
{
public class TestClass
{
private static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
Этот код демонстрирует наиболее базовое приложение, доступное в .NET — простую утилиту командной строки, отображающую сообщение в окне консоли.
Теперь рассмотрим код под другим углом. Ниже представлен код IL того же класса:
предыдущая следующая страница оглавление
40