C#和.net是用什么语言写的

toploveall 2009-05-13 05:10:01
不妨借这次机会,大家谈谈你们知道编程语言的历史:
1.那就从机器语言谈起吧,问:机器语言是怎么编出来的,有谁或那个公司发明的,现在还有用机器语言的吗。是先有机器语言还是先有计算机?机器语言有没有归属权。

2.汇编语言,现在应该还有用汇编语言的吧。确认:这个语言是在机器语言的基础是产生的吗?问:是谁或哪个公司发明的。最后这个语言的归属权归谁。

3.C语言,从这个开始,问题就多了。C语言之前,还有其他语言出现吗(发行了的,B语言除外)?C语言是在汇编语言基础上发明的吗?怎么跨度这么大?C语言和它的编译器应该是同时出现的吧。贝尔实验室现在还存在吗,他们现在是做什么用了。C语言的出现是直接用在平民百姓身上,还是先军用,后民用?现在的C语言归属权是微软吗?微软是怎么把C语言弄到手的,花了多钱。是在民用之后弄到手的吗?微软弄到手之后,用C都做了些什么?有没有对C做改进?

4.那先顺着微软的方向来吧,接下来应该是vb和C++了吧:vb是什么时候产生的,是怎么产生的,这是不是微软自己第一次研发的编程工具。C++是在C的基础是开发出来的吗?vb开始的时候,是在什么平台上运行的。先有C++还是先有VB,平台是随着哪一个的诞生,才开发出来的。这时候的微软以哪个语言成为自己的主打语言或者微软还开发出什么编程语言了。在vb诞生前,都已经存在哪些语言了,它们各自归属是哪家公司,它们又是用什么开发的。

5.VF诞生前是是Foxpro吗,它们先,还是Access先,还是vb先,还是C语言先,它们是一个主吗?现在是不是Foxpro和VF都被社会淘汰了?它们最后的版本到了哪一代。它们之前还有什么数据库或编程语言诞生吗?

6.接下来应该是MSSQL 了吧,这个毫无疑问,归属权是微软。它的最早版本是SQL Server1.0吗?什么时候诞生的。我查了一下,Foxpro的意思是数据库,sql的意思也是数据库,server的意思是服务器,那么为什么不叫Foxpro Server而叫SQL Server呢。那么SQL Server的正解应该是:结构化查询语言服务器,对吧?这种服务器该怎么理解,专门用来对付查询语言的,是服务器吗?

7.接下来应该到C#和.net1.0了吧,我们用的.net版本的鼻祖终于露头了。和上面的疑问差不多,能回答上来的,大家多写写。以方便知识的共享。不过我还是要多问一嘴。C#是在C++的基础是开发的吗(是用C++编写的吗)?.net是怎么生成IL的,IL又是怎么生成机器语言的。这种平台和新语言的推出好像是迫于什么压力,才推出的。大家多讲讲。

8.C#2003和.net1.1,我就不多问什么了。第七个问题能有答案,这个问题就自然而解。

9.C#2005和.net2.0的出现,应该说有了实质性的变化,到底有多实质,我也不清楚。那个asp.net在什么时候有的。这时候听说很强大了?改变了web的传统模式?c#2005和.net2.0平台是一起发行的吗?

10.本来还以为编译器(或平台)和语言应该是一起发行的,但是现在有些不敢这样想了,自从.net3.5出现后,只听见C#3.0的声音了,没听见C#3.5的声音。
说到这,我又想起一些关于.net和visual Studio的一些问题,我就一块在这里问了吧:你说这个.net和visual Studio有什么区别?visual Studio下面就一个.net平台,为什么不去掉一个,又为什么.net的版本不随着visual Studio的版本叫(两者的版本号叫法为什么不同),.net3.0是不是对应着visual Studio2008,那么.net3.5对应哪个visual Studio版本?

---------------------------------------------------------------------------------------

...全文
4265 66 打赏 收藏 转发到动态 举报
写回复
用AI写文章
66 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdd1105 2011-10-26
  • 打赏
  • 举报
回复
好像就是 。net
pywepe 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wpgcn 的回复:]

我说说最后一个:C#是编程语言,.net是一个框架,vs是开发工具.三个不是一回事,特别是vs,它和C#与.net关系并不那么密切,如果微软没有开发出vs,而是做个插件使用eclipse作为开发工具照样能做,除了C#,还有vb.net,J#...这些语言写的代码都可以在.net框架中运行。实际上这些语言都生成了中间语言,.net提供了很多类库和运行环境,在执行时将中间语言编译成机器语言。
[/Quote]

看到这里 我得说一句 c#跟vs是绑定了 绑死了 你用个其他的试试
kavilee 2011-06-23
  • 打赏
  • 举报
回复
[Quote=引用 40 楼 wartim 的回复:]
引用 34 楼 toploveall 的回复:
在我所有提问中,始终有一个问题,是共通的。那就是,我们用的编程语言开发东西。那么是什么弄出来的开发语言。使用现有的语言,开发出的新语言吗?
还是说...,我都不知道怎么问,就是怎么把我们用的编程语言开发出来的。先有编译器或平台,还是先有语言。



....
先有的机器语言,cpu内部有一个专门用来存储下一步要执行的机器指令,32位机一……
[/Quote]

GDY__GDY 2011-05-26
  • 打赏
  • 举报
回复
有的人可真tm烦人,版主问的问题不好么,我觉得你们答不上来就别说人家问的低级,研究知识有低级和高级之分么,我看你们是浮躁...招人烦,影响我的心情,问问怎么了
yx长弓 2010-03-19
  • 打赏
  • 举报
回复
  我只是按照自己的理解来说,有错误的地方请大家指正。
---------------------------------------------------------------------
  我现在理解,这个问题的关键是在于理解:
1.机器指令在处理器中的执行
2.语法、文法(编译原理相关知识)+逻辑关系(离散数学) ==》形成有意义的规则,也即语言 (欢迎指正)
  例如汉语是一门语言,之所以成为语言是因为:
(1)有固定的符号表示特定的意义。
  例如“好”这个符号表示的语义是好,
  而“人”这个符号表示的语义是人,
(2)通过逻辑关系将符号组织起来就形成了语言。
  例如“好”+“人”两个符号 表达的语义就是好人。
3.某种语言的编译器是使用什么语言开发的:
  首先我这样理解,编译器起到的作用在于将 语言中的符号按照语法规则进行解析,最终生成处理器可识别的指令。
  所以可以这样理解,即“汇编语言的编译器”是怎么样实现的?怎么样将汇编指令翻译成机器码的。
  baiduing
wx376752150 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 hongjianfang 的回复:]
期待有教授级的来回答
[/Quote]
不懂了吧,教授更加不懂!
skyaspnet 2009-05-15
  • 打赏
  • 举报
回复
看看
toploveall 2009-05-15
  • 打赏
  • 举报
回复
看来答案是拼不完整了
下班前结贴,能凑多少凑多少吧。
NealXX 2009-05-15
  • 打赏
  • 举报
回复
先有咸蛋,还是先有皮蛋
qqshenyunzcz 2009-05-15
  • 打赏
  • 举报
回复
ddd
saisky 2009-05-14
  • 打赏
  • 举报
回复
问题够多的
你这要深究的话还真是几天说不完的事呢
像早期的basic 及后期的一些升级版本
又好似C语言 又有很多公司的C语言版本
C++亦如此
大了 多了 茫茫了
gzchenbing 2009-05-14
  • 打赏
  • 举报
回复
楼主,你讲历史啊
zjh222 2009-05-14
  • 打赏
  • 举报
回复
还有一些”微型”产品,例如:

o FrontPage
o Money
o Picture It
o Project
o 所有的游戏
* Morgan Stanley:金融模型的一个大块.
* Mozilla: Firefox浏览器和Thunderbird客户邮件(开源).
* MySQL: MySQL服务器(大约25万行C++代码)和MySQL聚簇集,它是世界上最出名的开源数据库。
* Nokia:
o 移动通信无线基站/网桥: FlexiGGSN (网关GPRS支撑结点)和FlexiSGSN (服务器GPRS支撑结点).
o MSC/HLR
* 以色列国家人口统计局:主要用C++来开发, 一些组件内嵌了SQL。每月几百万的交易,从出生到死亡的注册、日常生活、护照保险、签证等等,用于8百万国民和外国工人。
* Netopia:
o Timbuktu Pro– Macintosh和Windows的远程控制, 文件交换以及辅助工具. Timbuktu Pro大约有1千万个结点,5百家公司的70%资金用它周转。这些年来Mac版本获得了很多嘉奖,Windows 版本获得了2002年度世界级PC世界大奖。
o netOctopus --Macintosh 和Windows基于网络的系统管理。"4千站点 ... 每个站点大约安装了150个agent (管理系统),这就有60万个系统".
o eSite–几个网页公司为广告客户提供的网站服务器平台。
o eCare–基于网络的客户支持。Macintosh和Windows客户端用C++编写.
* Nullsoft:所有Nullsoft产品用C++编写 (Winamp, NSI等),很多是开源的。
* Programming Research: QAC++: C++的分析产品。
* Radiometer Medical A/S:高级医疗设备和应用,保守的估计每天世界范围内有1千家医院使用。
o Bloog-gas分析器: 基于数据库应用的医学血样分析设备,除了GUI外,该应用软件完全用C++编写。
o Blood-gas设备管理系统:分布式数据管理应用全部用C++编写(TAO CORBA中使用ACE框架),用于监视和汇报。
* Rain Bird Corporation: Maxicom2 灌溉控制系统.从一个中心PC机Maxicom2 就能控制大片的商业用地和分散地段。距离遥远的控制器间通信通过拨号电话、蜂窝电话、无线、光纤等进行。应用场所包括:主要娱乐公园、国际机场、几所大学、郡公园和公司首脑大楼。
* Reliable Software: Co-op,一个P2P版本的控制系统。
* Renaissance Technologies: 金融分析贸易软件。
* SAP DB: 一个"企业开源数据库" 用Pascal, C, C++编写,较新部分和重写部分用的C++,Release 7.4版本中3392源文件中1088个用C++编写。
* Scansoft: Dragon自然演说. 一个获奖奖励演说听说系统,最初开发自"Dragon系统"。
* SGI: OpenInventor, 一个建立在OpenGL上的3D 图形图像框架和工具箱。Open Inventor是VRML (虚拟现实模型语言) 标准的基础。
* Siemens: 主要医疗系统(为了方便和移植,一般用 ACE)。
* Sophis: 交叉资产、证券投资以及风险管理解决方案: "sed在世界范围内引领了金融机构"。
* Southwest airlines: 他们的网站, 机票预订, 票务状态, 频繁 flyer程序等。
* Sun:
o HotSpot Java虚拟机用C++编写(这是一个技术前沿的性能换代产品,用来取代用C编写的传统虚拟机。)
o Sun公司编译器的主要部分用C++编写, 尤其是C++ 前端、Fortran 95前端的一部分和SPARC后端。
o 为了匹配和稳定的需要,Solaris操作系统的一部分用C++编写, 但外接口看起来像C。
o OpenOffice " 开源Office系列": "[...] 整个技术基于平台无关的特性。不足10%的代码平台相关,它们作为一个抽象层服务于上层软件组件,由于C++编译器在主要平台上都有,C++就作为了实现它的语言。这就使得the OpenOffice.org technology可以用于不同的平台上" " [...] 这是一个主要用C++实现的复杂应用,部署了模板和异常处理,支持独立的语言捆绑,基于架构的分布式组件。
* Symbian OS: rationale: "[...]从内核到外,用C++编写了所有代码。 这是世界上蜂窝电话最流行的操作系统之一。
* UIQ Technology: UIQ, 一个移动电话的开源软件用户接口平台,世界上顶尖手机厂商在使用它,用于Symbian系统的手机上。UIQ 3用于索尼爱立信子M600, P990和W950.
* University of Karlsruhe: L4Ka: pistachio, 一个微内核纯用C++实现。
* Vodaphone: 移动电话基础设施,包括服务和收费。
* wxWidgets (正式一点称为wxWindows): 跨平台widget集合/工具箱 (开源).
* WAM!NET: "传输管理器" ISDN和TCP/IP为基础的数据传输软件, 正式的名字是4-Sight ISDN 管理器–集成了ISDN 支持,使用软件可以连接WAM!NET的托管广域网。
* ZeroC: 提供ICE, 一个用C++映射的分布式OO计算基础设施。ICE用可移植性好的C++编写,用很多C++编译器编译。ICE用于游戏和大批量的训练模拟。
应用和应用领域不是跟单个组织相关的有:

* CDE桌面(很多UNIX系统的标准桌面)用C++编写。
* 计算几何: CGAL开源项目, 计算几何算法库, 提供艺术几何数据结构状态和算法。主要设计目标是高性能、健壮性和灵活性。为了完成后者设计目标,设计者使用泛型编程理念,使得CGAL看起来感觉象 STL。商业上的支持者是 GeometryFactory。
* CORBA ORBs: MICO, omniORB, Orbix, TAO。
* 游戏: 末日三引擎,塞拉利昂在线:Birthright,Hellfire,Football Pro, Bullrider I和 II ,Trophy Bear, Kings Quest,Antara,霍伊尔纸牌游戏套件,SWAT,还有很多...Blizzard: 星际争霸,星际争霸:母巢之战,暗黑一,暗黑破坏神II :毁灭之王,魔兽争霸III ,魔兽世界。Quicksilver::上海第二王朝,上海麻将麻将要点,Starfleet Command, Invictus ,PBS's Heritage:文明与犹太人,Master of Orion III, CS-XII,微软:所有游戏。EA:视频游戏引擎。Byond: 一个世界级开发平台。
* 图形交互界面:
o Virtual Harlem (Illinois 大学项目,在Chicago和Central Missouri州立大学)它是一个学习环境,允许学生经历19世纪二三十年代的 Harlem Renaissance作为文化旅行。Virtual Harlem 建立在高级的VR称为Yggdrasil的脚本框架上。 Yggdrasil用C++编写,使用其他C++库和框架。
+ SGI's OpenGL Performer图形库。
+ CAVElib VR库。
+ CAVEGui 是一个图形接口工具,它提供跟CAVE应用程序的交互。
+ CAVERNsoft G2 一个开源的C++ ready2ware工具箱,用以开发协作网络的应用。
+ COANIM (or the Collaborative Animator) 是一个通过AGAVE查看3D内容的应用软件。AGAVE背后的整体概念是用来附加一个低成本基于PC图形的工作站去存取栅格结点从而投影立体计算机图形允许合作者之间分享3D内容。
+ Coin是一个带有C++编程接口的高级3D图形库。Coin 用场景图形数据结构渲染实时图形,适合于各种科学工程图形可视化应用。
+ Agave: 存取栅格增强虚拟环境
* Linux 上用C++编写的KDE: K Desktop Environment,是一个强大的开源图形桌面环境,用于Unix工作站上。它是Linux桌面环境的旗舰产品。它包含了300种用C++编写的不同的包,包括一个Office族、一个浏览器、开发工具、游戏以及多媒体应用。
* 一种主要的弹道导弹防御系统用C++编写。
* 电话系统: 我认为很容易找到用非C++语言编写的系统,但是至少在欧洲这里:
o C++ 是Alcatel 传输系统唯一的开发语言, 既用于网络管理 (用ILog Views),也用于真正的传输设备上。FWIW, 德国主要的传输结点 (法兰克福, 柏林, 慕尼黑以及德国北部的另一个地方,我认为) 100%用C++编写. 在德国,所有跨越不同的区域的电话呼叫都经过这些中的某部机器。
o T-Mobile(德国最大的蜂窝电话操作器)用C++编写了计费系统和多数的WAP端口--动态分配IP地址等。

放下这些暂且不说, 任何人在德国使用电话就要依赖于C++编写的代码--有很多用户呢:-)。那怎么才算一个用户?德国的主电话传输结点用C++编写(我十分确信法国也如此)。我不相信在该国家谁不用电话--这能算8千万(算上法国有1亿4千万)C++使用者吗?

* SETI@home:一个巨大的合作项目,用来分析外星生命迹象的数据。其中的一部分用C++编写。
*网络开发支撑库Poco,这里有一个poco的用户列表[http://pocoproject.org/poco/wiki/tiki-index.php?page=WhoUsesPoco]。
 传统上认为,C++相对于目前一些新潮的语言,如Java、C#,优势在于程序的运行性能。这种观念并不完全。如果一个人深信这一点,那么说明他并没有充分了解和理解C++和那个某某语言。同时,持有这种观念的人,通常也是受到了某种误导(罪魁祸首当然就是那些财大气粗的公司)。对于这些公司而言,他们隐藏了C++同某某语言间的核心差别,而把现在多数程序员不太关心的差别,也就是性能,加以强化。因为随着CPU性能的快速提升,性能问题已不为人们所关心。这叫“李代桃僵”。很多涉世不深的程序员,也就相信了他们。于是,大公司们的阴谋也就得逞了。

  一般认为,使用Java或C#的开发成本比C++低。但是,如果你能够充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较小。如果不超过3万行有效代码(不包括生成器产生的代码),这句话基本上还能成立。否则,随着代码量和复杂度的增加,C++的优势将会越来越明显。造成这种差别的就是C++的软件工程性。在Java和C#大谈软件工程的时候,C++实际上已经悄悄地将软件工程性提升到一个前所未有的高度。这一点被多数人忽视,并且被大公司竭力掩盖。
junyi2003 2009-05-14
  • 打赏
  • 举报
回复
十万个为什么啊?
要知道这个要去看纪录片或者系统介绍的,帖子里面说不清楚。
而且太多的东西还在继续发展中。 包括汇编语言,CPU指令等。
只是这个分支只关心.net /C# .
你提到的VF ? Access? 都是文件型数据库吧?VF的前身应该是FOXBASE吧,祖宗是文件系统。
MSSQL是在吃掉 SXXXXX数据库公司后有了伟大的发展的。VF理论上不支持并发操作的,不适应现在的网络系统。所以基本上被富应用淘汰了。
将来的发展的方向是数据仓库或者云数据,就是万物皆数据,能被Select到
  • 打赏
  • 举报
回复
看一看
zzxap 2009-05-14
  • 打赏
  • 举报
回复
sp123的话好深奥
Hassle 2009-05-14
  • 打赏
  • 举报
回复
现在还有用机器语言的吗
CSDN.开发语言.VB偶尔有人用,因为VB6.0没有C++的__asm,只好用字节数组,如mov eax, 0等价于B8 00 00 00 00
cppwizard_alvin 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 44 楼 yuxuanji 的回复:]
计算机语言的发展是一部传奇
[/Quote]

总结的好
y9313 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 40 楼 wartim 的回复:]
引用 34 楼 toploveall 的回复:
在我所有提问中,始终有一个问题,是共通的。那就是,我们用的编程语言开发东西。那么是什么弄出来的开发语言。使用现有的语言,开发出的新语言吗?
还是说...,我都不知道怎么问,就是怎么把我们用的编程语言开发出来的。先有编译器或平台,还是先有语言。



....
先有的机器语言,cpu内部有一个专门用来存储下一步要执行的机器指令,32位机一个指令就是32位
然后人们用一些助记符代…
[/Quote]
强人。。。。
学习了
LutzMark 2009-05-14
  • 打赏
  • 举报
回复
计算机语言的发展是一部传奇
加载更多回复(45)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧