A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王盛 中级黑马   /  2014-11-24 10:30  /  1152 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

只是从语法层面对比,非常各位补充没事干多动动脑,这些就出来了,学着思考_即使是别人看来很二的思想也很值得。下面是我昨天在书店看到后静来思考的心得,以前总是听别人说这语言那语言怎么怎么,那都是别人的理解,是别人咀嚼后吐出来喂你吃的东西,不但恶心而且有“传染病”,要学着自己从去找东西,自己从事物本质出发,从本质上出发理解,这样更真实,自己的理解更深刻,不会被别人的错误思路影响你也走到错误的方向。就像火箭发射一样,刚开始偏差一毫秒,到最后相差十万八千里,偏了目标。
C#比Java封装度更高,例如输出语句:
C# Console.WriteLine();
//C#中任何东西都精心封装成人性化简便易用,便于理解观察的。
//writeLine();来自 Console这个类中。
//优略:右臂就有利,长期使用C#开发虽然方便,很多事情微软已经帮你做了,这样大部分工作不是自己动手,长期下去只注意逻辑部分实现,不注重或觉得其他微软已经实现的代码自己在写是浪费时间,这样导致自己对整体编程结构的理解不够清晰,所以C#程序员遇到问题常常不会解决。
C#程序员平时应当注重,甚至是勤练或者不看源代码自己写微软开源的,或者已经实现的代码,是非常有必要的。
优点:在实现逻辑代码方面C#更有优势,因为代码非常人性化,更适合人的习惯性理解阅读。高度人性化的封装,真正做到“高内聚低耦合”这样能更灵活,人性化的描述对象。
同样的定义一个二维数组:C#中实现:
string[,] fn = new string[2, 3]; //声明方式更加人性化,便于人的惯性阅读,理解。

Java中 System.out.println();
//Java中输出必须得经过System.   out . println等等3部才可以,因为没///有高度封装,所以比价麻烦。
//优劣:虽然没有高度封装,必须程序员长期去写,但这样能促使程序员动手能力,熟练编程整体架构思路,了解编程整体结构,在遇到问题的时候,思路更清晰。

同样的定义一个二维数组:Java中实现:
int a[][]=new int[3][2];     //不如C#更人性化,灵活。
缺点:不如C#更适合人的习惯性理解阅读。JAVA更原始,看起来难以人类阅读理解,更适合机器的思路理解。

总结:简单的说 C#更现代,更人性化,更加高度封装,更适合人类的思维。
Java,更加缘故,更适合机器性思维。
有人说选择一种语言,而我觉得,大道包含一切,不如随便选一个语言,熟练后,结合起来看另一个语言,这样能融合各家思想的亮点,才能成为真正的高手,就行李小龙,不局限于哪门哪派,而是融合各家所长。

无论是C#/JAVA,都是空壳语言,底层,内部实现都是C/C++,双方高级语言熟悉后,无论是眼界高度还是思路广度都不是旁人可比的,高层熟悉,就要开始熟悉底层,这非常有必要,对平时遇到的问题解决有决定性的作用。

无论哪种语言都有优略,时间没有完美的东西,你必须学会结合各家所长,学什么语言不重要,重要的是你必须先明白想做什么?然后才能选择符合自己目标的语言。如何知道想做什么,很简单,看看看每个IT巨头在做什么就可以了:比如:微软朝着云方面发展,在操作系统,办公方面巨大成就;  Google,在物联网,智能化方面很前端  ; 苹果:在硬件,UI 等方面非NB。更深层次的细分,自己去查资料吧。 看到这里,你应该明智了。

3 个回复

倒序浏览
c#比Java更简单
回复 使用道具 举报
有同感。。。。。。。。。。。。。。。。
回复 使用道具 举报
楼主分析得很到位啊   的确  先把一门语言弄深入了   再去理解其他的语言时   就会有一种豁然开朗的感觉   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马