免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 770 | 回复: 0
打印 上一主题 下一主题

java 与c++ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-02 19:14 |只看该作者 |倒序浏览
首先,我要说的就是语言本身没有高低贵贱之分,所有的语言存在都有他存在的意义。
java,跨平台,由于虚拟机的存在,java的速度肯定无法和C/C++相比,但是也不像某些人说的那么夸张。
java,Java有一个特别的“垃圾收集器,它会自动释放由那些闲置对象占据的内存,以便能由新对象使用,这样可以有效防止由于程序员忘记释放内存造成的“内存溢出”,但是肯定也是牺牲性能为代价
java,数组。由于系统自动进行范围检查,所以必然要付出一些代价:针对每个数组,以及在运行期间对索引的校验,都会造成少量的内存开销。但由此换回的是更高的安全性,以及更高的工作效率。为此付出少许代价是值得的。
。。。。。。
在这里也就不仔细比较java与c/c++的性能优劣了。
java是一种静态语言,它的开发缺少灵活性。
ruby on rails的开发web的效率号称是java的10倍,但是在企业级应用上来说,java本身还是首选语言。强大的API,丰富的第三方软件支持,framework也在激烈的竞争中不断的优化,source容易让初进入项目的人读懂,门槛也比较低。
记得在《程序员2006年合订本》有个“华山论剑”的记录了各种语言的优点的优势,有兴趣的可以看看。
我说这么多的意思就是,希望初学者不要盲目的去赶时髦,一味的追求新技术。
今天学java,然后c++,然后.net,还雄心勃勃的说:我要在短时间内精通“struts,hibinate,jsf,spring,applet”......
过了几天,发现现在公司或者论坛上看到现在流行JSF,又去研究JSF。
过了几天,又是ruby,python......
简直看花眼了。
所以要认定一门语言,认真打好基础。语言本身并不重要,重要的是设计思想。
无论是c++还是java还是其他的动态语言,就程序控制来说,无非就是顺序结构,循环结构,递归。
相比在上学的时候,我们学过c语言对这些基本的东西应该有所了解吧
我们所要学习的正是 继承,重载,多态,封装等这些面向对象的精髓,需要具备的是把具体的事物抽象成具体的类的能力。
何时应该使用继承,何时因该使用抽象类,何时应该使用接口,各个类之间通过什么来联系,等等。
基础学好了,然后可以开始学习一些API之类的东西,这些东西不要去研究它,只要达到能用就可以了。要用的时候再去查找它的具体用法。
实际项目中,需要用到的framework,apserver,xml之类东西的时候,再去学习他。
比如,项目中用 java + struts + jsp ,那我就学习struts。
项目中用到JSF,我就学JSF,用道Applet,我就学Applet。
有人会说,这样的话,不是又变成什么都学,什么都不精通么?
最简单的说句,公司请你来,是请你来做事情的,还是请你来学习的呢?
刚开始的时候,你们不能决定公司到底用什么技术架构,你所能做的就是适应公司,这个时候,你要做一个有心人,主动地去看看项目是如何利用这些framework,如何利用这些中间件的。
现在的主流无非就是个MVC思想,几个项目下来,你肯定不具备这些架构的能力,但是只要你做个有心人,脚踏实地,你一定能有所收获的。
技术始终在变,惟有思想永恒(有点唯心主义了)。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/52399/showart_434432.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP