看到园子里又有一波试图掀起C#和JAVA的谁更好的争论,对于这些一直不断的争论,我觉得实在没有必要,黑格尔的存在即合理,中国的老古语说的萝卜白菜各有所爱,大家争论的再多其实卵用也没用,还不如趁着闲暇时间看部电影,听听音乐,喝杯咖啡,看看小人书来的更好,正好有时间,多多休息,免得项目忙起来的时候加班加点的时候又觉得太忙太累都没法休息。

  语言就像是你选择的老婆或者老公,如果大家都喜欢同一种类型的,那未免会形成独裁和单一,世界怎么能更加美好,怎么会有五颜六色,社会怎么进步。只有你喜欢丰满的,她喜欢精瘦的,这个世界上才不会有那么多的光棍。不然大家都飞到韩国整成一种脸型,出门到处是你的老婆或者是你的老公,这个世界还有什么美可言,你也会产生审美疲劳和密集综合征,说了这么多就只想说明一点,编程语言正在被使用,都有它们存在的必要和价值,

  首先说说C#语言的好处与缺点,C#入门简单,上手快,比较人性化,Dot Net封装了大量的类,非常友好的IDE界面,安装方便,配置方便,很多人不需要了解系统如何运行即可进行开发编程,对于当下中国的中小企业的中小系统来说,不需要花费太多的精力去对人才的培养和花高价聘请高级人才,只要你能按照客户要求做,只要你能保证系统运行不出错,不管你代码多么烂,多么没有效率都没问题。现在随着Dot Net的开源及支持跨平台和手机应用的开发,可以做大量的开发工作,受到了一些企业的青睐,Dot Net的程序员接私活也比较容易,小项目来说,也就是随随便便捣鼓通了。缺点呢,也就是很显而易见,没有太多的开源项目进行学习,Dot Net程序员向上的工资晋升有限,由于软件专利等问题,中国大型企业较少使用,职位偏少,只有奋斗到管理层,你才能得到稍微满意的工资,但是管理层的话,又没多少时间去研究技术和专研代码(园子里有很多),大型项目使用的较少直接导致了Dot Net没有大型项目开发的经验和教训,开源项目也就甚少,学习起来困难重重,很多人由于发展到一定的地步,觉得工资涨幅无望,职位晋升无望,遂转战其他语言,创业或者辞职转行。

  再说说JAVA语言的好处和缺点,JAVA的缺点呢,我先吐槽下,JAVA的IDE安装和配置稍微繁琐和麻烦,各种环境变量配置,各种包需要自己去找去配置,有时找的包还用不了,IDE不好用,看起来一点都不大气,还有各种复杂的配置文件,开始学习JAVA编程很困难,运行一个Hello Wolrd都得半天,这直接导致很多人死在了这一步,认为编程难,编程狠难,编程超级难,后来他们接触了C#编程,发现编写一个页面很简单,直接运行一下,页面就出来了,他们感叹,如果当初学习的时候用C#的IDE可以让自己少走多少弯路啊,吐槽完毕。说说JAVA的优点,JAVA跨平台不得不说做得很成功,开源项目很多,一个刚上手的初级程序员,都能找到很多高大上的开源项目,学习他们的设计模式,编程思想和一些最新的技术,学习机会大大提高,也更容易提升自己,如果需要学习什么姿势,直接找开源项目即可,可以和很多技术大牛进行学习和交流。工资也高,比如在某二线城市,相同能力的应届生的话,C#3500起步,JAVA要4500起步,大型公司的职位也多,跳槽也比较容易,最近比较火的安卓开发也带火了一批进入JAVA领域的年轻人。

  最后不得不说PHP,大家在JAVA和C#之争中总是会提到PHP,这或许是源于PHP是薪酬较高,从业人员比较自信的一个原因吧,有大量开源项目,上手比较快,比如需要做商城网站之类的应用时,可以找一些开源项目,改个模板,或者网页布局,项目开发非常快,能够快速实现经济价值,所以他们从业人员工资也会相对比较高。但在我看来PHP还是比较原始,当初的ASP慢慢的流入历史长河里是因为出现了ASP.Net,为什么PHP没有被淘汰,只是因为还没有更好的产品来替代。

  现在的编程语言好比战国七雄的年代,各有各的涉及的领域,各有各的特点,而他们又终将被其他语言所替代,所以我花费了这么长时间写这篇文章只是希望大家能够结束纷争,因为这些争论的再多也没有用,还不如趁着闲暇时间看部电影,听听音乐,喝杯咖啡,看看小人书来的更好。

萝卜白菜,给有所爱——C#和JAVA都会终将被时代淘汰的更多相关文章

  1. 爱奇艺JAVA后台面经

    链接:https://www.nowcoder.com/discuss/217425 1.volatile关键字的含义 2.Java NIO 讲一下 2.1 NIO selector,epoll的区别 ...

  2. 两小无猜的爱恨情仇--java =+和+=揭秘

    故事背景 当一个人问另一个人“敢不敢”的时候,另一个人必须说“敢”,这就是游戏的规则.小男孩朱利安和小女孩苏菲的相遇即开始于这样一场孩童的闹剧,一个精美的铁盒子就是他们游戏的见证.说脏话,扰乱课堂,在 ...

  3. 进击的 Java ,云原生时代的蜕变

    作者| 易立 阿里云资深技术专家 导读:云原生时代的来临,与Java 开发者到底有什么联系?有人说,云原生压根不是为了 Java 存在的.然而,本文的作者却认为云原生时代,Java 依然可以胜任&qu ...

  4. Java线程的5个使用技巧

    萝卜白菜各有所爱.像小编我就喜欢Java.学无止境,这也是我喜欢它的一个原因.日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法.比如说线程.没错,就是线程 ...

  5. Java基础学习总结(94)——Java线程再学习

    Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱.像我就喜欢Java.学无止境,这也是我喜欢它的一个原因.日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是 ...

  6. Java中返回参数值的几种状态

    Java 中无参无返回值方法的使用 第一步,定义方法 例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 " welcome to imooc. & ...

  7. java牛人给新人的几点建议

    展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...

  8. JSP/JAVA目录清单

    JAVA253中国象棋(CS) JAVA258网络五子棋游戏的设计与实现(CS) JAVA390停车场管理系统SQL(CS) JSP001学生综合素质测评系统JAVA+Mysql JSP002学生成绩 ...

  9. Java中的方法(形参及实参)return返回类型

    如何定义 Java 中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 pub ...

随机推荐

  1. C# WinForm 中 MessageBox的使用详解

    1.C# WinForm 中 MessageBox的使用详解:http://www.cnblogs.com/bq-blog/archive/2012/07/27/2611810.html

  2. 初步涉及JDBC

    一.为什么要使用JDBC: 1.在之前的学习中,我们都是通过控制台来输入信息,创建对象,然后再输出信息,但是这样无法保存数据,每次程序运行都需要重新输入,很麻烦. 2. 在这样的情况下,我们就需要利用 ...

  3. 深入浅出: Java回调机制(异步)

    一.什么是回调 回调,回调.要先有调用,才有调用者和被调用者之间的回调.所以在百度百科中是这样的: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调和异步调用. 回调 ...

  4. 前端tip

    background简写 参考地址 http://css.doyoe.com/ 缩写:background:url(test1.jpg) no-repeat scroll 10px 20px/50px ...

  5. 6. Adapter Class/Object(适配器)

    意图: 将一个类的接口转换成客户希望的另外一个接口.Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 适用性: 你想使用一个已经存在的类,而它的接口不符合你的需求. 你想 ...

  6. OpenCV linux cmake添加使用

    安装好opencv之后: 只需要添加一下,就可以方便的使用opencv了,find_package opencv 会寻找FindOpenCV.cmake find_package(OpenCV REQ ...

  7. Iscroll解析

    做了一些移动端的产品,发现一些滚动效果很多会使用 iscroll 作为底层库(如阿里小蜜).iscroll 的文档已经好久没更新了,而且比较简单,经常需要直接读源码.这里写一篇总结,作为对 iscro ...

  8. svn没有对号等符号的问题

    文件夹--右键->TortoiseSVN->Settings  => 弹出一个对话框,在对话框中左边框中有一个Icon Overlays->Overlay Handlers   ...

  9. 数据仓储之DLL层接口设计

    一.接口设计 1.1. IBaseRepository.cs public interface IBaseRepository<T> { T Add(T entity); bool Upd ...

  10. VM安装OracleLinux

    http://blog.csdn.net/highning/article/details/11556077 一步一步教你在VMware Workstation 10 安装 Oracle Linux ...