Когда начали появляться первые языки программирования, то существовало четкое разделение – тот язык реализован в виде интерпретатора, этот – в виде компилятора. Разработчики компиляторов старались вовсю, так как им приходилось преобразовывать элементы языка в машинно-зависимый код (код процессора), при этом с трудом сохранялся баланс между скоростью исполнения программы и ее размером. Оптимизирующие компиляторы – целая наука, которая до сегодняшнего времени до конца не проработана. И, что хуже, с появлением новых процессоров всю работу по компилятору приходилось проводить заново.

В то время уже существовала виртуальная среда исполнения Java от компании Sun, где интерпретатор преобразовывал исходный код в промежуточный байт-код, а Java-машина транслировала его в машинный. Были и другие системы программирования, старающиеся разделить преобразование исходной программы от процесса генерации кода (TopSpeed от JPI). Майкрософт оценила такой подход и реализовала собственную платформу .NET, реклама которой проходила с большим шумом. Идея была в том, что множество входных языков для .NET (Basic, C#, PascalABC, F#, J#) создавали сначала промежуточный IL-код, а затем компилятор JIT преобразовывал его в машинный. Таким образом, .NET стала многоуровневой прослойкой между аппаратурой и компилятором, причем IL-код был универсален и более не привязан к конкретному языку программирования.

Это дало массу преимущество программисту: в отличие от JVM, где была только Java, он мог использовать более широкий набор языков. При этом можно стало использовать библиотеки и классы, написанные на других языках. Дополнительный плюс – в среде .NET все типы данных имеют одинаковый размер, то есть для переноса программы на другую аппаратную платформу достаточно установить в ней саму платформу .NET. Последнее, кстати, произошло не так уж гладко – в Linux и MacOS имеются незначительные изменения в этой среде, так что истинную многоплатформенность можно считать условной.

Наряду с пользой, у .NET есть множество недостатков. Несмотря на то, что полученный байт-код программ очень компактен, приходится таскать с собой платформу .NET, которая в версии 3.5, например, занимает около 650 Мб на диске. Огорчающий «довесок», надо сказать, хотя в Висту и Семерку .NET встроен. Во-вторых, все эти преобразования кода из одной формы в другую расходуют время, то есть программы, в среднем, работают медленнее. И, наконец, на .NET языках нельзя писать программы, работающие в реальном режиме времени (управление технологическими процессами) – из-за вынужденных «остановок», связанных со сборкой мусора в памяти. В остальном же, .NET платформа весьма популярна.

captcha

Что такое облачное хранилище и как им пользоваться? Что такое облачное хранилище и как им пользоваться?
Как выбрать пластины для теплообменника? Пластины для теплообменника
Изучение языка ECMAScript: основа современной веб-разработки История языка ECMAScript
Как добавить комментарий в HTML? HTML примеры
Apple позволит разработчикам распространять приложения напрямую с их сайтов Apple позволит разработчикам распространять приложения напрямую с их сайтов
jQuery 4.0 сокращает поддержку браузеров, удаляет API Новое в jQuery 4.0
Как продвинуть Telegram-канал: с нуля до результата Как продвинуть канал в Telegram с нуля?
Получить IT профессию с нуля: академия Eduson Получить IT профессию с нуля
Перспективы эволюции SEO: встречайте будущее продвижения в поисковых системах Будущее SEO-продвижения
Создание сайтов в Алматы: агентство site-promote.com Разработка сайта компании
Антипкин Михаил Сергеевич о метавселенной, открывающей безграничные возможности для инноваций и экспериментов Антипкин Михаил Сергеевич о метавселенной
Сёрфинг с браузером FraudFox: исчерпывающее руководство Сёрфинг с браузером FraudFox
Где найти лицензионные ключи активации к ПО? Где найти лицензионные ключи активации к ПО?
Курсы веб дизайна: обучение онлайн Курсы веб дизайна: обучение онлайн
Как продлить срок службы бытовой техники? Как продлить срок службы бытовой техники?
Основы VPS/VDS: что нужно знать перед арендой? Основы VPS/VDS: что нужно знать перед арендой?
Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров
Топ-10 игр для Android стоимостью менее $5 Топ-10 игр для Android стоимостью менее $5
Проверка авто в базе ГИБДД перед покупкой Проверка авто в базе ГИБДД перед покупкой
Бизнес-психология в онлайн-институте Smart Бизнес-психология в онлайн-институте Smart