Java已经不时髦了? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
weicaizhi
V2EX    Java

Java已经不时髦了?

  •  
  •   weicaizhi 2011-12-05 13:05:14 +08:00 6747 次点击
    这是一个创建于 5060 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在发现好多技术人员都直接朝着iOS、Android、前端、移动互联网等时髦的技术发展去了,是不是Java已经不时髦了,或者说Java已经不赚钱了,我在学习Java,看到这种场景有些动摇,求开发专业人士给予见解。
    64 条回复    1970-01-01 08:00:00 +08:00
    hipeng
        1
    hipeng  
       2011-12-05 13:07:36 +08:00
    不会java,但是android的apk都是java写的,
    weicaizhi
        2
    weicaizhi  
    OP
       2011-12-05 13:09:40 +08:00
    @hipeng 那你是搞什么技术的啊,分享一下?
    Kymair
        3
    Kymair  
       2011-12-05 13:09:40 +08:00
    Java language已经不时髦了,但JVM和Java Platform正当壮年

    把视野放开阔一些,可以选择一门其他的JVM语言学习,比如Groovy, Scala或者Clojure
    roamlog
        4
    roamlog  
       2011-12-05 13:09:53 +08:00
    不会 Java 你怎么折腾 andorid? 学 java 还是不错的,目前主要还是两个方向,1 是 J2EE,这个地位还基本上没撼动,另一个就是 android 了,所以前景依然不错,只是目前懂 Java 的人很多而已,但真正懂的没几个。。。
    saharabear
        5
    saharabear  
       2011-12-05 13:15:19 +08:00
    Java不仅仅是语言。
    weicaizhi
        6
    weicaizhi  
    OP
       2011-12-05 13:32:27 +08:00
    @roamlog 对哦,学Java做Android也是不错的。
    weicaizhi
        7
    weicaizhi  
    OP
       2011-12-05 13:33:13 +08:00
    @Kymair “Java Platform正当年”具体什么意思?
    funcman
        8
    funcman  
       2011-12-05 13:38:20 +08:00
    技术用来解决问题的,能解决现在的热点问题就时髦。
    Java让人沮丧的一点,就是一想到Java就想到很多莫名其妙、不知所谓的框架。
    这些繁杂的框架消耗了很多人本该用以关注问题的精力。
    如果人能有意识地去重视问题,Java便有可取之处。
    xiaovfight
        9
    xiaovfight  
       2011-12-05 13:38:24 +08:00
    重要的是编程思想和工程能力。
    我个人觉得对于初学者学习java的好处有:
    1.语言严谨,培养计算机思维,再学其他语言可以举一反三
    2.社区成熟,学习资料多,学习成本低,学习曲线平缓
    3.应用框架多,锻炼工程思维,开拓视野
    4.工具支持多,锻炼软件工程能力
    5.java在企业级领域还是很有分量的,至少早期有很多企业级应用是用java写的,需要人维护啊
    总结一句:学java不会很富,但至少不会饿死

    当然,对于大牛,很可能就不止掌握一门语言了,毕竟语言只是工具
    soulhacker
        10
    soulhacker  
       2011-12-05 13:45:35 +08:00   1
    Java Platform 至少包括:Java 语言、Bytecode 规范、JVM 个平台实现、开源社区大量软件库;宽一点还可以把一堆基于 JVM 实现的语言包进去(JRuby、Scala、Clojure 等等)。Java 和 Javascript 都是编程界的猫精,至少有 9 条命,没那么容易死。

    即使只是 Java 语言本身,学好了也能有很多益处:严谨的代码风格、传统的面向对象编程范式等等。
    weicaizhi
        11
    weicaizhi  
    OP
       2011-12-05 13:46:59 +08:00
    @funcman 对对,好多企业一面试上来就问会Java的三大框架么,不会又怎么啊,都是可以学的东西!
    weicaizhi
        12
    weicaizhi  
    OP
       2011-12-05 13:52:04 +08:00
    @xiaovfight @soulhacker 受益良多,我还是继续努力学!
    saharabear
        13
    saharabear  
       2011-12-05 13:59:13 +08:00
    @soulhacker 正解
    wenhuacn
        14
    wenhuacn  
       2011-12-05 14:09:22 +08:00
    个人认为:Java 还是容易学的语言,如果不是功利性太强,可以先掌握好Java 再学习其他语言。
    网上很多人骂Java,其实他们以前都是Java老程序员,后来转向ruby,python,scala,erlang等语言,没有一定层次和对Java 的精通,是不会体会到Java 的问题的。新人如果愿意循序渐进,还是可以走他们的老路。
    谈到赚钱,如果学得足够精通,银行,通讯,企业应用等,Java还会统治很多年,进大公司搞这些还是有钱途的。
    小公司如果搞互联网,Java的确没有什么优势了。
    fly2never
        15
    fly2never  
       2011-12-05 14:10:26 +08:00
    lz难道是那个狂热的#diejavadie标签使用者?
    weicaizhi
        16
    weicaizhi  
    OP
       2011-12-05 14:12:28 +08:00
    @fly2never 什么意思,不是,我是新人一枚。
    weicaizhi
        17
    weicaizhi  
    OP
       2011-12-05 14:14:47 +08:00
    @wenhuacn 好吧,听了各位大神说,看来Java不适合小型的创新公司了,国内好多都是和什么政府机构合作的用Java。
    xiaovfight
        18
    xiaovfight  
       2011-12-05 14:18:51 +08:00
    @weicaizhi 个人建议学习java的同时还要多关注其他语言的特性,再对比java的实现想想有没有更好地实现方案。要认识到java的不足,比如内存管理太过铺张浪费,这一点可以参考c++的内存管理,多联系多思考多动手然后多总结,效果会更好,当然学习也会更愉快>_=
    skywinger
        19
    skywinger  
       2011-12-05 15:10:31 +08:00
    @weicaizhi java其实很适合做服务端程序,java NIO方面的效率堪比C、C++写的通讯程序的效率,而且JVM也已经很成熟了。至少执行效率方面没啥问题,多线程的稳定性方面也不错。做为服务端开发效率而言,又比c、c++等好很多。就是做网站等并不适合java来做,总之,java挺好的,用对地方的话,会觉得java还是很不错的。
    weicaizhi
        20
    weicaizhi  
    OP
       2011-12-05 15:10:36 +08:00
    @xiaovfight 感谢你的建议,对于我来说首要的先掌握一门语言,学习中融会贯通。
    weicaizhi
        21
    weicaizhi  
    OP
       2011-12-05 15:22:26 +08:00
    @skywinger JSP不就是用来做网站的么,不是挺好的么,求解?
    issac
        22
    issac  
       2011-12-05 15:24:30 +08:00
    @weicaizhi 是用来做网站的..但更多是做ERP ORM之类的..
    JAVA的SSH框架倾向与企业级的运用..
    所以做网站的话灵活性实际不够其他的语言..
    weicaizhi
        23
    weicaizhi  
    OP
       2011-12-05 15:29:59 +08:00
    @issac 那网站灵活的都用什么呢,asp、js?
    reducm
        24
    reducm  
       2011-12-05 15:32:04 +08:00
    DHTML-JAVA-J2EE(SSH)-Javascript-PHP-RUBY-PYTHON,本人的学习之路,给楼主一个参考
    zephyro
        25
    zephyro  
       2011-12-05 15:33:47 +08:00
    学会一门新的语言肯定是有好处的,就算是你最终不将它用于生产。会的越多,能力越强。
    roamlog
        26
    roamlog  
       2011-12-05 15:33:58 +08:00
    @weicaizhi ruby
    issac
        27
    issac  
       2011-12-05 15:37:39 +08:00
    @weicaizhi 我用的是PHP..
    Python Ruby这些的话没接触- - Python准备学习..
    asp很旧的了..微软已经出了asp.net
    js的话主要是页面的交互功能上..
    weicaizhi
        28
    weicaizhi  
    OP
       2011-12-05 15:48:34 +08:00
    @reducm 现在在做什么,还能否用到java,或者说java的思想对你的技术的改变?我需要深入了解下java。
    weicaizhi
        29
    weicaizhi  
    OP
       2011-12-05 15:49:38 +08:00
    @reducm 还有,我好讨厌那三大框架啊!
    weicaizhi
        30
    weicaizhi  
    OP
       2011-12-05 15:54:28 +08:00
    @issac 你是网站开发的啊,等于基本不要接触Java了?
    skywinger
        31
    skywinger  
       2011-12-05 15:55:06 +08:00
    @weicaizhi Java适合做通信服务端程序,比如网游的服务端程序。IM通信软件的服务端程序,大型电子商务网站的后端搭建等等。
    yqjun
        32
    yqjun  
       2011-12-05 15:56:12 +08:00
    我不喜欢重型级别的东西……js+nodejs =。=不过还在学习中……
    skywinger
        33
    skywinger  
       2011-12-05 15:58:24 +08:00
    @yqjun 何为重量级?? 所有的一切都是以业务发展为核心的。 大型电子商务网站为何不用ruby搭建呢?
    weicaizhi
        34
    weicaizhi  
    OP
       2011-12-05 15:59:12 +08:00
    @skywinger 好吧,其实我越发发现,Java做的都是企业级的服务端的大项目,没有很Cool的项目。
    skywinger
        35
    skywinger  
       2011-12-05 16:05:16 +08:00
    @weicaizhi 呵呵,如果编程不是为了解决现实世界中实际的问题,那我觉得你可以不用关注程序员这行,可以另找个你觉得很cool的职业,比如设计师、摄影、音乐、艺术其他种种。
    Kymair
        36
    Kymair  
       2011-12-05 16:10:51 +08:00
    如果把后台服务开放成REST的API的话,然后前台用Javascript来实现主要逻辑的话,后台语言的差别就没那么大了,相反可能Java更容易写出稳定而高性能的service

    所以我也不太认同"Java不适合Web startup".. 不过传统的Java framework实在是太重了,可以用其他的JVM语言.. 比如Spring旗下的Grails(Groovy)之类的
    issac
        37
    issac  
       2011-12-05 16:11:31 +08:00
    @weicaizhi 是的..
    weicaizhi
        38
    weicaizhi  
    OP
       2011-12-05 16:29:30 +08:00
    @skywinger 好么,对于我这么一个初学者当然要靠着更多的兴趣学习了,你太严格了。
    weicaizhi
        39
    weicaizhi  
    OP
       2011-12-05 16:34:13 +08:00
    @skywinger @Kymair 看来,目前对我来说,最感兴趣的是学习Java用于Android的开发,其他的项目太大了,害怕呵呵。
    roamlog
        40
    roamlog  
       2011-12-05 16:52:12 +08:00
    @weicaizhi 既然这样,那就不用考虑 J2EE 这一块了呀,把 Java 学好然后去学 android 开发。。。
    chloerei
        41
    chloerei  
       2011-12-05 17:01:26 +08:00
    @skywinger cool 和解决现实问题没有冲突,可以看看 37signals 的 《Rework》和《Getting real》
    weicaizhi
        42
    weicaizhi  
    OP
       2011-12-05 17:27:20 +08:00
    @roamlog 哦了,合着Android无需使用什么SSH三大框架的。
    weicaizhi
        43
    weicaizhi  
    OP
       2011-12-05 17:28:40 +08:00
    @chloerei 先感谢,这是两本书吗?应该有卖的吧,我要看看。
    weicaizhi
        44
    weicaizhi  
    OP
       2011-12-05 17:39:21 +08:00
    @chloerei 《Getting real》木有中文版的,这回麻烦了。
    roamlog
        45
    roamlog  
       2011-12-05 17:58:12 +08:00
    @weicaizhi 不需要

    《Getting Real》中文版 http://cnborn.net/blog/getting-real-chn.html
    weicaizhi
        46
    weicaizhi  
    OP
       2011-12-05 18:10:27 +08:00
    @roamlog 需要翻墙。
    weicaizhi
        47
    weicaizhi  
    OP
       2011-12-05 18:14:34 +08:00
    @roamlog 感谢,在看。
    reducm
        48
    reducm  
       2011-12-05 20:38:30 +08:00   1
    @weicaizhi JAVA,现在感觉是除了企业型开发(OA,ERP)之外都不会成为首选语言。JVM TOMCAT什么的又重又大,SSH倒是有必要学学,不在于投入应用,在于作为框架概念的入门,看看struts怎样分开请求和展现,看看hibernate是如何映射关系到对象,还有持久处理,看看spring是怎样动态代理处理对象。个人经历是这样,钻完ssh如何实现的大概原理之后,后面上手PHP的yii,rails也非常快,但是脚本语言虽然上手快,但是个人来说很多东西感到都未吃透,还要慢慢多累积经验。JAVA不再时髦?可能相对于目前互联网大热各种脚本语言大热情况下比较低调吧,企业型开发这边人才需求一直也很大。就像上面各位朋友所说,java 这个语言现在和其他脚本语言相比太不够cool了,但google和淘宝这些大数据量网站也用得好好的嘛,就像PHP大家说他脏说他混乱,facebook和新浪微博这种超大型社交网站也用得好好的,每个语言都有其弱点之处,但对于我们来说首先要耐心并坚持去学习好他,才能明白他的方方面面,一定要戒骄戒躁啊,切勿今天学这个,心里面却想着那个
    Air_Mu
        49
    Air_Mu  
       2011-12-05 20:42:01 +08:00
    只考虑赚钱的话还是学日语吧
    weicaizhi
        50
    weicaizhi  
    OP
       2011-12-05 21:11:33 +08:00
    @Air_Mu ???
    weicaizhi
        51
    weicaizhi  
    OP
       2011-12-05 21:20:22 +08:00
    @reducm 恩,你说通了我心里的很多问题,感谢!现在开始学习Java语言,通过它锻炼逻辑思维,学别的就不难了。
    money
        52
    money  
       2011-12-05 21:30:31 +08:00
    初学者飘过,也是刚刚开始学计算机,也学的java,
    chinese_zmm
        53
    chinese_zmm  
       2011-12-05 21:49:07 +08:00
    近几年因为ios的人才缺口比较大,确实会出现同等水平的ios开发人员比java开发人员薪酬高,但是未来的趋势应该会持平的。
    yqjun
        54
    yqjun  
       2011-12-05 23:46:02 +08:00
    @weicaizhi 编程也可以很cool,不是一项任务,也不是工作,只是一种爱好,一种娱乐。

    我所说的重型是指企业级,个人不太喜欢,说不出原因=。=
    yuest
        55
    yuest  
       2011-12-06 00:23:42 +08:00
    楼主头像和推特上一个叫嚣 Die Java, Die 的家伙是一模一样的……
    momo5269
        56
    momo5269  
       2011-12-06 00:37:09 +08:00
    Clojure !
    @yuest 看上去是一个很像元首的V字仇杀队里的面具改版0.0
    weicaizhi
        57
    weicaizhi  
    OP
       2011-12-06 00:52:50 +08:00
    @yuest 哦,刚发现确实有个,我没侵权啊。
    weicaizhi
        58
    weicaizhi  
    OP
       2011-12-06 00:53:40 +08:00
    @chinese_zmm 恩,但我相信,技术的高低是改变规则。
    weicaizhi
        59
    weicaizhi  
    OP
       2011-12-06 00:58:34 +08:00
    @yuest @fly2never 话说,他为啥有这么多闲工夫去吐槽一门语言。
    skywinger
        60
    skywinger  
       2011-12-06 09:36:37 +08:00
    @weicaizhi @reducm 看了v2ex坛里的各位对java的了解还是很片面的,我在这里就向大家讲讲我用java做的项目吧,首先必须指出,不要一说起java,就谈到J2EE、SSH、Tomcat这些;其实java的应用面是非常广的。大到大型电子商务网站、企业应用管理软件、小到一个简单的破解软件,java几乎涵盖了方方面面。我最近的一些项目是用java的NIO技术搭建通信服务端,应用mina2、netty等NIO框架搭建的通信服务端在效率方面已经可以与我之前用linux c搭建的通信服务端的效率媲美了。而且原先用linux c时由于采用的是多进程模型,反而不如如今搭建的java的多线程池的服务端节省内存。我这个项目既没有用到J2EE技术,也没有用到tomcat等类似的web容器,只是整合了spring和hibernate,解放了操作数据库时的繁琐,和整合各个部件间线程池的通用性。我觉得善于利用现有
    的技术才是最关键的,我相信用的好SSH,也能很便捷很快速的搭建大家所说的cool应用的。
    cool应用应该是和应用哪种开发语言无关的吧。
    yqjun
        61
    yqjun  
       2011-12-06 11:55:42 +08:00
    @reducm 谢谢你的话,懂了很多。现在在自学nodejs,其实也想学PHP,但PHP经常被说肮脏……搞到没心情和动力了,非常郁闷……

    但是有个疑问,我有时觉得,facebook他之所以用PHP,是因为一开始用PHP吧?现在因为太大型才很难转过来吧?……

    至于新浪微博,国内PHP还很盛行,所以没什么……但是国内的PHP氛围也非常不好……战乱纷飞
    onebody
        62
    onebody  
       2011-12-06 12:01:04 +08:00
    @funcman 是的,太多东西了。技术简单点就好,能解决问题就是好的
    roamlog
        63
    roamlog  
       2011-12-06 12:05:48 +08:00
    @yqjun facebook 网站是用 php 写的,这确实有历史原因,用其它的并不一定会更好,再说 facebook 用的语言多了,现在所有的大型应用都不可能只用一种语言的。
    skywinger
        64
    skywinger  
       2011-12-06 12:33:32 +08:00
    @roamlog 说的对,现在大型应用网站大都用的是异构系统,不可能只是单一语言技术。用各语言发挥各语言的优势。
    weicaizhi
        65
    weicaizhi  
    OP
       2011-12-06 13:03:09 +08:00
    @skywinger 恩,看来我需要多学习Java来提高我的逻辑思维,以后要接触的语言还多了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2654 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 06:37 PVG 14:37 LAX 23:37 JFK 02:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86