V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
weicaizhi
V2EX  ›  Java

Java已经不时髦了?

  •  
  •   weicaizhi · 2011-12-05 13:05:14 +08:00 · 6331 次点击
    这是一个创建于 4766 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在发现好多技术人员都直接朝着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   ·   实用小工具   ·   870 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:33 · PVG 04:33 · LAX 12:33 · JFK 15:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.