萝卜白菜,给有所爱——C#和JAVA都会终将被时代淘汰

  看到园子里又有一波试图掀起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没有被淘汰,只是因为还没有更好的产品来替代。

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

时间: 2024-10-01 05:56:54

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

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

故事背景 当一个人问另一个人“敢不敢”的时候,另一个人必须说“敢”,这就是游戏的规则.小男孩朱利安和小女孩苏菲的相遇即开始于这样一场孩童的闹剧,一个精美的铁盒子就是他们游戏的见证.说脏话,扰乱课堂,在校长室小便,内衣外穿,一个游戏两人一玩十多年,他们什么都敢,除了承认彼此相爱. 苏菲(玛丽昂·歌迪亚饰)提议两人分别十年,挑战的内容是朱利安(吉约姆·卡内饰)敢不敢伤害苏菲.恍惚十年逝去,朱利安找到苏菲,为了游戏的进行他决定另娶她人,邀请苏菲做伴娘.受到伤害的苏菲在朱利安的婚礼上抛出铁盒子“你敢悔婚

java成为移动互联网时代必学语言的六大理由

移动互联网到底是什么? 移动互联网的本质仍然是互联网,特点在于“移动”二字. 其实就是多了个客户端类型:手机.pad平板电脑.由于手机的体积较小,让人们可以随时随地随身携带,也就实现了人可以随时随地接入互联网.让互联网的应用更加深入人们的生活,成为每个人必须的工具. 所以,在移动互联网时代,我们每个人都成为了互联网的一部分,都无法离开互联网,基于这种变化,互联网上各种应用才有了爆发性的增长. 移动互联网时代如何开发软件? 移动互联网时代,任何软件都离不开网络.因此,软件开发都是基于客户端服务器模

Java线程的5个使用技巧

Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱.像我就喜欢Java.学无止境,这也是我喜欢它的一个原因.日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法.比如说线程.没错,就是线程.或者确切说是Thread这个类.当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同. 从本文中你将会看到线程提供的一些不太常用的方法及技术.不管你是初学者还是高级用户或者是Java专家,希望都能看一下哪

JAVA入门之方法

所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用 2. 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void :如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值 3. 方法名:定义的方法的名字,必须

Java— 方法

如何定义 Java 中的方法 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用 2. 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void :如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值 3. 方法名:定义的方法的名字,必须使用合法的标识符 4. 参数列表:传

关于 Java 你不知道的 10 件事

作为 Java 书呆子,比起实用技能,我们会对介绍 Java 和 JVM 的概念细节更感兴趣.因此我想推荐 Lukas Eder 在 jooq.org 发表的原创作品给大家. 你是从很早开始就一直使用 Java 吗?那你还记得它的过去吗?那时,Java 还叫 Oak,OO 还是一个热门话题,C++ 的 folk 者认为 Java 是不可能火起来,Java 开发的小应用程序 Applets 还受到关注. 我敢打赌,下面我要介绍的这些事,有一半你都不知道.下面让我们来深入探索 Java 的神秘之处.

POJ 3199 Uncle Jack(JAVA练习)

Description Dear Uncle Jack is willing to give away some of his collectable CDs to his nephews. Among the titles you can find very rare albums of Hard Rock, Classical Music, Reggae and much more; each title is considered to be unique. Last week he wa

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

如何定义 Java 中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴 2. 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void :如果方法具有返回值,则需要指定返回值的类型,并且在

JAVA集合框架及其背后的数据结构

一:介绍:Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes .其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速.便捷的存储 store .检索retrieve .管理 manipulate ,即平时我们俗称的增删查改 CRUD .如:一副扑克牌(一组牌的集合).一个邮箱(一组邮件的集合).一个通讯录(一组姓名和电