菜鸟浅析JAVA,.NET,CC++的区别
【文章来自:朱砂】
       前言
       以前经常看一些文章说到JAVA,.NET的区别,有时候C++er也会过来凑凑热闹,突然发现这几天手停不下来了,也想写一篇文章来分析一下JAVA,.NET,C/C++的优缺点以及他们之间谁"好",谁"不好"。当然本文的目的并不是为了挑起战争,而是分析,各位看官如果觉得有想法,也可以来探讨。文明探讨,拒绝谩骂。

       历史遗留问题
       首先来介绍下本人的在这几个方面的学习经历,本人学习这3种语言可以说是三部曲吧,虽然都不太深,本人大学的时候主要学的JAVA,工作2年,做的是.NET,最近几个月因为想学习一门底层语言,才开始慢慢学习C/C++,.NET,JAVA之间的争夺,以及高级语言和底层语言的激烈争吵不绝于耳,当然,我这3方面的造诣,大家可以当做牛毛或者头发忽略了,看过很多篇文章,有的说JAVA好,有的说.NET好,有的说只有C才是万物之母(源头),任何语言都脱离不了C语言。具体怎么说的我也不去网上找了,我还是照自己的看法说吧(*^__^*)。。。。.

       NET VS JAVA
       恩。。。。。。谁好呢?我不是.NET方面的专家(毕竟才工作了2年),也不是JAVA方面的专家(大学那点皮毛,哼!!!),下面按照我的想法来说:
       1.JAVA是开源的软件,是由世界上各个地方的开源爱好者贡献而出现的一种语言,其进化度依赖的是LINUX模式,.NET依赖的是微软的那些牛逼的程序员,这里不探讨好不好,因为每个人有每个人的想法。
       2.JAVA和.NET都是一种语言。。。。确切的说,是建立在操作系统上的一种框架,一种编程的框架,如果一定要说他们有什么不同,那就是语法不同,喜欢它的人,只是喜欢它的语法,不管是否开源,我们至少很难碰到去动JVM之类的底层。
       3.JAVA和.NET之间有很多的共同点,他们最大的共同点就在于他们都是语法化的语言,什么是语法化的语言呢,打个比方,很多人学英语很厉害,为什么呢?因为他可以组织很多的句子,优美的句子,而.NET或者JAVA最大的好处就是我们可以不用考虑算法,数学底层的东西,可以像写文文章一样直接调用类库(别人写好的东西),虽然我承认可以用一些方法去调用.NET或者JAVA中隐藏的指针或者使用一些位运算,但是这些只是特定的项目,如果只是做普通的网站,很多时候不要用到这些东西。
       4.我的观点是,不管是.NET还是JAVA,都是为了我们实现目的的工具,什么样的东西是好东西呢?我有2个衡量的标准:第一:能为我们,为老板带来经济效益。第二:好用就行,所以三段论嘛,最后得出一个结论,无所谓JAVAVS.NET好坏,争论这种问题没有任何的意义。

       面向过程VS面向对象
       上面的问题已经有人为此争论很久了,当然,这个问题很多人也会有争论,也许我这个标题起得不太好,因为其实C\C++中的C++严格意义上来说,也是面向对象的,因为不仅仅局限于结构体编程了。很多C\C++er不屑于搞.NETer或者Javaer觉得,搞JAVA的或者搞.NET的没有他们有技术含量。下面分析一下原因:
       1.就拿我自己来说,我在学习C之类的语言以前,搞的是.NET,有一次C#面试,给我出了几道算法题,结果没做出来,正是因为这次的事情,我才决心学习一门辅助语言来提高逻辑能力。.NET或者JAVA刚刚也说了是"语法化"的语言,最大的好处就在于可以很方便的写程序,但是.NET或者JAVA最大的劣势就在于它从一定程度上弱化了算法在程序中的作用,进一步说:"如果JVM或者.NETFramework"能够帮我们去解决算法的问题,我们为什么还要重复造轮子呢?
       2.如果想深入C\C++,必须要算法做铺垫,而.NET或者JAVA都大众化了,最明显的例子就是现在很多IT培训班,大部分都是JAVA或者.NET培训,而C/C++培训却不多,原因之一就是C/C++需要算法基础,如果是长期从事这项工作的话,而算法的基础就是数学。
       3.面向过程VS面向对象谁好呢?这个我总结的就是:如果你想改变这个世界,那么先从过程做起,如果你想改快速变你自己的生活条件,那么去处个对象吧!不是人人数学都好,也不是每个人对于框架,大局观的把控很好,找到适合自己的东西才是最重要的。

       后记
       最后吧,其实好不好,和我这种普通的程序员关系并不大,就像我们和马云的关系不大一样,几个人有他那么有钱呢?最终改框架的还不是他们,所以,吃好,睡好,身体好,比什么都好,最后说一句,程序员通常都喜欢宅,这样其实不好,现在年轻还好,年纪大了一堆毛病,没有身体什么都没了,希望大家自己保重身体,做一个做事高效率的程序员。(*^__^*)嘻嘻……,如果有不妥的地方,还请指出。。。