Мне действительно неясно, в чем разница между C #, C # .NET и тем же для ASP и других языков .NET.
Насколько я понимаю, .NET - это библиотека / фреймворк ... вещей. Я думаю, что они, по сути, имеют доступ к данным Windows, таким как элементы формы и т. Д., Но, похоже, это не относится к ASP.NET.
Кроме того, я вижу людей, называющих себя разработчиками .NET. Значит ли это, что они свободно говорят на C #, ASP и других языках?
Наконец, я никогда не вижу C # без .NET. Связан ли C # так близко к .NET, чтобы без него быть непригодным для использования?
В итоге: что конкретно предоставляет .NET? Как это относится к C #, ASP и т. Д.? Что означает «разработчик .NET»? И, наконец, почему вы никогда не видите C # без .NET?
[Кроме того, я понимаю, что это несколько вопросов, но я думаю, что они очень взаимосвязаны (или, по крайней мере, такое впечатление, которое дало мне просмотр Программистов / SO и т. Д.)].
.NET - это фреймворк для разработки приложений - он содержит множество библиотек, содержащих широкий спектр функций.
C # - это язык, созданный для использования с .NET. Это не единственный .NET-совместимый язык - другие варианты включают VB.NET, F #, Managed C ++, IronRuby и IronPython. Вы пишете код на языке по вашему выбору, чтобы использовать функциональные возможности в .NET Framework.
ASP.NET - это расширение .NET, которое помогает вам писать веб-приложения и веб-сайты. Большая часть общей структуры доступна (или полезна, например, в случае WinForms) в этом контексте.
[Классический] ASP - это старая веб-платформа, также от Microsoft. Несмотря на схожие названия, ASP и ASP.NET довольно сильно отличаются друг от друга. Одно заметное отличие состоит в том, что вашими единственными языковыми опциями для ASP являются VBScript и JScript. ASP - старая и устаревшая технология, не беспокойтесь о ней.
источник
Во-первых, .Net - это структура байт-кода, похожая на байт-код Java. .Net, однако, является только BYTECODE. Официального языка ".Net" не существует. Два основных языка для .Net - это C # и VB.Net. ASP.Net является расширением предоставляемой библиотеки .Net, позволяющей приложениям, написанным на C # или VB.Net (или других целевых языках .Net), работать в качестве веб-сайта.
Разработчики, которые говорят, что знают .Net, обычно подразумевают, что они знают C # или VB.Net, или оба, и могут легко выучить тот, который они не знают (C # и VB.Net - чрезвычайно похожие языки, кроме общего синтаксиса)
Наконец, ASP - это не то же самое, что ASP.Net. У них огромные различия
источник
Поскольку только один ответ упоминает Mono, не вдаваясь в детали:
Хотя язык C # изначально разрабатывался в Microsoft как часть .NET Framework, позднее он был стандартизирован ECMA , что означало, что независимые, совместимые со стандартами реализации языка могут быть разработаны, и они действительно были. Самым выдающимся из них является Mono .
Mono - это реализация с открытым исходным кодом набора инструментов, совместимого со стандартом ECMA, совместимого с .NET Framework, включая компилятор C # и реализацию CLI (Mono Runtime, эквивалент CLR от Microsoft - виртуальная машина .NET Framework). Его цель - запускать кроссплатформенные приложения .NET. На сегодняшний день он поддерживает C # 4.0 и существенную часть функций .NET Framework . В дополнение к отражению реализации Microsoft, команда Mono также делает собственные инновации.
Так что да, возможно и возможно работать в C # без .NET. Однако маловероятно, что Mono сможет конкурировать с рыночной долей Microsoft и позицией .NET Framework не сейчас и не в ближайшем будущем.
источник
Книга Джона Скита «C # In Depth» довольно лаконично разбивает .NET. Это часто используется в связи с
источник
Остальные ответы хорошо объясняют, что такое каждая технология, но я думаю, что они упускают одну из основных причин путаницы. C # и C # .NET по сути являются синонимами, однако VB.NET и VB различны, а ASP и ASP.NET также различны. VB обычно относится к VB6 и старше, а ASP относится к классическому ASP. Эти технологии были радикально переработаны с выпуском платформы .NET, и вместо того, чтобы придумывать новые названия для продуктов, Microsoft добавила .NET практически ко всему, но C # также был новым, поэтому оба названия действительно относятся к одному и тому же.
источник
Вы должны различать языки, рамки, CLR, шаблоны и методы программирования.
ASP.Net использует совершенно другой шаблон программирования для разработки Winforms, хотя они имеют одну и ту же основу. Вы можете программировать приложения ASP.net и .Net на разных языках.
Кроме того, есть моно и язык C #, используемый в контексте моно - вероятно, заслуживающий некоторого исследования.
Прочитайте эти ссылки:
http://en.wikipedia.org/wiki/Common_Language_Runtime
http://en.wikipedia.org/wiki/.NET_Framework#Alternative_implementations
http://en.wikipedia.org/wiki/File: Overview_of_the_Common_Language_Infrastructure.svg
источник