当前位置:编程学习 > C#/ASP.NET >>

本人一直对软件有个疑问

大家都说C#和JAVA编写的程序是需要运行环境才能运行的
那么问题来了,我们电脑上的QQ,360,酷我音乐,快播等等这些软件难道没有是C#开发出来的?为什么我安装这些软件的时候不需要安装运行环境?
我想学一门语言,今后能像QQ一样提供任何人下载 --------------------编程问答-------------------- 都不是.net开发的 --------------------编程问答-------------------- C#一般用在企业级的应用开发.java更多的应用在服务器上.
现在桌面上的程序一般都是用VC++或是Delphi这样的开发工具开发的. --------------------编程问答--------------------
引用楼主 dazitou123 的回复:
大家都说C#和JAVA编写的程序是需要运行环境才能运行的
那么问题来了,我们电脑上的QQ,360,酷我音乐,快播等等这些软件难道没有是C#开发出来的?为什么我安装这些软件的时候不需要安装运行环境?
我想学一门语言,今后能像QQ一样提供任何人下载


学会一门语言并不能开发软件,开发软件是学会了一套平台的调用库。

操作系统也是平台,难道你开发一个软件,还要去给他装个操作系统? --------------------编程问答-------------------- 任何软件都需要运行环境 你说的那些 QQ,360,WINDOWS自带了环境 --------------------编程问答-------------------- 既然C#学完了不能编写一个公用的软件,那我学c#还有什么用? --------------------编程问答--------------------
引用 4 楼 z81434362 的回复:
任何软件都需要运行环境 你说的那些 QQ,360,WINDOWS自带了环境


wondows为什么不自带自家c#的运行环境? --------------------编程问答-------------------- Xp要早于.net,所以没有.net framework
Windows 7,Windows8 都应该支持了. --------------------编程问答-------------------- 我还想最后问一下,C#既然不能开发一个软件让任何用户下载分享
那么ASP.NET编写出来的网站后台应该不会也要用户装运行环境才能正常使用吧? --------------------编程问答-------------------- windows server 2003 默认安装了.net 1.1,如果要运行 .net 2.0的程序,需要安装.net 2.0的运行环境. --------------------编程问答--------------------
引用 8 楼 dazitou123 的回复:
我还想最后问一下,C#既然不能开发一个软件让任何用户下载分享
那么ASP.NET编写出来的网站后台应该不会也要用户装运行环境才能正常使用吧?


你可以理解为 浏览器 就是网站的运行环境 --------------------编程问答-------------------- 学习 C# 和Java  都行, 做桌面程序 也 可以...不过需要在打包的时候 把C# 的Framework 和 Java的JDK 判断一下用户系统是否装了,没有,就安装,,,不过弊端就是安装包会很大,..... --------------------编程问答--------------------
引用 10 楼 keinshen 的回复:
引用 8 楼 dazitou123 的回复:

我还想最后问一下,C#既然不能开发一个软件让任何用户下载分享
那么ASP.NET编写出来的网站后台应该不会也要用户装运行环境才能正常使用吧?


你可以理解为 浏览器 就是网站的运行环境



既然C#开发的软件不容易让别人共享,那我觉得我应该放弃C#。想去学ASP.NET。
请问一下学完ASP.NET需要多久?前提是有一点C#的基础 --------------------编程问答-------------------- 学asp.net时间也是非常长的,即使你做网站后台的,但是也要熟悉前台的知识,比如html,css,javascript,这些知识都不是很容易就学通的. --------------------编程问答--------------------
引用 12 楼 dazitou123 的回复:
引用 10 楼 keinshen 的回复:

引用 8 楼 dazitou123 的回复:

我还想最后问一下,C#既然不能开发一个软件让任何用户下载分享
那么ASP.NET编写出来的网站后台应该不会也要用户装运行环境才能正常使用吧?


你可以理解为 浏览器 就是网站的运行环境



既然C#开发的软件不容易让别人共享,那我觉得我应该放弃C#。想去学ASP.NET。
……



提问之前 你应该先去baidu一下什么是ASP.NET 什么是C#   

ASP.NET是一种技术
C#是语法

--------------------编程问答-------------------- 劝楼主一句,为了你自己的前程,别学编程了,很明显你不适合编程。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 15 楼 wddw1986 的回复:
劝楼主一句,为了你自己的前程,别学编程了,很明显你不适合编程。


我学编程只是兴趣,我想让大家享受到我的成果,既然C#不能让大家共享我的成果,那么我就该学网页算了,网页的后台总不需要别人安装环境吧 --------------------编程问答--------------------
引用 17 楼 dazitou123 的回复:
引用 15 楼 wddw1986 的回复:

劝楼主一句,为了你自己的前程,别学编程了,很明显你不适合编程。


我学编程只是兴趣,我想让大家享受到我的成果,既然C#不能让大家共享我的成果,那么我就该学网页算了,网页的后台总不需要别人安装环境吧


你还没搞清楚什么是后台 什么是前台

另外web的后台也需要安装环境 --------------------编程问答-------------------- 没有任何应用程序是不需要环境就能运行的。

比如网页,如果没有支持它所用语言的浏览器那你什么也别想看到。

又比如QQ,你的机器上如果是安装的DOS那就别指望用QQ了,因为它需要Windows环境。

当然,环境需求和环境环境需求之间还是有区别的。毕竟Windows几乎每台PC都装了,而.net的环境可不是每台机器都有。

不过这也只是历史性的问题,XP太老了!在以后,估计每个新的Windows版本里都会默认带有.net框架的。 --------------------编程问答--------------------
引用 8 楼 dazitou123 的回复:
我还想最后问一下,C#既然不能开发一个软件让任何用户下载分享
那么ASP.NET编写出来的网站后台应该不会也要用户装运行环境才能正常使用吧?

网站后台需要环境,用户客户端不需要环境。 --------------------编程问答--------------------
引用 13 楼 schinar 的回复:
引用 12 楼 dazitou123 的回复
既然C#开发的软件不容易让别人共享,那我觉得我应该放弃C#。想去学ASP.NET。
请问一下学完ASP.NET需要多久?前提是有一点C#的基础

引用 13 楼 schinar 的回复
学asp.net时间也是非常长的,即使你做网站后台的,但是也要熟悉前台的知识,比如html,css,javascript,这些知识都不是很容易就学通的.


甲:美国在那里呀,
乙:好老远了,做驴车得好几个钟头呢。



--------------------编程问答-------------------- 唔 你玩游戏的话你就知道了。很多游戏都是需求.NET或者C++ Runtime Libaray扩展库的。
用户要是真的认为你这是好软件,让他安装几个运行环境他也愿意,这是真心的。 --------------------编程问答-------------------- 有,iphone的同步软件同步助手,就是.net写的. --------------------编程问答--------------------
引用 4 楼 z81434362 的回复:
任何软件都需要运行环境 你说的那些 QQ,360,WINDOWS自带了环境


补充下
一般在Windows上运行的桌面程序,都会调用C++或其他运行库
如果你用电脑时间长,或者做过系统维护,可能会见过“C++运行时错误”

另外,你在Windows上用的QQ、360不能在Linux、安卓上运行,他们必须下载与系统匹配的安装程序

--------------------编程问答-------------------- 你在Windows上用的QQ、360不能在Linux、安卓上运行,他们必须下载与系统匹配的安装程序

--------------------编程问答-------------------- 安装QQ的时候安装包会自动把C++运行库装上,只是你没看到安装过程而已。

没事把你的360软件管家打开看看,看看你电脑里到底装了哪些软件和支持库 --------------------编程问答-------------------- --------------------编程问答-------------------- 只学过c,java,jsp不知道以后能干嘛~~望高人指点。。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 因为你要装的那些软件,QQ  360的运行库已经集成在系统里了。
你下个98装装看 --------------------编程问答-------------------- --------------------编程问答-------------------- 操作系统不需要软件环境的,楼主写系统吧 --------------------编程问答-------------------- 这些前端都不是net,但也都不是java啊

当然后端可能有net也可能有java

公共程序并不是摆在你面前的才叫公共程序,很多没摆在你面前的程序他实际上比前端更值钱

比如google,百度做的很多东西,前端非常简单,反而是后端无比复杂,无比值钱 --------------------编程问答-------------------- .....很久很久以前...有一个...后来...一天.....最后.....等着..活...等着死...... --------------------编程问答--------------------
引用 2 楼 schinar 的回复:
C#一般用在企业级的应用开发.java更多的应用在服务器上.
现在桌面上的程序一般都是用VC++或是Delphi这样的开发工具开发的.


这可够乱的。

企业级应用就不应用在服务器上了?完全不搭界。

新开发的桌面上的程序“一般都是”vc++或是Delphi?现在看到的自行车很多都是(而不是“一般都是”)几十年的,你自己要开发电动处理车的时候还去买几十年前的老的自行车的生产工具才干开始开发啊?! --------------------编程问答-------------------- 自己要开发电动处理车的时候还去买几十年前的老的自行车 --> 自己要开发电动助力车的时候还去买几十年前的老的自行车


在使用.net的时候,很少人因为懒惰而不注重部署问题,对于至少有7、8年历史的clickonce等技术一无所知,这就造成了对于应用的困扰,造成了类似asp.net那种门槛最低级的编程方式大行其道。 --------------------编程问答-------------------- 楼主还是闭嘴吧,你花个几十分钟,从百度,google上查查什么是vs。net,什么是asp。net,什么是C#.net,什么是VB.net,什么是framework,再来你你上面说的话,就知道你自己有多可笑了。 --------------------编程问答-------------------- LZ是门外汉 , 自己去网搜索答案 --------------------编程问答-------------------- 你机器上没有安装 .NET Framework 环境和 JDK 环境,东西能正常运行,有两种可能性:
1. 你安装的程序不是他们中的一个编写的。
2. 你的操作系统已经包含了 .NET Framework 相应的版本,所以即便安装的软件是 .NET Framework 编写,你也感觉不到。

有些软件安装的时候会提示你 VC++ Runtime 什么的,这些就说明需要 .NET,比如著名的刻录软件 Nero 10 --------------------编程问答--------------------
引用 6 楼 dazitou123 的回复:
引用 4 楼 z81434362 的回复:

任何软件都需要运行环境 你说的那些 QQ,360,WINDOWS自带了环境


wondows为什么不自带自家c#的运行环境?


很多游戏都安装了.net 了。。。
Paint.net 使用.net 开发的。
MS Expression Studio也是用.net 开发的。

除此之外还有不少。只是,毕竟 C#出现得太晚了,所以还是没那么快普及。

C#本身也没到如火纯情的地步。。。


--------------------编程问答-------------------- --------------------编程问答--------------------
引用 17 楼 dazitou123 的回复:
引用 15 楼 wddw1986 的回复:

劝楼主一句,为了你自己的前程,别学编程了,很明显你不适合编程。


我学编程只是兴趣,我想让大家享受到我的成果,既然C#不能让大家共享我的成果,那么我就该学网页算了,网页的后台总不需要别人安装环境吧


如果LZ是兴趣并且课余来学学编程,实现些功能,在中国是一种理想的状态,你一定会生活的非常美好有趣的,建议只学怎么做好网站什么的,语法只要有C的基础什么都行,如果没有,看点JAVA就行(有C基础的人JAVA基础是OK的)。 --------------------编程问答--------------------
引用 37 楼 yuandonghuia 的回复:
楼主还是闭嘴吧,你花个几十分钟,从百度,google上查查什么是vs。net,什么是asp。net,什么是C#.net,什么是VB.net,什么是framework,再来你你上面说的话,就知道你自己有多可笑了。


我勒个去,打击新手 --------------------编程问答--------------------
引用 7 楼 schinar 的回复:
Xp要早于.net,所以没有.net framework
Windows 7,Windows8 都应该支持了.

感觉有些XP3的系统都可以直接运行NET 2.0 --------------------编程问答-------------------- 年轻人不要学编程,还不与去跑业务 --------------------编程问答-------------------- --------------------编程问答-------------------- LZ啊,web也满足不了你的,你想想要是用户没装环境(broswer)怎么办?C++运行库你不装可能一大批软件也不行了,要是用户不装操作系统怎么办??,所以去学汇编吧,汇编才王道 --------------------编程问答--------------------
引用 47 楼 jjymoon 的回复:
LZ啊,web也满足不了你的,你想想要是用户没装环境(broswer)怎么办?C++运行库你不装可能一大批软件也不行了,要是用户不装操作系统怎么办??,所以去学汇编吧,汇编才王道


如果用户没电怎么办? --------------------编程问答-------------------- WINDOWS自带了环境 --------------------编程问答--------------------
引用 48 楼 amy19830704 的回复:
如果用户没电怎么办?

这纠结得。。。。不如说如果有一天出了个新玩意儿大家都不用电脑了。。。。。 --------------------编程问答-------------------- C#或JAVA都是个开发工具,能做出什么产品看你的能力。如果想做软件然后分享给大家用当然是没问题的。就你菜刀和砍肉刀,都是刀,你能用好就行,它们都可以砍东西的,哈哈。 --------------------编程问答-------------------- 感觉楼主真的需要补一补 入门之前的知识。。。。。。。。。。



echo   hello world


我感觉上面这个东西比较好,不需要特别麻烦的东西,cmd可以工作,终端可以工作   


建议楼主先去了解一下相关的知识,要不然你真的会悲剧的。。。。 --------------------编程问答-------------------- 你真的不适合干这行
如果你目前还是小学生,我觉得你还是很有希望的 --------------------编程问答--------------------
引用 47 楼 jjymoon 的回复:
LZ啊,web也满足不了你的,你想想要是用户没装环境(broswer)怎么办?C++运行库你不装可能一大批软件也不行了,要是用户不装操作系统怎么办??,所以去学汇编吧,汇编才王道



脑残吧你,居然连浏览器都说上来了。。我已经不想多说什么了。。。CSDN的垃圾回复资源就是被你这种人占用了 --------------------编程问答--------------------
引用 52 楼 walldr 的回复:
感觉楼主真的需要补一补 入门之前的知识。。。。。。。。。。


Java code

echo   hello world



我感觉上面这个东西比较好,不需要特别麻烦的东西,cmd可以工作,终端可以工作   


建议楼主先去了解一下相关的知识,要不然你真的会悲剧的。。。。



你瞎眼了?我帖子不是来问什么编程内容的,补个P的知识?不骂你还真不行了 --------------------编程问答--------------------
引用 47 楼 jjymoon 的回复:
LZ啊,web也满足不了你的,你想想要是用户没装环境(broswer)怎么办?C++运行库你不装可能一大批软件也不行了,要是用户不装操作系统怎么办??,所以去学汇编吧,汇编才王道


你怎么不说用户没电脑怎么办?
你个脑残 --------------------编程问答-------------------- 够乱的。。。
什么事情都是建立在一定基础上的,你只需要,知道能在这个基础上能做什么,

.net 是建立在运行环境上的
运行环境是建立在操作系统上的
操作系统是建立在有电脑的基础上的
电脑是建立有人做的基础上的
人是建立在先出生的基础上的。。。 --------------------编程问答-------------------- 就说一个,估计是用得最多的.net软件——AMD显卡驱动控制台 --------------------编程问答-------------------- 越说越乱,我都看不懂了。这是人月传说 ? --------------------编程问答-------------------- 挺LZ 一下哈!
先不管大虾门怎么想的,以鄙人之鄙见,开发一个应用软件,面向的是所有层级的人,不管是否有这方面的知识,就像我们这样的 平民,玩个QQ ,管他用什么语言编写的,架构是什么,只要能方便聊天就行。。。
于是就去看了一下控制面板,关于java 的 就个 JDK, JRE, 而那个 .Net 之类的 就有七八个,从 2.0 到 3.5。,还不算安装VS自带的,虽然 对架构, 对平台十分地不熟悉,但这也忒。。。
我们现在用的是VS08, 10版早就发布出来了,以后还会有,12,14.。。。开发一个软件,就要安装一个Framework,  到那时这个可真是Windows 的 天下 哈

倒希望高手们能好好地给我们这些小白 普及一下基础知识! --------------------编程问答-------------------- --------------------编程问答-------------------- 你想的太多了 --------------------编程问答--------------------
引用 4 楼 z81434362 的回复:
任何软件都需要运行环境 你说的那些 QQ,360,WINDOWS自带了环境
对的 --------------------编程问答-------------------- 你先想想是否有这个能力使用VC开发出类似QQ的这里软件 --------------------编程问答--------------------
引用 7 楼 schinar 的回复:
Xp要早于.net,所以没有.net framework
Windows 7,Windows8 都应该支持了.

xp sp3 已经支持.net framework 2.0了 --------------------编程问答-------------------- .net安装程序就需要Framework支持,到了Linux系统就不行了,不像Java有个虚拟机tomcat。可以跨平台来使用,
对于这方面而言,不是说.net不支持或者是没有像Java这样的虚拟机,只是大多数人不知道,针对企业级别的微软提供这样的东东是需要我们自己掏money购买的。

而对你说的什么QQ、360其实什么语言都能搞的,只是看你怎么喜欢。语言永远只是个工具而已。 --------------------编程问答-------------------- 不管它啥不啥环境的,语不语言的,最终都是译成一堆机器代码,走的过程不一样而已。有的走的直一点,有的走的弯一点!
--------------------编程问答-------------------- --------------------编程问答--------------------
引用 17 楼 dazitou123 的回复:
引用 15 楼 wddw1986 的回复:

劝楼主一句,为了你自己的前程,别学编程了,很明显你不适合编程。


我学编程只是兴趣,我想让大家享受到我的成果,既然C#不能让大家共享我的成果,那么我就该学网页算了,网页的后台总不需要别人安装环境吧


建议楼主先把C学好  这是基础,至于你现在的诸多疑问,随着你的知识的积累,都会迎刃而解,加油吧,我现在也在学C#,WIN7,WIN8都集成运行环境了,开发出来后都可以运行,而XP装个.NET Framework 就行了,现在大家的电脑上几乎都有这个,不用担心你说的那个问题 --------------------编程问答-------------------- 若干年后,windows系统都会集成.net环境的,lz现在提早学习,学会了,这个问题就不是问题了 --------------------编程问答-------------------- 没有最牛B的语言,只有最牛B的人。
牛B的人用着垃圾的语言一样也可以做牛B的事,赚牛B的钱 --------------------编程问答-------------------- 听楼主说:
  ‘自已想做点实际的’ 就是想以应用为主了。
还是学C# 吧,C# 有.net 支持,.net 的函数高度封装。专门做应用的。
   
  很快就可以写出软件来。 --------------------编程问答-------------------- 人们对一个问题进行争论往往是因为对这个问题本身的理解有偏差,站在不同的角度去理解它,就得到了不同的答案,而这个答案又往往不是提问者的本意。小弟不才,斗胆帮LZ分析下:
LZ说“大家都说C#和JAVA编写的程序是需要运行环境才能运行的”,然后在此背景下,提出了某些软件“感觉”不需要运行环境的疑问,然后引来了诸位大侠的高深的解释,很多大侠还对LZ的计算机水平给予了抨击。但在我看来,楼主提出的问题的关键点不在于各种开发语言的理论知识,而在于大家对“运行环境”这个概念的理解。显然因为对“运行环境”4个字的理解差异造成了前边无休止的争论。
我总结下基本有如下几个观点:
1.“运行环境”是硬件(电力、电脑、手机等)
2.“运行环境”是特定应用软件(浏览器)
3.“运行环境”是操作系统(Windows操作系统、IOS系统、Linux系统、Andriod系统)
4.“运行环境”是不以完整软件形式存在的程序(C++类库、JDK、Framework)

事实上,我个人感觉所有人都没有错,因为“运行环境”本来就没有一个行业内统一的、标准化的概念,大家的分歧也完全是因为对它没有统一认识而造成的。我觉得不能脱离软件本身笼统的谈“运行环境”,如果要对它做一个定义,我觉得广义上的“运行环境”可定义为“某一软件系统能够正常运行所必须的所有元素的集合”。从这个概念出发,只有你说清楚了“某一软件”是什么才能界定其“运行环境”。比如windows 7操作系统本身就是一个软件,如果没有电力、没有电脑它怎么运行?此外即使有电脑、有电力,而你的电脑配置又不足于运行它,一样不能正常使用,因此这些硬件条件就是“windows 7”这个软件的一个“运行环境”。而软件这个东西,就是一个程序的集合,可大可小,而且可以自由组合,只要提供程序接口就可以自由调用,于是光有windows 7 系统是不够的,人们需要更多的第三方应用,而开发这些程序的人又不可能自己开发个系统出来,于是就拿现成的win7做平台,在其上边开发,于是某些完全基于操作系统原有功能性程序集合就诞生了,操作系统就成了这些程序的“运行环境”,因为没有系统就没有他们。这些程序集就是jdk、Framework等组件和类库集,而功能更加丰富的软件程序则需要更多的“现成”的功能性程序,甚至包括其他人或公司的程序,比如数据库,所以一个数据库程序亦可以被称为某个用户应用程序的“运行环境”。
    好了,说了这多,回到LZ的问题上。所谓“C#和JAVA编写的程序需要运行环境”这句话的出现可能是广义的“运行环境”(即电脑、能够运行C#和JAVA编写的程序的操作系统,你的c#程序直接拿到苹果的装着IOS系统的IPAD上肯定运行不了),因此操作系统和硬件都算是广义的“运行环境”。而一般专业的程序员和研发人员谈到的仅从应用程序开发的狭义的“运行环境”则是指前边两个条件(硬件、系统)都满足的情况下,某个软件正常运行所运行的一组支持性程序集,也就是java的jdk和c#的Framework等类库和组件及某些第三方程序集(如数据库)。因此,站在这个角度来看,LZ电脑里的QQ,360,酷我音乐,快播等等这些软件能够正常运行无非是因为这些软件运行所必须的基本类库包含在操作系统程序中(注意操作系统也是个软件)、或者已经提前安装到你的电脑了(安装其他软件的过程中)或者在你安装这些软件的过程中已经一并被发行它的公司一起给你安装到你的电脑里了。这就是为什么任何软件都需要有个安装的过程才能使用的原因。
    最后,我在解释下,WEB程序,他并不是不需要运行环境,它也要求用户必须游浏览器、有网络,只不过它的主程序是安装在网络上的服务器中,比如ASP.NET技术开发的网站仍然需要用C#语言编写后台程序运行在安装有Framework类库程序和能够让Framework正常工作的windows系统的服务器上的,你就不可能用一个android手机做这个服务器。

    因此,真正所谓的不需要“运行环境”(这个程序运行所必须的一切非作者自己开发的程序集合和元素)的程序要求这个开发者自己制造电脑,自己设计这个电脑的操作系统,并自己在这个系统上开发出自己发明的计算机语言和技术编写的软件程序,这种事是社会分工和IT技术高度发达的今天任何一个人、一个公司甚至一个国家都不可能做得到的。

希望以上的详细分析和解释可以稍微帮助到LZ。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,