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

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

  •  1
     
  •   virusdefender ·
    virusdefender · 2015-05-05 15:39:35 +08:00 · 35491 次点击
    这是一个创建于 3488 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    plz, enjoy it ...
    fulvaz
        149
    fulvaz  
       2015-05-07 10:03:40 +08:00
    @nino789pzw 大神求指路!!!

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

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

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

    居然举什么类库大小 学校的例子来黑.....
    baozijun
        165
    baozijun  
       2015-05-07 12:53:46 +08:00
    @broadliyn 大赞
    mikan
        166
    mikan  
       2015-05-07 13:38:38 +08:00
    @chaucerling 3q,我去看看
    kingcos
        167
    kingcos  
       2015-05-07 14:18:56 +08:00 via Android
    我勒个去。。。大一快完了,我还是看不懂你们在说些什么。。。下学期就要学java了。。。
    qleroooo
        168
    qleroooo  
       2015-05-07 14:31:32 +08:00
    @jun4rui ruby看过一点,不是很熟,rails风格确实很快。同理你如果使用过c++的框架的话,看看java的也就这样子。各方面都不能十全十美,各有优点。还是这一句根据一个项目来说java web框架烂这也太不负责了。
    DT27
        169
    DT27  
       2015-05-07 15:48:10 +08:00
    不只是web,只要跟JAVA沾边的都超级难用,复杂,麻烦!讨厌JAVA。超级喜欢C#代码~
    codegeek
        170
    codegeek  
       2015-05-07 16:41:27 +08:00
    不是java难用,是你用错了地方,如果要写一个类似v2ex这种类型的网站你用java不是自找苦吃吗,如果你要做企业级应用,涉及大量的业务逻辑,事务处理,工作流的时候你才会发现java的好,其实我一直不明白大家为什么要黑java,java在软件工程上有很多值得借鉴的地方,在开发,测试,构建,工具链,可维护性上都是值得称道的。
    wity_lv
        171
    wity_lv  
       2015-05-07 21:36:42 +08:00   ❤️ 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
       2015-05-07 22:53:46 +08:00
    @wity_lv 感谢你的建议~
    timbotetsu
        173
    timbotetsu  
       2015-05-08 09:05:25 +08:00
    @jun4rui 要不回S1里面开一帖轮Java?我很期待哦
    jun4rui
        174
    jun4rui  
       2015-05-08 09:11:42 +08:00
    @timbotetsu 上次我发好像hl3要出来了,结果被版主用封掉了,就懒得去了
    ltye
        175
    ltye  
       2015-05-08 12:41:10 +08:00   ❤️ 1
    ssh是很多年前的架构了,现在都是spring系列了,mvc+boot,配置也慢慢从xml迁移到注解的方式,maven也逐渐过渡到gradle。目前我还在学习过程中,但是从一开始啃ssh的书看的各种烦和觉得配置繁琐的不可思议,到现在看spring in action对spring的思想各种膜拜。前面一位xd说的很对,应用场景是不一样的,企业应用开发团队规模、实施维护成本、变更成本、集成成本都决定了很多情况下java确实是非常好的选择。
    zonghua
        176
    zonghua  
       2015-05-08 13:57:40 +08:00 via iPhone
    学习SSH两个月,现在都还没入门,是不是我的智商有问题?
    virusdefender
        177
    virusdefender  
    OP
       2015-05-08 15:58:26 +08:00
    @shuiniushushu 框架写好别忘来这个帖子提醒我一下~很感兴趣~谢谢啦~
    vibbow
        178
    vibbow  
       2015-05-09 06:17:11 +08:00
    毕业前挺不喜欢Java的。
    工作后单位在用Java,越来越觉得Java好用。
    以至于产生了自己的项目都想用Java写的欲望......
    lianxiaoyi
        179
    lianxiaoyi  
       2015-05-10 19:43:28 +08:00
    php是最好的编程语言。。。没有之一。。。。
    nuc093
        180
    nuc093  
       2015-05-10 22:22:27 +08:00
    @wity_lv 写的挺好
    zgl2007dj
        181
    zgl2007dj  
       2015-05-11 10:18:42 +08:00
    投入java...script的怀抱吧,没啥限制
    Blazings
        182
    Blazings  
       2017-05-04 12:57:50 +08:00
    @zhipeng java8 的语言特性约等于 C#5
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1254 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 17:56 · PVG 01:56 · LAX 09:56 · JFK 12:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.