virusdefender
V2EX  ›  Java

有没有人觉得 java 和 java 的 web 框架超级难用?

  •  1
     
  •   virusdefender ·
    virusdefender · May 5, 2015 · 37549 views
    This topic created in 4048 days ago, the information mentioned may be changed or developed.

    以前是Python开发者,熟悉Python的web框架。但是现在学校必须学Java web开发,就是用的jsp,struts2之类的框架,发现超级难用啊,很多东西没法接受。而且还有一坨坨的xml,各种get和set方法,各种乱七八糟的类型转换,让人痛不欲生。觉得python,php和js都比java都清晰的多。

    Supplement 1  ·  May 8, 2015
    十分感谢大家的回复。可能是Python用多了,有一些思维定势,更重要的是思维。我也会去尝试一下java play和spring。再次感谢~
    182 replies    2017-05-04 12:57:50 +08:00
    1  2  
    easynoder
        101
    easynoder  
       May 6, 2015
    @mlhorizon 深以为然
    asj
        102
    asj  
       May 6, 2015
    @chaucerling Java和PHP,除了用的人多以外,还有哪怕一点点的相似点么?
    kongkongyzt
        103
    kongkongyzt  
       May 6, 2015
    +10086 凡是和JAVA扯上关系的基本超级繁琐冗长,搭配上XML简直想撞墙,不过听说JAVA的play框架很简洁,建议试试
    a398058068
        104
    a398058068  
       May 6, 2015
    Spring MVC +Spring Boot+ Mybatis .
    a398058068
        105
    a398058068  
       May 6, 2015
    Java是最好的语言
    wshcdr
        106
    wshcdr  
       May 6, 2015
    不会超级难用啊
    anoymoux
        107
    anoymoux  
       May 6, 2015
    没人喷类库吗?一个项目class+页面+静态资源才几M,类库就上百M。
    之前还见过一个struts的项目,配置action的xml,有几千行。。。。
    还有shi一样的maven,慢的要死的hibernate,卡成狗的eclipse
    跪舔这些垃圾框架的人,大部分应该只用过java
    aphay
        108
    aphay  
       May 6, 2015
    同鄙视struts,但spring是个好框架。
    davepkxxx
        109
    davepkxxx  
       May 6, 2015
    @anoymoux 上百M的类库。。。这个项目够大的。。。
    lincanbin
        110
    lincanbin  
       May 6, 2015 via Android
    @chaucerling Python的简单是以性能为代价的,写小程序还没什么,一大了就是服务器提了一个问题……
    jun4rui
        111
    jun4rui  
       May 6, 2015
    @davepkxxx Play就是上百M啊,你看看:
    play-2.1.5.zip Sep 20 2013 145.2M

    当然,我故意挑了个最大的,一般也就是100M上下起伏这样吧,随便比较一下:
    Django 1.7.8 7426K
    RubyInstall 16M
    是不是有种哭瞎的感觉?
    davepkxxx
        112
    davepkxxx  
       May 6, 2015
    @jun4rui Java的框架组件,在官网下的都是一个整合的压缩包,里面包含类库、相当完整说明文档、详细的教程、api(javadoc)、大量的demo。如果是mvc框架还会包括很多前台代码、图片等内容。但是实际使用的类库一般都只有几M,而且被拆分成很多的jar,你需引用需要的那几个就可以了。
    jun4rui
        113
    jun4rui  
       May 6, 2015
    @davepkxxx 还是用Play距离,下载回来解包后有三个目录:

    samples 3M多
    framework 5M多
    repository 100多M,下面77个库……
    hoseilei
        114
    hoseilei  
       May 6, 2015
    学校教c, c++, java, c#, 连VB都教过。。。 就是没教python,我还是喜欢python的写意风格~
    GeBron
        115
    GeBron  
       May 6, 2015
    Spring MVC 是个好框架啊
    Spring boot 也可以去试试
    linux40
        116
    linux40  
       May 6, 2015
    @Septembers 学C的时候只有vc++6.0。。。现在学的是c++,不能c++11简直酸爽。。。
    skl
        117
    skl  
       May 6, 2015
    @shuiniushushu 求带。。。
    fulvaz
        118
    fulvaz  
       May 6, 2015
    - - 我老板和我说ssh是浪费你人生

    正在学习vaadin.....
    darkblood
        119
    darkblood  
       May 6, 2015 via Android
    java我最欣赏的就是代码规范…
    sujin190
        120
    sujin190  
       May 6, 2015
    java的繁琐真是头大,有时候真是不懂,明明很简单的事,非要弄的复杂,什么行业解决方案什么的,真纠结,我觉得现在整个都已经向着分离共享的方向发展,java给人感觉就是始终想用一个东西解决所有问题,这不是坑么
    cfan8
        121
    cfan8  
       May 6, 2015   ❤️ 3
    一个人非要用斩骨刀来削苹果,发现不好用就跑来论坛上喷斩骨刀是个垃圾。

    斩骨刀有斩骨刀的好,水果刀有水果刀的妙,不能因为有些东西你现在用不到,就言之凿凿的说那个东西是个垃圾

    J2EE最大的应用场景就是大型工程项目,上百人合作,业务逻辑复杂还有变态的一致性、完整性,最要命的是你压根别想找来上百个高手来帮你弄。这种项目都是铁打的营盘流水的兵,每周都有人加入和离职,水平也层次不齐,有少量高手,更多的是连个SVN都能把你搞乱的新手。

    这种应用场景你敢用脚本语言吗?估计光是request的路由表就已经没法看了,更不要说大家的代码互相调用还能正常工作。
    wdlth
        122
    wdlth  
       May 6, 2015
    才JSP、SSH你就叫苦了,如果以后搞个EJB、WebLogic什么的有得你玩……
    LT
        123
    LT  
       May 6, 2015
    没有觉得难用啊.......................我根本不用
    nino789pzw
        124
    nino789pzw  
       May 6, 2015
    @fulvaz 这直接就是让你自杀啊。。。
    deepreader
        125
    deepreader  
       May 7, 2015   ❤️ 1
    Java是适合企业级的应用,几百人在维护code base,高手新手写出来得java的差距肯定没有Pyhon大(python黑魔法其实挺多的)。但是话又说回来,你甘愿去有着几百人维护java的所谓的大企业Enterprise当个螺丝丁,一辈子不出头?
    fulvaz
        126
    fulvaz  
       May 7, 2015
    @nino789pzw 为啥?
    hooluupog
        127
    hooluupog  
       May 7, 2015
    java写起来除了啰嗦点以为,没觉得有什么不好。
    nino789pzw
        128
    nino789pzw  
       May 7, 2015
    @fulvaz 因为vaddin更恶心。。。
    jun4rui
        129
    jun4rui  
       May 7, 2015
    @cfan8 这个和项目架构和管理能力有关吧?举个例子,世界各地各公司还有个人压根就不在一起还能开发Linux内核,这不能证明c语言的协作性高、代码清晰易懂啊,只能说开发架构做得好。
    xiparos
        130
    xiparos  
       May 7, 2015
    java web这块就是一坨屎,谁用谁知道
    xiparos
        131
    xiparos  
       May 7, 2015
    用java写代码,好吧,喜欢浪费人生,没人拦你
    banxi1988
        132
    banxi1988  
       May 7, 2015   ❤️ 1
    Java 世界工具啊, 库很多
    不能因为你用了不合适的工具,就黑我大Java.
    虽然我好久不写Java了, Java语言自身的特性有落后的地方..
    但是我觉得你黑的地方不太对..

    重要的话再说一句:
    Java 世界工具啊, 库很多
    不能因为你用了不合适的工具,就黑我大Java.
    bigzhu
        133
    bigzhu  
       May 7, 2015 via Android
    为什么没人黑一下Java程序员?这个才是史上最坑爹的吧。考虑要不要开个帖
    em70
        134
    em70  
       May 7, 2015 via Android
    多熟悉一门语言不是坏事,将来总会有用到Java的地方,比如Android app总不能Python来做吧。
    jun4rui
        135
    jun4rui  
       May 7, 2015
    @bigzhu 记得有次开会,别的团队的人他维护了一个代码,一个需要循环n次的地方,他看到前面人硬是复制了n个代码块。。。。
    yakczh
        136
    yakczh  
       May 7, 2015
    @jun4rui
    php 一个网站所有代码加起来(不算图片资源),也就几m 这也是虚拟主机php流行,java虚拟主机不好找的原因
    jiaojing
        137
    jiaojing  
       May 7, 2015   ❤️ 2
    原来上学的时候最喜欢吐槽用的不爽的语言了
    后来才发现,拿衣服啊。
    干什么事就要用什么样的工具,没有银弹
    qleroooo
        138
    qleroooo  
       May 7, 2015   ❤️ 1
    ssh 是给较大项目用的 java也不只有ssh 很多很轻的框架都很好 如果你只是一个小网站 没多少页面 用不用框架有什么大区别呢?ssh中很多特性只有在大项目中才能发挥优势,小项目只是累赘,并且在一些稳定的项目中,框架搭好,配置也很少变,但要集成其它的东西都很方便扩展性很强。这样随意的黑就没啥意思了。
    adami
        139
    adami  
       May 7, 2015
    @a398058068 鬼信
    jun4rui
        140
    jun4rui  
       May 7, 2015
    @yakczh PHP只要虚拟主机就可以了,Java。。。。虚拟主机能做的聊胜于无罢了,纯JSP没用
    jun4rui
        141
    jun4rui  
       May 7, 2015
    @qleroooo 试试用一下ralis类框架就明白了,那速度,那酸爽,用过的都知道啊。
    jy01264313
        142
    jy01264313  
       May 7, 2015
    为什么不用一下 Rails?
    jyootai
        143
    jyootai  
       May 7, 2015
    为什么不用一下 Rails?
    broadliyn
        144
    broadliyn  
       May 7, 2015   ❤️ 3
    用什么语言不是目的,语言只是工具而已,问题关键在你用你擅长的工具能写出什么东西?

    即使java再烂再繁琐,也靠阿里巴巴的程序员稳稳当当的撑起了整个阿里帝国的庞大业务。

    即使python、rails再优雅再灵巧,对于一些人也只能写点毫无嚼劲的增删改查逻辑,然后再一边萌生对java的莫名优越感和孤芳自赏。

    总结:低级的程序员总爱在工具上较劲。
    jyootai
        145
    jyootai  
       May 7, 2015
    自从用了 Rails, 学校在教Java Web,写起来各种不爽,只有经历了才深有体会……
    cfan8
        146
    cfan8  
       May 7, 2015
    @jun4rui 和人的水平有关,但是不是你总是能找到你想要的人才,一个蹩脚的Java程序员和一个蹩脚的脚本语言的程序员,我还是相信Java一点
    jun4rui
        147
    jun4rui  
       May 7, 2015
    @cfan8 我相信pythoner一些,因为这个国内学校基本不教,能会的都是有自学能力的,Java则。。。
    wity_lv
        148
    wity_lv  
       May 7, 2015   ❤️ 1
    多用吧. 熟练了就好了.
    我们习惯用经验去看待新东西,必然会不适应。
    你让一个熟悉Java的去搞js,python也会跟楼主一样各种吐槽.

    选一个语言应该是发觉语言的有点, 盯着缺点看会错过不少东西。 关键是"缺点"是个人问题造成的, 还是语言本身造成? 这个值得思考, 多相信多数情况是前者.

    share 一片文章:
    《断言:不懂《提问的智慧》的人不会从初级程序员水平毕业》
    https://ruby-china.org/topics/24325

    plz, enjoy it ...
    fulvaz
        149
    fulvaz  
       May 7, 2015
    @nino789pzw 大神求指路!!!

    怎么恶心了? 我是发现作者英语太差乱命名,还有什么问题啊?
    quix
        150
    quix  
       May 7, 2015
    学校用 java 是因为老师只会这个. 公司用 java 是因为学校/培训班教这个的多, 且用 Java 体现程序员机械性的一面较多, 适合大规模量产.
    jy04149886
        151
    jy04149886  
       May 7, 2015
    @cfan8 呵呵。。。这逻辑也是醉了。。。
    jun4rui
        152
    jun4rui  
       May 7, 2015
    @wity_lv 肯定没有银弹,也不会有什么都适合的语言,但是楼主既然说的是Web开发,那Python这玩意确实还是比Java强不少的。

    其实很多会Python做Web的多半也会Java做Web,这楼里面很多帖子里面都有不少例子,还是那句话,Java现在不会的不多,Python基本学校不教,会的基本都是靠自己自学的,见识会比较广一点。

    本来就是讨论Web,只是有些人Web说不过就转移话题了
    mikan
        153
    mikan  
       May 7, 2015
    tomcat7就不用xml了啊,配置文件我都用js写,zookeeper去读
    asj
        154
    asj  
       May 7, 2015
    @broadliyn 10几年前,我听说过有人企图用汇编写ERP系统…… 我不认为这种情况下我可以说服自己这只是工具不同而已,工具固然只是开发的一方面。但是工具本身的适用性也是很重要的。
    mikan
        155
    mikan  
       May 7, 2015
    @jun4rui 刚去看了下ralis,ruby语法都还没太学会,已经用ralis搞出东西来了。写crud确实快,话说ralis怎么写切面
    jun4rui
        156
    jun4rui  
       May 7, 2015
    @mikan 切面是啥?我们这边没用这个术语。其实简单轻量的crud连语言都不用Redis就搞定了。
    linescape
        157
    linescape  
       May 7, 2015
    @lincanbin 哈哈,这是在黑知乎吗
    chaucerling
        158
    chaucerling  
       May 7, 2015 via Android
    @mikan 说的是解耦吧,一般是用 ActiveSupport::Concern,其实本质上是mixin
    mikan
        159
    mikan  
       May 7, 2015
    @jun4rui 就是aop
    ChiangDi
        160
    ChiangDi  
       May 7, 2015 via Android
    卧槽这又发展成了圣战帖,大家各种激动!
    chocotan
        161
    chocotan  
       May 7, 2015
    这种无意义的问题还在讨论吗.......
    技术贴在哪里?
    min
        162
    min  
       May 7, 2015
    你们以为java是一种通用编程语言,其实“java是一种DSL语言,功能是把xml转换成stack trace”
    chaucerling
        163
    chaucerling  
       May 7, 2015
    chocotan
        164
    chocotan  
       May 7, 2015
    黑的要有水平一点......
    在深入了解后再去黑......
    不然有什么意义......
    为了击败java程序员而获得满足感吗......

    居然举什么类库大小 学校的例子来黑.....
    baozijun
        165
    baozijun  
       May 7, 2015
    @broadliyn 大赞
    mikan
        166
    mikan  
       May 7, 2015
    @chaucerling 3q,我去看看
    kingcos
        167
    kingcos  
       May 7, 2015 via Android
    我勒个去。。。大一快完了,我还是看不懂你们在说些什么。。。下学期就要学java了。。。
    qleroooo
        168
    qleroooo  
       May 7, 2015
    @jun4rui ruby看过一点,不是很熟,rails风格确实很快。同理你如果使用过c++的框架的话,看看java的也就这样子。各方面都不能十全十美,各有优点。还是这一句根据一个项目来说java web框架烂这也太不负责了。
    naver1
        169
    naver1  
       May 7, 2015
    不只是web,只要跟JAVA沾边的都超级难用,复杂,麻烦!讨厌JAVA。超级喜欢C#代码~
    codegeek
        170
    codegeek  
       May 7, 2015
    不是java难用,是你用错了地方,如果要写一个类似v2ex这种类型的网站你用java不是自找苦吃吗,如果你要做企业级应用,涉及大量的业务逻辑,事务处理,工作流的时候你才会发现java的好,其实我一直不明白大家为什么要黑java,java在软件工程上有很多值得借鉴的地方,在开发,测试,构建,工具链,可维护性上都是值得称道的。
    wity_lv
        171
    wity_lv  
       May 7, 2015   ❤️ 3
    @jun4rui python 没用过, 不好评价. 语言工具而已. 好不好用还是看用它的人.
    我从Java用到ruby, 刚开始也感觉ruby各种不爽, 适应了之后就感觉各种爽. 爽的方面是做东西非常快. 楼主明显还处在不爽期.
    刚开始接触的ruby的不爽点是在用java的思路再使用ruby, 现在适应了ruby的思路, 也非常喜欢用BDD/TDD的方式写代码.

    从Java到Objective C, 基本没有感觉不爽的地方. Objective C语法比Java更verbose, iOS开发跟平时java开发场景没有什么交集, 很少会有吐槽的时候.

    @virusdefender
    "但是现在学校必须学Java web开发,就是用的jsp,struts2之类的框架,发现超级难用啊,很多东西没法接受。而且还有一坨坨的xml,各种get和set方法,各种乱七八糟的类型转换,让人痛不欲生。"

    慢慢学吧, 学校教的东西跟不上潮流是必然. 靠Java好吃饭...
    JVM平台有很多宝藏, 工作的时候指不定会用上. 就算Java语法烂, Android的兴起又让Java又发第二春.

    BTW:
    现在国内企业大多只认java, 真心想吐槽.

    推荐点以Java中还不错的东西:
    * 一定要尝试TDD
    * 重构
    * 避免maven, 用Gradle
    * 扔掉eclipse, 用IntelliJ IDEA
    * Guava
    * Clojure
    * Play framework 2 ( Java 版有点坑, 不过做小东西很不错 )
    * Spring
    * Solr
    * Java 8 Lambda
    virusdefender
        172
    virusdefender  
    OP
       May 7, 2015
    @wity_lv 感谢你的建议~
    timbotetsu
        173
    timbotetsu  
       May 8, 2015
    @jun4rui 要不回S1里面开一帖轮Java?我很期待哦
    jun4rui
        174
    jun4rui  
       May 8, 2015
    @timbotetsu 上次我发好像hl3要出来了,结果被版主用封掉了,就懒得去了
    ltye
        175
    ltye  
       May 8, 2015   ❤️ 1
    ssh是很多年前的架构了,现在都是spring系列了,mvc+boot,配置也慢慢从xml迁移到注解的方式,maven也逐渐过渡到gradle。目前我还在学习过程中,但是从一开始啃ssh的书看的各种烦和觉得配置繁琐的不可思议,到现在看spring in action对spring的思想各种膜拜。前面一位xd说的很对,应用场景是不一样的,企业应用开发团队规模、实施维护成本、变更成本、集成成本都决定了很多情况下java确实是非常好的选择。
    zonghua
        176
    zonghua  
       May 8, 2015 via iPhone
    学习SSH两个月,现在都还没入门,是不是我的智商有问题?
    virusdefender
        177
    virusdefender  
    OP
       May 8, 2015
    @shuiniushushu 框架写好别忘来这个帖子提醒我一下~很感兴趣~谢谢啦~
    vibbow
        178
    vibbow  
       May 9, 2015
    毕业前挺不喜欢Java的。
    工作后单位在用Java,越来越觉得Java好用。
    以至于产生了自己的项目都想用Java写的欲望......
    lianxiaoyi
        179
    lianxiaoyi  
       May 10, 2015
    php是最好的编程语言。。。没有之一。。。。
    nuc093
        180
    nuc093  
       May 10, 2015
    @wity_lv 写的挺好
    zgl2007dj
        181
    zgl2007dj  
       May 11, 2015
    投入java...script的怀抱吧,没啥限制
    Blazings
        182
    Blazings  
       May 4, 2017
    @zhipeng java8 的语言特性约等于 C#5
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5375 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 219ms · UTC 08:07 · PVG 16:07 · LAX 01:07 · JFK 04:07
    ♥ Do have faith in what you're doing.