作者:朱金灿



一个朋友(还在读书中)来信问我:


     灿哥~!最近忙吗?

我想请教你以下该学什么语言好呢?


  你所用的是C#还是C语言还是别的什么呢?我现在正好有了机会在我们院里的软件部里学习了,两个方向可供我选之一就是C#或者是JAVA  但是着办公室里的几乎是学C#的因为他们说在一般公司用的语言普遍是C#。


  JAVA 是一些大公司里用,而且C#学了一点旧可以做简单的程序只类的,但是JAVA 要是没有学精就很难下手编程,而且要学精还得用一两年的时间,


     请指点指点!



兄弟:


      你好!


      抱歉,国庆期间一直没有上网.关于你问我学C#还是Java,我尽我所能来回答你。说实话


我主要用C/C++,对C#和Java不太熟悉(用过一下C#,没接触过Java),因此我的答复可能存在很多纰


漏,你需要做更多一点功课。


      在我看来,学习一种语言主要取决于两点:该种语言的前途和你的方向。首先要明确一点:


任何语言都有其优点和缺点,有其适用的场合。Java语言是Sun公司发明的,起源于Sun公司的一个


失败的项目。后来Sun发现Java在网络编程具有得天独厚的优势,于是大力推广Java,现在Java已


经成为事实上的工业标准。C#语言是微软为对抗Java而发明的一种语言(当然也有其它因素),受到微软大力推广。


Java优势:事实上的工业标准,跨平台,适用于多种应用:B/S系统,跨平台桌面软件(这方面


Java不是很多),手机程序,在开源方面Java比C#做得好,这意味着你可以找到很多优秀的Java源


码供你学习。


劣势:学习难度较高(相对C#而言)


C#优势:微软的大力支持,有功能强大的IDE——VS系列、庞大的.net类库以及方便实用的MSDN供你使用,学习难度较Java低,上手快,开发速度快,适用于多种应用:B/S系统,Windows平台下桌面软件以及嵌入式软件。


劣势:不能跨平台



二者的共同点:都是纯面向对象的语言,都是流行的网络编程语言,在全世界有着广泛的使用者。


        综上所述,二者都是很有前途的语言。现在应该主要取决于你的方向:你是愿意追随微软的脚步,还是愿意投入到可以跨平台的Java的怀抱?因此你要扪心自问一下。比如我喜欢探求事物的本质,同时我的方向是数字图像处理,对运算效率要求比较高,因此我选择了C/C++.


        其次你要注意选择一门语言作为自己的主要使用语言,并不意味着对其它语言就可以不闻不问。很多时候是项目需要要求你去学习新的语言,比如去年我要开发一个Web管理系统,我就需要学习C#.因此即使你现在选择了C#,如果有一天你需要在Linux平台上开发Web程序,你可能就需要学习Java。因此学习哪一种语言都不应受它所限。


        最后要明确一点是任何语言都不可能脱离基本的算法、数据结构。因此计算机方面的知识你还是需要重视的。


         祝你早日步入软件开发的大门!



                                                                                                                            友:灿


                                                                                                                                      08.10.08