|
Framework .NET - это среда (в которой бегут программы) + библиотека классов + определенные правила.
Среда - CLR (Common Language Runtime) - подобна Virtual Mashine у Java.
На сегодняшний день Visual Studio .NET включает:
С#
VB .NET
VJ .NET
Visual C++ .NET (AKA Managed C++)
+ старые C++, Win32 API, MFC, ATL etc., которые НЕ ЯВЛЯЮТСЯ частью Framework .NET.
Теоретически из любого языка можно сделать .NET, надо только что бы он поддерживал условия специфиц. в CLS (Common Language Specification), на основе которого построена CLR.
Например, языки: Perl .NET, Foxpro .NET.
Поскольку все .NET языки поддерживают CLS, в .NET Framework нет границ между языками. Так, код написанный на С# можно вызвать из VB .NET и т.д.
Код написанный на языке .NET компилируется в assembly (exe или dll), который представляет собой бинарный блок, но написанный не на привычном ассемблере а на неком промежуточном языке IL (Intermidiate Language код).
При запуске assembly, CLR запускает JIT (just-in-time) компилятор, который компилирует команды на IL в команды процессора. JIT запускается только на код, который вызывается. Нет вызова - нет компиляции. Рез-ты компиляции на диск НЕ сохраняются и assembly не меняется, т.е. каждый запуск происходит тоже самое.
Так-же в CLR бежит Garbage Collection (GC) производящая подсчет ссылок и сборку памяти.
Вообще, рассказывать можно до одурения. Это слишком обширная тема, для того что-бы уложиться в один пост.
В нескольких словах - .NET Framework это целый новый мир, это гораздо больше чем просто новая версия Visual Studio или новая библиотека.
Если хочешь узнать побольше о Framework, рекомендую книгу Рихтера: "Applying .NET Framework".
__________________
Фотолюбительщина
Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью.
|