JAVA与.Net,谁是未来 [应广大技术爱好者的鼓励,阿朱原创] (0分)

阿朱

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么会有JAVA,为什么会有.Net
有人说,JAVA是为了跨WINDOWS和UNIX而产生的。是这样吗?
SUN有自己的操作系统solaris,并且打的是高端市场,而JAVA发展早期阶段,
WINDOWS还主要定位在中小型企业,并没有打算与SUN一争高端客户。
而且SUN的用户大部分都是大型企业级,而WINDOWS定位在家庭消费用户,由于WINDOWS已经成为桌面OS的事实标
准,SUN根本无意抢夺WINDOWS的地盘,而且SUN有自己的操作系统,扩大自己产品销售才是第一。但是UNIX一直是个混乱的世界,
各种UNIX版本在并存,你为这种UNIX开发的应用,却很难在另一种UNIX上跑通。应用的阻塞影响了UNIX市场需求的扩大,就象没有SQL
SERVER,没有OFFICE,没有WINDOWS 游戏,和WINDOWS上的开发工具,就算你的操作系统做的再漂亮再容易我们
也会扔掉WINDOWS。为什么?因为没用,我买回来一个大铁家伙,我什么也做不了。SUN就出于这种考虑,所以
才有VM的想法,否则谁傻了,做个又慢又麻烦的VM。所以说JAVA的产生,只是为了跨UNIX平台。当然能跨
WINDOWS,吃定WINDOWS,那岂不是更好,呵呵呵,SUN为自己的妙招而没事偷着乐。
那为什么会有.Net呢?可是WINDOWS就一个呀,它也要跨平台?而且微软已经把CLI提交给标准委员会,看来是
真要跨了?真的吗?
从外表来看,WINDOWS确实是一个。但是从技术角度来看,WINDOWS3,WINDOWS95,WINDOWS2000是截然不同的三
种架构。在中国,大家对新技术的追求比较热衷,所以说一个企业中这三种操作系统并存互连的可能性不怎么
大。但是老外是精打细算,不见兔子不撒鹰,所以你在国外企业运行很老的系统也不要见怪。微软为了同时维
护这几种操作系统也是煞费苦心,而且由于技术是各个时期形成的,有的技术由于历史发展原因有明显的缺陷
,也无能为力修改了,而且为了功能更强大,API海洋,DLL黑洞,ACTIVEX,OLE,COM,DCOM,COM+,各种技术
交叉,唉,其中苦谁了解?所以跨WINDWOS平台是微软制造.Net的一个原因,这样给你一个抽象的统一的平台后
把你摆平后,他再着手修改他的底层,省得一天人们叫着WINDOWS不安全,WINDOWS不稳定。当然从J2EE的火热
场面来看,拉去了很大一批WINDOWS平台上的C++程序员。失去了应用开发的源头,那还有什么发展?如何拉回
这批程序员让他们继续为WINDOWS开发当然也是.Net的原因之一,这就是为什么.Net从架构到开发语言都与JAVA
极其相似的原因,就是吸引你平滑的再回到微软的世界中,如果跨度大了,程序员就有了迟疑。唉,如果没有
JAVA,如今的C#也不会是如今这样,原本它会更好,我想ANDERS一定心中很郁闷,但是商业是不以个人意志为
转移的。而且现在已经不是桌面为王的时代了,现在是互连网的时代,JAVA是第一个有强大开发WEB应用的完整
体系,而当时微软的技术还是七拼八凑,只是互连网一下到来微软刚醒过神来仓促应战的结果,当然无法与
J2EE媲美。想在互连网时代也分一杯羹,必须也有一个完整的体系,于是.Net就产生了.
我们已经有了Web Service,我们还需要.Net吗?
其实技术发展到如今的应用集成时代,用户的需求就是把现在各种平台上的应用集成起来。集成的方法有很多
种,当然跨平台也是一种。不过最省力的还算是WEB SERVICE。因为现在已经是组件应用的天下。各种COM,EJB
,CORBA成为快速组装企业应用的主流技术。组件是位于操作系统,数据库,网络之上的技术,站在组件的层面
上,下面用什么技术已经无所谓了,因为已经被组件屏蔽了。如果我们能把我们的组件互连起来,不也可以集
成吗?应该怎么做?这几项技术都分属于不同公司,想联合真不大容易。这时就要找到每个体系公共的东西,
用公共的东西把他们连在一起不就行了。找呀找,终于发现,是TCP/IP。随即几大公司都发现了突破口,需要
快速占领先机。由于SUN一直在JAVA发展的问题上给了IBM很大的阻塞,所以IBM宁愿先和微软联合做,如果微软
有什么不轨之心,就放出SUN,让他们互相咬,然后在适当的时机出来装出老大的样子摆平他们,给他们俩制定
一个适合自己发展的竞争协议。
我们已经可以互连了,我们干吗要.Net。我们的问题已经解决了,我干吗花钱再投资呢?经济本来已经很不景
气了。
但是,但是,就是这该死的但是...
微软看来已经决定不在现有基础上增强ASP和COM+了,现在是互连时代,也是组件时代,两大要命的地方我都不
升级了,你自己看着办,我可没逼着你买.
.Net和JAVA在中国哪个更有前途?
这个问题好象已经不用再争了。中国90%的用户是WINDOWS用户,保护现有投资,使用很习惯很易用不用重新学
习,我又不用跨平台,我干吗要换JAVA呢。过去是微软没有提供很强大的WEB开发解决方案,现在提供了,我干
吗要用JAVA。而且.Net比JAVA出的迟,肯定会吸收JAVA的优点,弥补JAVA的缺点。而且微软的VM肯定和WINDOWS
结合的很好,性能不用担心。我干吗用JAVA?
而且微软显然把宝已经压到了.Net上,你难道还要在.Net的VM上再加一层JAVA的VM?
.Net有什么新的亮点?
当然是ASP,ADO和COM+,还有清晰的架构,并且由于统一的类库,我们为WEB,GUI,MOBILE而开发的应用会很
容易的转来转去,不象过去开发,各需要学习不同的知识。ASP终于结束了网页意大利面条式的程序,面向对象
和支持多种语言,使构筑强大复杂的WEB应用提供了比JSP更凶猛的功能,让人不得不爱。ADO.Net也抛弃了过去
的数据集一Scroll就连数据库进行提交的糟糕速度,代而取之的是多条修改可以一次性提交上去。这样性能会
提高很多。COM+呢?COM+1.5的特性大家在WINXP上也看见了,比1.0强了很多,未来还不用注册,COPY完就能用
,多舒服。至于安全嘛,稳定嘛,这话不敢讲。因为盗亦有道,JAVA也同样如此,无法说谁比谁好。
.Net真的会跨平台吗?
微软的命根子是操作系统,微软此次出.Net也是为了打入高端市场。怎么打入?微软第一已经在用C#收买JAVA
程序员了,并且做JAVA和C#的映射工具,先断了JAVA应用的前途,后面用CLI提交给标准委员会,让别人开发
UNIX上的平台,微软不在正面和UNIX阵营冲突,以免犯众怒。当UNIX和WINDOWS的CLI都有了时候,基于CLI的应
用可就两个系统都能用了,这会帮助微软销售多少其他产品呀。这不,微软在支持着好几个Open Source社团在
开发UNIX的CLI。跨平台的事微软不会轻易干的,否则微软的命根子怎么办?
.Net真的支持多种语言吗?
开发更多的基于.Net的应用,让.Net快速成长起来。第二.Net是一次比较大的革新,广大的各类程序员能否跟
的上也是个问题。多语言的支持当然会,但是不会支持的很好,否则微软大力做C#干吗呀,如果别的语言和C#
一样好,那微软还混什么混呀。最糟糕了,也要其他语言的技术比C#慢半拍。不过先走也未必领先,
就象DELPHI就后来居上,这么大的市场,微软是不可能通吃的。
我们需要转到.Net上吗?
你可以不转。就看你需要不需要INTERNET了。我想在未来,没有企业会说INTERNET对我没有一点作用。
现有应用能否平滑过渡呢?
在这个问题上可以看一下微软的历史。微软在做完WINNT4的时候其实已经在策划现在的WIN2000,但是为什么在
WIN95后有WIN98,WINME,WINXP,不是他当时做不了那样的技术,而是必须引导着客户一步步走,要追随客户
,走的太快,就会丢失客户。在这个重大的转折点,微软也会如此。而且在现在的windows.Net上,你运行现在
的程序一样没问题,速度依旧,操作方式也依旧,因为他使用了两种手段来区别对待这两种应用程序。
什么时候转?
如果你需要抢占市场先机,现在转正好,因为能支持ASP.NET,ADO.NET开发的VSS.NET已经推出快一年了,就是
有能力欠缺的问题,第二版的出来也不会太晚了。不过话在前头,确实在实际的开发中,Vss.Net确实有些做不
了的事情,不要看他好象什么都有,这就跟微软当年宣布COM有池化的功能一样,仅有一个外壳。这是微软的策
略,跟不跟着走,你自己看。稳健型的公司建议在第二版出来后应用,因为微软的产品一向在第三版才会好用。
作为开发商,跟随.Net的难点是什么?
难点难就在,过去我们的开发方式,拖一些控件,连个数据库,更新或SELECT一些数据。再深一些就是消息,
或者是一些不常用的API。记住:.Net是微软进攻高端市场的第一步,现在的微软不是我们过去熟悉的微软,
Vss.Net的一推出,就是强烈给人一种这样的感受:从建模到开发到测试到发布,全套企业级的工具都无缝相接
,而且处处体现着OO和设计模式,在宣传中也频繁提到,昭示着这个工具是为大型应用开发而定制的。所以宝
刀也需有能力的人才能拿的动,否则只能砸了自己的脚。对于现在的JAVA开发工具也是如此,好象全世界一下
都没有了小型企业一样。我们是否具备了优秀的设计师,建模师,OOP的程序员,我们是否有一整套流畅的开发
流程来支持全程建模,我们都需要深思。在微软的.Net的各种培训上,培训师也是反复强调分析设计,大型项
目管理,自动化工具的支持,你做好准备了吗?
题外话:
SUN在微软拆分问题上输了吗?
微软的案子打了这么多年,居然庭外和解。SUN确实挺郁闷。不过SUN并没有输。为什么这么说呢?依毛主席的
话说就是:敌进我退,敌疲我扰。确实微软在.Net的发展上受了很多牵绊,否则也不会到如今才推出来个框架
。在硅谷,时间就是机会,时间就是金钱,谁前进的快谁就能占先机,显然SUN并不是最痛苦的一个。
JAVA的未来
依windows的用户量和微软进攻高端企业应用的决心[听说在.Net还在测试阶段就在通用等许多大公司试用并提
建议,当然微软在其中给了不少钱],所以不要怀疑微软只能做小东西[实力是需要时间和成功来证明的,就如
微软现在的财富],当大多数的WINDOWS机器都升级到了.Net上,JAVA呢?他会在.Net上继续构筑他跨平台的梦
吗?他究竟如何?让我们继续观察和想象....呵呵!
 
同意!
MS搞.net framework本来就是打算在windows api上面封上一层,应用程序全部跑在
.net framework上,然后他就可以在下面修改windows的底层了,大幅修改windows
内核,但是只要.net framework不变,就不用担心兼容性。
 
佩服!!
 
听一下课
 
这个未来是多远的未来[?]
继续听课[:)]
 
未来是两年后
 
这是和同事一块聊天时对未来5-8年后的看法:
宽带的普及,CPU,内存的加快,使你无须安装与下载,直接运行,操作系统的作用被进一步削弱
安全认证中心等专门的网络服务提供商的出现,使人们在上面工作学习生活支付变的很普通,就象我们在马路上开车一样,在银行存款一样,操作系统已不在是关注的热点
JAVA和NET的进一步完善,世界只剩下JAVA和NET两大主流阵营,操作系统会被封装的越来越地层,意义越来越不大。
JAVA和NET的芯片出现,而且可以通过BIOS的刷写,很容易升级和改换VM,或者兼容两者的VM也会出现。电脑也变的不再重要,生活中的很多电器都可以插入JAVA芯片,然后就操作。开发一个软件,你是为PC,还是PDA,都已经没什么区别
软件由于不需要下载,更新升级仅在服务器上,软件的使用开始了真正的按服务收费。ASP的服务提供商没有做起来,只是环境和应用不到时候,但并不代表在未来它 就不具有前途
天下之事,分久必合,合久必分,从大型主机开始,性能太低价格太高,出现了PC的分散计算局面,随着性能越来越高价格越来越低,又回到了大型主机服务时代,以后的应用又出现了质和量的变化,一旦适应不了,就必然又会分散,但这次的分散和上一次的分散已经是天壤之别
现在阻碍着应用的是:编程工具不能大幅度简化技术而阻碍了应用的开发;输入的不方便[这里的输入可不代表输入法,而是信息采集],使得信息难以大规模积累;输出的局限性[只是呆板的图形,不能全方位的表现];
网络的传输技术,使应用进步更加依赖硬件而不是软件,微软亚洲研究院为什么在做哪些研究,就是因为他们不断在思考未来是什么,所以每一次技术的浪潮他们总在浪头。当然未来还会有所改变,但是他们会及时调整他们的战略,但大方向不会错到哪去!
当技术不再是阻碍应用发展的主要因素,比如宽带的来临,这时候你想过没有,在它上面,该做些什么呢?
世界有多大,你能看多远?为什么在每次浪潮到来时你都无法预想到,而感叹这世界变化如此之快?
 
写得不错啊:)
 
受益非浅!
 
我要学 .net
 
跟个找砸的帖子,算是自己没有跟上新技术的自我安慰吧(转贴)
九月十一,是我生日,全世界都在关心拉登杰作周年纪念,也是我做计算机组成试验的第一天。我在面包板上发了几块74LS34,74LS194,74LS74等等,接好线,打开电源,清零,启动,然后就看到上面的指示灯按照我设计的节拍把放在锁存器里面的数据放到自己设计的四位总线上,然后在不同的节拍送到不同的芯片,一丝不苟,跟计算机里面的时钟周期一模一样......我突然觉得,我对软件设计,失去兴趣了.
回想最当初,也就是初中,用edit做一个bat出来,也是很大的乐趣,到了高中,用javascript做html,更是可以给同学大大炫耀一番.进入计算机系,浏览大大小小的网站,两年的大学生活更开阔我的眼界.不过,我的学习热情,都是从问为什么开始的.我记得我的第一个为什么就是"计算机在起动前为什么知道启动区在磁盘的什么地方?",然后就是"为什么字符串组成的代码能够让网页动起来",接着是"既然我的编译器要在操作系统下面才可以工作,那么操作系统又是怎么写出来的呢"甚至是"汇编语言的编译器是用机器语言写的,但是没有现成的程序,怎么让计算机识别键盘的输入呢......这些问题,伴随着我的学习过程,可以说是动力的来源.因为我每次了解了一个知识点,就有新的,而且往往是更基础的知识点冒出来,源源不断.所以就不断地学,不断地深入.但是,当我看到我在实验室做的"计算机的一部分"正常工作的时候,我突然感觉,那些所谓的"为什么"都不重要了,因为计算机大不了就是这么回事.因为我已经可以用基本的三态电路做个很简单的芯片和辅助系统出来了,用手动节拍来控制它的工作.到这里,再也问不下去为什么了.因为不管什么程序不管什么系统,也就是控制这个节拍的规律.突然觉得,虽然我还有很多不懂,但是,也不是我一直在寻找的本源了!
我不知道应该对这种感觉说什么,解脱?我回忆起学程序设计语言的过程,我当初学习的动力,并不是学了要解决什么实际问题,不过是想证明我能过让他动起来而已!但等我了解多一点以后,才发现高级语言没有其他基础的服务,也是不能让我随心所欲操纵的.所以就去看汇编,看操作系统,看进程源语.最开始写dos下的程序,对自己很不满,因为我用的都是在windows下运行的.等我可以写windows程序的时候,我却发现为了支持通配符和灵活的参数我更宁愿他在命令行执行.在我学c语言的时候我向往用visual basic来化一个程序,但等我学了更多可视化编程以后,我却更愿意去分析编译出来的汇编代码.虽然学习是如此的反反复复,我还是乐此不疲,因为我的目的只有一个:我要更好地掌握他.
现在,我的目的达到了,因为,我可以说没有什么代码我看不懂了.大不了我看汇编出来的代码,再不行,我可以观察节拍脉冲了!也就是说,整个计算机的发展,我终于有了一条线,但有了线我接着要做什么呢?却突然找不到答案了!回想起我的学习过程,换来的不过是一个"了解清楚"而已,太让人觉得悲伤!突然头脑一片空白,以前看到论坛上说什么什么书好,都有想去看的欲望,现在却对自己说,没甚么了不起的,以后有时间看,难的东西不多了!于是东看看西看看,开学买的好多本书,比如<open gl>,还有网上的英文jvm的教程,都没有太多激情去看了,到是天天网上聊天关税,也其乐融融.
相信好多人跟我有类似的感觉.现在,我只能说,我们不过是一些技术爱好者而已,不过是想看看为什么的人,更本不能算是程序员,不管你写出了多少好的程序,如果是怀着这种目的在学习工作,你会有老的一天,就像我现在的感觉,因为你永远都跑不过技术的!
佛洛伊德说过"治疗的最好方法,就是把病说出来".既然我都认识到了,我想,我也有焕发青春的一天.
那一天来了.
我们寝室的特别喜欢diablo,我无聊,也加入了他们的队伍.我发现在游戏里面找东西要按着alt不放,他们当然习惯了,我却不行.不过diablo又一个外挂程序,好像可以截获游戏的消息,来作出地图的全貌.我想了想,也用一个钩子,拦截里面的键盘消息,当我在游戏里面按下一个自定义的键,程序就往游戏窗口发送一个alt WM_KEYDOWN的消息,再按一下就来一个M_KEYUP,于是我找东西的时候就爽多了.
我爸爸在当网管,说穿了就是修计算机,恢复系统.但是一个ghost文件就有2g,放不到刻录机里面的,于是只有分割成小文件,要使用的时候再恢复.我记得当初的arj.exe可以完成这个工作,但是可不可以分割成600m,就说不定.而且既然是重新装系统,也就只有dos,windows现成的程序是不能用的,于是我想了想,用c花了100行,同时解决了分割和合并的问题,而且可以指定缓冲区大小.
这两个程序的代码,不过200行,花的时间也不过一天,但是,做完后我才觉得这200行程序比我一辈子写过的程序都要多!
是他,让我知道了程序员的本质是什么:为客户服务!
我在写这两百行程序的时候,完全是全新的感受.因为里面没有继承,没有多线程,没有记不住的api,更重要的是:所有我以前写的程序,都是为了学习,都是为了试验一种技术或者证明一些语法.而这两个程序,完全没有这些,一切都轻车熟路,胸有成竹.
同时,由于我了解了整个计算机的工作过程,我有从分的理由来为自己选择编程语言,库函数,数据结构等等,以前写程序,是我为他们服务,现在,是他们为我服务!我找了一种心平气和的感觉.
我突然想到我们教授说的一句话"真正的计算机专家,是不懂java的人,因为他没有时间!"当时我很不以为然,不自己写程序,不以coding为职业,还算是专家?现在我才知道,人家根本不屑.以前崇拜写程序的,是因为是我想写代码来体验技术,而计算机的本质却是为人服务的.让他们来coding,远不如让他们去研究"模式匹配","程序证明","软件质量控制"等等算法和基础理论的帮组大,那怕做哪些工作一辈子也不能有一个自己写的程序.
我们老师也说,好的程序员在好的工作环境生活是很有规律的.当时我也以为,如果缺乏热情的程序员,可能不过是井底之蛙而已.但是现在我觉得,如果你现在的技术足够应付你的工作,现在的积累足够让你很快学习好新的技术,你根本不用着急.现在回想起以前通晓看"vc内幕",才想起如果当初先学好c++,windwos api.有很好的积累,看那本书不过是消遣而已.
等我想明白这些以后,我也就不太去关心j2ee跟.net的世纪争霸了.因为那些东西我现在用不着,他们既然是高效开发工具,以后要用学着也肯定很快.反而更去关心以前不太重视的数据结构,操作系统等等,现在看了一遍还觉得不够,还要去找点奥林匹克的题目来研究.那些东西,以前我都认为是"好学生"看的,不是有"实际能力"的学生太去注意的.
所以我突然觉得,我走了很多弯路!
然后我反观现在的论坛,讨论"技术"的太多,讨论"体系和基础"的太少,特别是在参与了两次讨论以后
http://www.copathway.com/cndevforum/subject_view.asp?subject_id=15133&forum_id=
http://www.copathway.com/cndevforum/subject_view.asp?subject_id=15139&forum_id=
我认为我们的学习方法和顺序需要改进,因为我们本来可以很省力的.因为在你花时间做好很多不能直接出成果的"基础学科"以后,再来看现在的好多开发过程,就有点像先搞清楚语法,然后查阅函数库一样的简单.而且不会被新的词语弄得昏头转向!回想起我学电脑是在1994初中,连windows95都没有的时候,一直追逐"技术"到现在,如果不是我很有决心和毅力,早就放弃了,因为在这将近10年里面,计算机程序设计上,出现了多少吸引眼球的东西!
我把我的感受写出来,是不想让更多人浪费一个5年!侯捷在<多线程程序设计>里面说提到,一个cup做多个线程,里面的同步和互斥是在6,70年代的djjiskra就解决了的!同时数据结构里面图的最短路径,也是djjiskra解决的.想起来,我浪费在自以为"动手能力"上面的时间,是多么宝贵!
话说回来,我的意思并不是学新技术就不好,而是应该分清楚主次!学用技术和打好基础本来就是辩证的关系,没有基础学技术很难,很浪费时间;没有技术的支持,基础永远都不会得到体现.但是我觉得现在好像一切都是新技术新名词,好像大家都认为所有的技术都是必须用到的,而不考虑问题本身的需求,所以把我的想法拿出来提醒大家."磨刀不误砍柴工",这句话以前我一直都没有做好!
我有些赞同这个贴主的思想的
 
我对微软的发展的一些看法:
微软把.Net扩展到高端市场和移动设备市场,为.Net开发的程序可以在基于.Net的任何设备上
都可以运行,大家不需要为不同的设备用不同的工具开发应用,应用极大的推动了基础软件的
扩大,就象OFFICE,SQL SERVER辅助扩大了WINDOWS的销售一样。
未来的XBOX也会变成.Net平台,成为家庭连网的安全网关和交易网关和信息网关,如果你觉得微软进入
游戏业就是为了眼馋游戏这块利润,那你就大错特错了,这个皮毛根本不值得微软大动这么财力。
PDA和手机也和机顶盒一样嵌入.Net,你打开电视,你打电话,你玩游戏,你工作,你上网,你甚至打开冰箱,
你都不会知道在背后支撑的是.Net,从高端服务器到你的手机,全部是微软的软件
这是一个伟大的设想,如果微软能够兢兢业业的走,凭这样的财力人力和管理和经营战略,
走10年,实现的可能性非常大,这不是以个人意志为转移的,你说他倒他就会倒吗?
如果会成功,当然微软会成为人类历史上最伟大的公司,赚取的财富已经不能再提,最关键的
问题是:我们全人类的生活和工作被一个私人的商业公司所控制着。
只是到那个恐怖的地步,你是否有勇气和能力把他拆分。因为他足以触及到你的生活和工作,
社会的经济,政治活动,甚至军事,任何的动作都足以引起社会的大地震。
你认为他有什么理由完不成这些梦想吗?
 
阿朱真厲害!
 
阿朱交个朋友吧:)
我是乔峰,大概忘了吧?:)
MSN:king_bird_head@hotmail.com
OICQ:104269413
 
阿朱是哪人?現在何處高就?
 
顶部