В чём разница между .NET и NET?

«В чём разница между .NET и NET?» — вопрос из категории Other, который задают на 25% собеседований C/C++ Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Это два совершенно разных понятия.

.NET (произносится "дот-нет"): Это платформа для разработки программного обеспечения, созданная Microsoft. Она предоставляет среду выполнения и обширный набор библиотек для создания различных типов приложений: веб, десктоп, мобильных, облачных и игровых.

Ключевые компоненты .NET:

  • CLR (Common Language Runtime): Виртуальная машина, которая управляет выполнением кода, обеспечивая сборку мусора, безопасность типов и обработку исключений.
  • FCL (Framework Class Library) / BCL (Base Class Library): Огромная библиотека готовых классов для работы с коллекциями, файлами, сетью, базами данных, XML и многого другого.
  • Мультиязыковая поддержка: Исходный код на C#, F#, Visual Basic .NET компилируется в общий промежуточный язык (CIL), который затем выполняется CLR.

Пример простого консольного приложения на C# (.NET):

using System;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello from .NET!");
            // Работа с коллекцией из BCL
            var list = new System.Collections.Generic.List<string> { "C#", "F#", "VB.NET" };
            foreach (var lang in list)
            {
                Console.WriteLine(lang);
            }
        }
    }
}

Эволюция .NET:

  • .NET Framework: Оригинальная, только для Windows версия.
  • .NET Core: Кросс-платформенная, модульная и высокопроизводительная перезагрузка платформы.
  • .NET 5 и новее: Единая платформа, объединившая лучшее из .NET Core и .NET Framework, под названием просто ".NET".

NET (без точки в начале): Это домен верхнего уровня (Top-Level Domain, TLD) в системе доменных имен (DNS), такой же как .com, .org или .io. Изначально он был предназначен для организаций, связанных с сетевыми технологиями (например, провайдеров интернет-услуг), но сейчас используется широко и часто ассоциируется просто с технологическими компаниями или проектами.

Итог: .NET — это технологическая платформа для программистов. NET — это часть адреса сайта в интернете (например, example.net). Их путаница — распространённая опечатка или игра слов.