问题

为什么叫.NET?它和C#是什么关系?

回答
“.NET”这个名字,听起来有点科技感,又有点神秘。其实,它背后代表的是微软公司在软件开发领域的一个庞大而又统一的平台,旨在让开发者能够更便捷、更高效地构建各种类型的应用程序。

追溯起来,微软在90年代末期已经拥有了像Visual Basic、Visual C++这样非常成功的开发工具,但它们之间在技术栈、开发模式上存在不少差异,这给开发者带来了一定的学习和集成成本。随着互联网的兴起,人们对构建动态、交互式网页应用的需求也日益增长。微软意识到,需要一个更现代、更统一、更面向未来的平台来应对这些挑战,并且要能够支持跨平台开发,而不仅仅局限于Windows。

于是,在2000年左右,微软推出了.NET平台。这个名字本身就很有意思,“.”(点)通常在计算机科学中用来分隔命名空间或者访问对象成员,代表着一种结构和关联;而“NET”则直接指向了“网络”(Network),彰显了其对网络应用开发的高度重视和支持。所以,“.NET”可以理解为“连接网络”、“网络之上”或者“通往网络之门的钥匙”之类的含义,强调的是其构建网络化、互联互通的应用程序的能力。

那么,C在.NET这个大舞台上扮演着什么样的角色呢?你可以把.NET平台想象成一个设备齐全、功能完善的厨房,而C则是厨房里的一把非常趁手、功能强大的主厨刀。

.NET平台不仅仅是一个编程语言,它是一个框架(Framework)。这个框架包含了一整套非常丰富的类库(Base Class Library,BCL)和运行时环境(Common Language Runtime,CLR)。这些库提供了诸如文件操作、网络通信、图形界面绘制、数据库访问等各种基础功能,开发者可以直接调用,而无需从头开始编写。CLR则负责管理应用程序的执行,包括内存管理(垃圾回收)、线程管理、安全检查等等,它为代码的运行提供了一个安全、高效的沙盒环境。

在.NET这个框架下,微软设计了一个叫做通用语言运行时(Common Language Runtime, CLR)的东西。CLR的核心思想是支持多种编程语言,让它们能够在这个平台上和谐共存并互相交互。就好比在一个大剧院里,你可以用不同的语言(英语、法语、中文)去表演,但剧院本身(CLR)能识别和处理这些不同的语言,并把它们转换成大家都能理解的形式。

C(读作C sharp)就是微软为.NET平台量身打造的一种面向对象编程语言。你可以把它理解为是.NET平台最得力的“代言人”和“主要使用者”。C的设计初衷就是为了充分利用.NET框架的强大功能,并提供一种现代、安全、高效的开发体验。

C语言拥有非常清晰、简洁的语法,借鉴了C++和Java等多种语言的优点,但又避免了一些它们的复杂性和容易出错的特性。它天生就与.NET框架紧密集成,这意味着用C编写的代码能够非常自然地访问.NET类库中的所有功能。当你用C写一个应用程序时,你就像是在使用.NET这个厨房里的各种工具和食材,C就像是你手中最顺手的工具,帮你把这些元素组合起来,创造出美味佳肴。

所以,它们的关系可以这样理解:

.NET 是一个平台,一个大的生态系统,它提供了基础架构、运行环境和一系列的服务,让开发者可以在上面构建软件。
C 是一个编程语言,它是一种工具,一种编写指令的方式,用来告诉.NET平台我们想要做什么。

你可以用C来编写运行在.NET平台上的应用程序,但.NET平台也支持其他语言,比如Visual Basic .NET (VB.NET)或者F。然而,C无疑是.NET生态中最流行、功能最强大、也是微软最主推的语言。可以说,C是.NET平台上最“舒适”和“原生”的编程语言,它们两者是相互成就、密不可分的。就好比一个艺术家(开发者)可以使用他的画笔(C)在画布(.NET平台)上创作出精彩的画作。

网友意见

user avatar

C#是.NET战略下的一个对标Java的语言而已。


.NET既不是编程语言也不是框架,是类似于次世代,新世纪,21世纪,信息时代,互联网时代之类的宣传口号……你可以认为和苹果的i series差不多的概念,只不过苹果没有大张旗鼓地宣传i series



很显然,微软低估了.在推广中可能带来的麻烦……

.NET是微软改名部目前最失败的名字……


如果Windows Vista不是难产了两年,很可能就会叫做Windows.net



而事实上C#也不是正经的名字,按照官方说法这个语言叫做C♯,注意两个横线是向上的,这是升半音符号,也就是代表钢琴C键旁边的那个黑键……

当然,很快官方文档上也用#(也就是Shift+3)来代替那个莫名其妙的升半音符号了……



类似的话题

  • 回答
    “.NET”这个名字,听起来有点科技感,又有点神秘。其实,它背后代表的是微软公司在软件开发领域的一个庞大而又统一的平台,旨在让开发者能够更便捷、更高效地构建各种类型的应用程序。追溯起来,微软在90年代末期已经拥有了像Visual Basic、Visual C++这样非常成功的开发工具,但它们之间在技.............
  • 回答
    说.NET 团队在支持AOT(AheadOfTime)编译上“拉胯”,这个说法可能有些过于绝对了,但要说他们在这块的推进速度或成果和一些开发者期望的有差距,那倒是事实。我们不妨深入聊聊这里面的具体情况,看看为什么大家会有这样的感觉。首先,理解AOT编译对.NET来说意味着什么很重要。长期以来,.NE.............
  • 回答
    这是一个很有意思的问题,涉及到技术演进、生态系统、历史惯性以及商业决策等多个层面。要说 .NET 平台在“技术上远强过”Java,可能有些绝对,因为“强”的标准很多元,且双方都在持续进步。但不可否认,.NET 在某些领域确实展现出了令人瞩目的技术优势,而 Java 依旧是许多大型企业的首选,这背后有.............
  • 回答
    .NET 托管语言之所以能实现诸如内存安全、跨平台能力、自动垃圾回收、反射、类型安全等一系列强大特性,其核心在于背后那个叫做“.NET运行时”(.NET Runtime)的强大执行环境。你可以把.NET运行时想象成一个非常聪明的“保姆”,它负责管理你的程序运行过程中的方方面面。首先,我们来聊聊内存管.............
  • 回答
    C/.NET 在国内的人气远不如国外,这是一个复杂的问题,涉及到技术、市场、生态、历史、文化等多个层面。虽然近年 C/.NET在国内的市场份额有所增长,但与一些本土技术或者其他国际流行技术相比,其普及度和社区活跃度确实存在一定的差距。以下我将从多个角度详细分析 C/.NET 在国内人气不如国外的原因.............
  • 回答
    过去几年,.NET 和 C 在国内的“没落”论调确实甚嚣尘上,而与此形成鲜明对比的是,在欧美等发达国家,.NET 的地位依旧稳固,甚至可以说是如日中天。这背后的原因错综复杂,涉及到技术生态、市场需求、人才培养以及国内互联网行业发展路径的特殊性等多个维度。咱们就掰开了揉碎了好好聊聊。首先,我们得承认,.............
  • 回答
    ASP.NET 和 PHP,这两者都曾是 Web 开发领域举足轻重的技术,但论及普及度和广泛性,PHP 似乎更胜一筹。这背后并非简单的技术优劣之争,而是多种因素交织作用的结果。首先,我们得看看 PHP 的出身和它所处的时代。PHP 在诞生之初,就带着一种“免费、开放、易于上手”的光环。它几乎是为互联.............
  • 回答
    Facebook,这家全球最大的社交媒体公司,其庞大的基础设施和技术栈选择,一直以来都是业界的焦点。要理解为什么Facebook在很多关键领域没有选择.NET,我们需要深入到它成立之初的背景,以及它在发展过程中所面临的独特挑战和技术哲学。首先,Facebook诞生于2004年,当时正值PHP和MyS.............
  • 回答
    .NET 框架在设计之初,就展现出了一个清晰的目标:构建一个统一、高效且跨平台的开发环境。将应用程序编程语言“统一”并非是简单地抛弃其他语言,而是通过一个强大的平台,让多种语言能够在此基础上和谐共存,协同工作。这背后蕴含着对开发者效率、代码复用、性能优化以及平台稳定性的深邃考量。首先,我们得理解“统.............
  • 回答
    .NET 的 `Dictionary` 并没有为 `IEqualityComparer` 提供一个普遍适用的默认实现,这背后其实是设计上的深思熟虑,旨在为开发者提供更大的灵活性和可控性,而不是为了偷懒或技术限制。让我们深入剖析一下原因。核心在于“相等”的定义并非一成不变当你使用 `Dictionar.............
  • 回答
    在Owin出现之前,ASP.NET应用程序的发布一直牢牢地绑定在IIS(Internet Information Services)的土壤里,这其中的原因可以从ASP.NET的设计哲学、Web服务器的职责以及微软生态系统的紧密耦合来细致地解读。首先,我们得明白ASP.NET诞生的初衷。它被设计为一个.............
  • 回答
    最近在技术圈子里,老是能听到有人在讨论“为什么用.NET的公司这么少?”。这话题听起来挺有意思的,也挺能引起大家兴趣的。不过,如果真的要细掰扯一下,你会发现这“少”其实是个相对的概念,而且背后的原因也挺复杂,涉及到技术本身、历史因素、生态环境,甚至还有一些人们的主观认知。首先,得承认,放眼全球,确实.............
  • 回答
    这其实是一个很有意思的现象,很多人在接触 .NET 的过程中,尤其是刚开始接触、在大学课堂上系统学习,或者在工作中长期使用 .NET 的时候,确实会表现出对微软和 .NET 的一些批评比较敏感。这不是说他们不懂得批判性思维,而是背后有几个挺值得玩味的原因。首先,得想想他们为什么会选择 .NET。对于.............
  • 回答
    在C的.NET库中,确实没有一个名为“PriorityQueue”的顶级、开箱即用的通用容器类型,这与某些其他语言或编程模型(如Python的`heapq`模块,或者Java的`PriorityQueue`类)的默认设置有所不同。究其原因,这背后涉及到对“优先队列”概念的理解、.NET设计哲学的取舍.............
  • 回答
    其实,这并非一个简单的“好坏”之分,很多时候选择技术栈更像是在权衡利弊,就像在挑选最适合的工具去完成一项特定的工作。PHP和JSP之所以能吸引到不少公司,当然有它们独特的优势,而.NET,就像任何强大的技术一样,也并非完美无缺,它的一些特点确实会让一些公司在选择时犹豫。咱们先聊聊PHP和JSP吸引人.............
  • 回答
    PowerShell 和 VBA 在与 .NET 框架交互的方式上存在根本性的差异,这使得 PowerShell 能够更加直接、灵活地利用 .NET 的强大功能,而 VBA 则受到更多限制。理解这种差异,关键在于把握 PowerShell 的设计哲学以及 .NET 本身的运作机制。首先,让我们来谈谈.............
  • 回答
    这个问题很有意思,它触及了技术发展中一个核心的矛盾:创新与延续。Windows之所以被冠以“变态的向下兼容性”,这背后其实是一种深厚的历史积淀和战略选择。你可以想象一下,Windows从最初的DOS图形界面,一步步演化到现在的Windows 11。这中间经历了无数次架构的调整、API的更新、硬件接口.............
  • 回答
    携程在技术转型中从 .NET 转向 Java,这是一个非常复杂且涉及多方面因素的决策,并非“突然”发生,而是经过深思熟虑和长期演进的结果。以下将从技术选型、生态系统、人才招聘、成本效益、战略发展等多个维度,尽量详细地阐述携程技术转型的原因:一、 技术选型背后的考量: 开源生态与社区活跃度: .............
  • 回答
    这个问题很有意思,我们不妨从几个角度来聊聊,为什么现在很多公司在招聘程序员的时候,会更倾向于寻找掌握 Java、C、C++ 的人才,而 C/.NET 的身影似乎没那么抢眼。首先,得承认,Java 和 C/C++ 这几位“老将”确实在IT界耕耘了非常久远的岁月,它们的根基深厚,应用场景也异常广泛。Ja.............
  • 回答
    作为一名 .NET 开发者,深入理解 Common Language Runtime (CLR) 绝非可有可无的附加知识,它更像是你成为一名技艺精湛的 .NET 工程师的必经之路。你可能会想,我能写出功能齐全的应用,也能调试代码,是不是就足够了?事实是,当你真正开始探究 CLR 的运行机制时,你会发.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有