我为什么后来远离了 Java

2015-05-10 01:55:36 +08:00
 noli

我的编程生涯:

  1. 小学是Logo
  2. 初中是Pascal
  3. 高中是自学JSP和Javascript,为了写论坛
  4. 大学软件工程,教的还是Java,但老子自学C++去了(这简直是我人生中最成功的决定之一)

在大学那会儿基本上是主动放弃Java了,原因之一当然是已经对语言很熟了,但是觉得没有必要再去碰延伸开去的东西,例如SSH啊EJB啊什么的。虽然当时Java还是非常红的,Sun还很强,Eclipse 也是当时最强的IDE之一。

当时是看见这几件事情,决定放弃Java的:

  1. 大公司例如银行、保险、金融等等都招Java,为啥,因为他们的IT团队都很大随时有人走,随时要新人接着上。这说明了Java 很适合大团队管理,因为写法超死板,框架太强力,不需要个人发挥。

  2. 我大学时的同学就算以前没有编程,只要肯学,学Java 还是可以很容易追上我当时的水平(你要对我高中时肯自学JSP的那种劲头有信心),甚至后来都可以跟我一样帮大学老师做项目了。这说明了什么:用Java的核心竞争力不是经验,你写得越多,你的经验优势就越小。

  3. 当我开始想学习Unix,想学习编译器的时候,虽然我甚至因为Java的原因学习了一下 ANTLR,但我发现用Java写这些东西的代码时,实在距离我想表达的,我所知道的东西太远了:尤其是对比 C++ Template 的表现力的时候。

所以现在我看见有人觉得Java好,或者反驳某些语言炮的时候,我都跟着叫好。

我不应该写这个帖子的。

34270 次点击
所在节点    程序员
226 条回复
djyde
2015-05-10 02:06:41 +08:00
我学 Java 是为了写 Android

在写 Android 之前,我是 Java 的无脑黑

在写 Android 之后,我觉得 Android 选择 Java 是非常正确的选择

我仍然认为在其它方面的 Java,like a shit
tonyluj
2015-05-10 02:11:37 +08:00
大一的时候自学Java的时候觉得很喜欢,很有前途,曾经仰慕的大神师兄都是用Java做项目。而大二下的时候毅然决定转C++。。。
感觉用C++后,接触的东西比以前多了不少。C++、C、Lua、Python、Go、Kernel、Haskell、网络编程等等。
于是搞到了BAT里Java见长的Offer,不过不是去搞Java。。。
vietor
2015-05-10 06:43:24 +08:00
任何语言都有短板,任何语言都可以拿起来就用。当然自己的主力语言还是要确定好,因为你会将其他语言写的都和它很像。我主力是C/C++,语言栈是:NodeJS,PHP,Java,工具语言是:Python,LISP,Bash,Go。
handleyan
2015-05-10 07:13:15 +08:00
我阐述一下我的个人观点吧:
1.任何语言都是易学而难精,学一门语言不要以为会用它写几个demo了就认为自己掌握了,我向来认为接触一门语言到写出helloworld的时间加上搭环境不应超过半天。但是千万不要以为你就精通了。
2.用好java真的很难,暂且以java将一些工程师归为一类,如果java就是在ssh的架构下写代码,为什么有些人工资不到一万,有些人能拿十几万。如果你认为你的经验和能力很容易被人赶上,不礼貌地说你还没有进入java的大门。
3.语言永远只是工具,要想用好一门语言你不仅要了解她的语法、语义。拿java来说,你不用关心jvm吗?你不用了解linux系统吗?你不用了解算法吗?你不用了解网络编程吗?你不用了解存储和分布式计算吗?在如今的环境你不要了解大数据处理和机器学习吗?找一个你身边你认为优秀的所谓的java工程师问问看看答案是什么。
4.要不要去了解和会不会去了解更多相关知识,无关一门语言,这是程序员个人修养的问题。也是制约程序员走向28分化的原因。
最后再说一句,什么语言真的不重要,参加工作后,如果你想成为一句优秀的工程师的话,要做的功课往往在语言之外。工作中第一位的是完成功能,第二位是怎么完成功能,第三位才是怎么优雅地完成功能。就这个东西就够琢磨几年了,共勉吧。
cangshu
2015-05-10 08:02:37 +08:00
存在即是理由,这种谁好谁坏的问题没有争论的意义。Java市场份额那么高,肯定是有优势在的。
teddysun
2015-05-10 08:03:50 +08:00
PHP难道不是最好的语言吗?
其实,用什么语言实现并不重要,重要的是项目。
kalman03
2015-05-10 08:12:25 +08:00
@handleyan 不能同意的更多。手机打字还是很累的。
kalman03
2015-05-10 08:15:05 +08:00
每天永远不会缺少的就是这种无聊透顶的去争论哪门语言好,哪门框架好,汗!从没停止过,而且还会继续。。。。
Earthman
2015-05-10 08:59:55 +08:00
小学就开始玩logo,初中开始正儿八经地编程,,,,这经历真是跪了。小学时候我还以为那个方方的显示器就是电脑本体呢。。。直到初中才见过一次PC,还是那谁援助学校的,连机都没开过。。。
Septembers
2015-05-10 09:03:38 +08:00
@Earthman 我小学只学VB6 .......
canautumn
2015-05-10 09:04:54 +08:00
我也讨厌Java,不过4楼说的有道理,前几天v2里还有人晒月2w新币的java的offer
msg7086
2015-05-10 09:08:56 +08:00
@Earthman 初中Pascal多半是走NOIP路线的。
话说当年学Pascal我初二,一个班里我年纪最大……
znoodl
2015-05-10 09:41:45 +08:00
话说高中才见过电脑的是不是弱爆了😳
njutree
2015-05-10 09:46:05 +08:00
@handleyan 说的挺有道理的,语言只是工具,怎么用和用的怎么样都看我们自己.
xinyewdz
2015-05-10 09:56:37 +08:00
Java主要是大型项目,复杂和规则比较多,主要是大项目管理需要。当一个项目足够大时,怎么架构好,组织好代码是最大的问题。这不是脚本语言,弱类型语言可以做到的。各种语言都有适合的领域。
mozartgho
2015-05-10 09:59:35 +08:00
脱离需求和项目实际情况谈语言,都没有意义
qinkun1234
2015-05-10 10:26:30 +08:00
楼主第一个观点倒是有点对。 反复权衡java与其他之后,我最近决定入手scala了。
Earthman
2015-05-10 10:30:21 +08:00
@znoodl 高中时才有那么一点点电脑课,上机房要穿鞋套。。。看着老师不停地右键刷新桌面感觉好高端。。。。。不过现在觉得他好傻逼。。。。。。。
koykoi
2015-05-10 10:31:52 +08:00
钱给够了 写啥都行
watzds
2015-05-10 10:48:04 +08:00
你现在在用C++做什么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/189854

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX