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

2015-05-05 15:39:35 +08:00
 virusdefender

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

35557 次点击
所在节点    Java
182 条回复
cloudhunter
2015-05-06 10:29:02 +08:00
这贴子快成为“Java是最好的语言”的争论了
mlhorizon
2015-05-06 10:33:22 +08:00
做了一个曾经写了十多年的老码农(C,C++,Delphi,ASP,PHP,Java,Python,C#项目至少都做过一个以上),表达一下自己的看法。
要评价一个语言,请至少先弄懂两个问题:它是什么?为什么?
如果想要提高自己,再问一个:为什么人家想到了,我没想到?
chshouyu
2015-05-06 10:34:41 +08:00
学校教的东西确实是老古董了,那些老师也没兴趣研究新东西
我做毕业设计的时候用了spring,评审的老师居然不知道这玩意
然后我解释一通,最后居然问我是不是我自己做的
真想乎他们一脸
moonou
2015-05-06 11:20:27 +08:00
v2ex真是一个奇妙的地方,为何看到掐架会有一种莫名的兴奋= =
baozijun
2015-05-06 11:30:12 +08:00
@jun4rui 毕业设计是HTML5实时视频通讯加消息推送,后端使用rails做的.把ruby学完,有JAVA EE基础的rails一周就上手了,确实是蛮简洁的.现在在做云计算,云这一方面只有java有完整成熟的解决方案。内网的论坛使用flask撸的,rails感觉还是太繁重,所以后面也很少用了.....这些都只是 框架 而已,而且原理实现大同小异,只是对特定的流程进行封装了而已。掌握 web处理流程 后再学真是分分钟的事。没什么值得吹嘘和炫耀的。

PS.学Java 框架的一个好处是可以几乎无缝的转到Android开发,毕竟多线程优化处理,事件分发机制,ORM,HTTP通信,内存、缓存和JVM优化都是大同小异。我已经在转了.....
zhipeng
2015-05-06 11:31:41 +08:00
开发效率和运行效率是矛盾的。。。RoR、Django,Node虽然开发效率比Java高,但由于动态语言特性,运行效率比不上Java的各类框架。。
kingname
2015-05-06 11:32:15 +08:00
作为Java一生黑,Java这种屎一样的语言早就应该被淘汰了。
chaucerling
2015-05-06 11:48:18 +08:00
@zhipeng 不是框架的问题,是语言问题
不同语言写出来的框架大都是扬长避短,RoR各种元编程黑魔法,Node异步高并发,java的框架主要是依靠丰富的库和强大的jvm提高运行效率和构架复杂度。
zhipeng
2015-05-06 11:55:19 +08:00
@chaucerling 我说的是语言问题。运行效率的决定因素主要在语言上。Ruby、Python、JavaScript这样的动态类型语言,基准运行效率肯定比不上静态类型的Java。
(说到Java的语言特性,不是一直被C#吊打吗。。听哪个人说Java 8才约等于C# 2.0)
shuiniushushu
2015-05-06 12:00:28 +08:00
我也有这种感觉,但是这不是java的错,而是用java的人思维定势——动不动企业应用,一扯到这个,各种设计模式、五花八门的分层、眼花缭乱的架构思想、各种先进的学院思想就要派上用场。不抽象、无接口、没有自动化就不能编程似的。最后东西越来越庞大,体系越来越复杂,要熟悉和精通他们,学习成本非常的高,不亚于学习java的成本。框架出个小小错误,往往要花个半天才能找出原因。
如果丢弃这些一坨坨的教条,你完全可以像写php和nodejs那样来写java,兼有php等语言的动态性,也有能享受静态语言带来规范性,这在写稍微复杂一点的应用时比较有好处,特别在多人参加的情况下。
我还是比较喜欢java的
jun4rui
2015-05-06 12:03:07 +08:00
@baozijun 关键还是看干什么,Ralis繁重也有更轻量级的框架可以选,Ralis本身就是一个囊括了很多方面的框架。其实玩会一样,玩别的类似概念都是分分钟,不过你要是去玩别的概念的,那就惨了,这点你要先明白。Java我玩了十几年了,湖南省第一个Sun赞助的java实验室就是我们公司,我们这里估计和淘宝差不多同时期用J2EE之类的,电信级的。我们当时做Java的团队里面,有写过国内当时唯一JSP开源论坛的,效果和Discuz差不多,他也会PHP之类的,我们会其它语言的,没一个说Java开发Web好话的,这玩意开发Web前台效率就是低。

所以就Web这一块来说,楼主@virusdefender 说的java难用是没啥问题的,真的,开发效率很低,对Web这种频繁改变、更新的东西,Java做Web前端不够别的几种语言好。
jun4rui
2015-05-06 12:07:49 +08:00
@shuiniushushu Java确实可以像PHP、nodejs那样写,问题是它的主流还是传统的老一套办法,这些相对来说就是些java里面的旁门左道了。PHP、nodejs、Python、Ruby之类是专门干这个的,开发方法也是围绕这些来,已经有非常多的工具和方案去解决各种问题了。

Java就算可以用来轻松的写Web,但是工具、框架、库上的差距之大,就像拿个手枪和别人的航母编队比,也许等Java将来在Web上不是SSH这套玩意为主了,才会改变吧。
lincanbin
2015-05-06 12:11:45 +08:00
习惯了Python写其他都觉得难,所以我觉得入门最好不要用Python。
Gonster
2015-05-06 12:28:46 +08:00
@whatisnew 吐槽无力。。。
看不出来是不是高级黑😂
djyde
2015-05-06 12:47:08 +08:00
我告诉你,我们学校的老师和学生,对 JavaScript 的印象还停留在弹窗特效,几乎没人知道 node.js 的存在
chaucerling
2015-05-06 12:49:19 +08:00
@zhipeng
php和java这种没多少特性到处招人黑的反而在编程开发里成了香饽饽,人人都能学,公司都喜欢招。设计好的语言,概念先进、开发效率高的框架,学习门槛高,学的人少,公司也难招人。所到底就是市场供给关系不平衡,大多数公司要的是码农而不是程序员,久而久之,大部人都往码农的方向去了。
chaucerling
2015-05-06 12:50:37 +08:00
@lincanbin
习惯里高生产力的世界,当然不想再用锄头。
phx13ye
2015-05-06 12:54:19 +08:00
Now that we have seen the content of the project, let's try to test-run it. To do this, we need to invoke following command on the command line:
mvn clean test

This will compile the project and run the project unit tests. We should see a similar output that informs about a successful build once the build is finished:
Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 34.527s
[INFO] Finished at: Sun May 26 19:26:24 CEST 2013
[INFO] Final Memory: 17M/490M
[INFO] ------------------------------------------------------------------------

=====
帮楼上的哥哥贴全, 这个真没黑对地方
spacewander
2015-05-06 13:03:01 +08:00
现在开始流行“Java是最好的语言”么?PHP在哪里?
shuiniushushu
2015-05-06 13:12:42 +08:00
@jun4rui 我也是厌恶java传统框架(ssh...),并且享受过nodejs和php的动态性。我正在开发java web的小框架,包括mvc,jdbc的封装,都是非常小和轻量的。其实都开发完成了,自己也在用,就是官网还在做,做好和大家分享。不求改变什么,只想做一些尝试,并且出发点服务自己,用java快速开发小应用

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

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

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

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

© 2021 V2EX