为了写一个网站可以掌握那么多的 lib 和 conf,我试着学很快就感觉枯燥无味了,可以称为学习成本比较陡峭。
虽然我知道很多 JAVAER 也只是停留在直接搬砖的水准,但是我仍旧佩服那些基础扎实的 JAVAER,他们学到今天真的很不容易。
反观其他语言,只要有 web 开发经验,上手的心智压力貌似都不大,可惜他们基本都是脚本语言,跨界能力都各有局限。
1
FanError 2017-11-15 18:04:08 +08:00 via iPhone
楼主试下 spring boot
|
3
watzds 2017-11-15 18:06:47 +08:00 via Android
特别是以前上学时,一上来就是 ssh 框架,看得我都怀疑自己能力了。
|
4
bramblex 2017-11-15 18:09:26 +08:00
|
5
owenliang OP @watzds 是,上学时 JAVA 同学好几本砖头。。。开发不一定都要理解,这就是 JAVA 重框架轻原理(是指不需要完全理解就可以做事)的一个现实。
|
6
xiaoshangmin 2017-11-15 18:10:48 +08:00 via iPhone
@watzds 哈哈哈 同感
|
7
abcbuzhiming 2017-11-15 18:10:49 +08:00 1
脚本语言的最大问题不是跨界能力,python 怎么不能跨界了?脚本语言的最大问题是,类型系统的太随意导致组织大项目的时候很成问题。
@FanError spring boot 仅仅是把一堆 lib 组装起来,让你开箱就能立即跑起来个 http server,跟 node.js 的思路类似。但是你若真想搞出个能用的 web server,你还是要自己配置很多额外的东西的,而且 spring boot 的文件组织和打包方式和常见 jar,war 都不太一样,这里面是有坑的,我非常不推荐没自己搞定过一套 spring 架构配置的人上手就去弄 spring boot |
8
owenliang OP @bramblex 虽然可以这么说,但是语言归根结底是一个程序员的标志,除非真的所有语言都号称精通,否则总会有一个日常代表性的主要使用语言。
|
9
p2pCoder 2017-11-15 18:12:30 +08:00
java 终究还是 一门 面向对象的 语言,面向对象 还是为了解决工程问题方便
|
10
owenliang OP @abcbuzhiming 其实目前从大家选择 JAVA 的理由来看,重要的还是轮子和工具比较先进为主。 技术生产力的提升是企业的追求,国家的追求。
|
11
ming7435 2017-11-15 18:13:17 +08:00
一切为了生活
|
12
mikicomo 2017-11-15 18:13:51 +08:00
不知道为啥...可能没写过别的语言的 web 项目,感觉 ssm 还好吧...编译原理贼 jb 难
|
13
TakWolf 2017-11-15 18:14:18 +08:00
不觉得 Java 学习陡峭
不认为 Java 重框架轻原理,应该懂得东西还是要懂 觉得跟语言没关系,其他语言也有相同的问题 |
14
owenliang OP @p2pCoder 其实目前绝大多数语言都是 OO,但是 JAVA 是一个各方面都比较均衡的语言,这一点可以拿 PHP,PYTHON 来做比较,就会发现 JAVA 无论是语言本身,还是围绕 JAVA 的工具链都是先进的,整个发展的力量很大。
|
16
Wicked 2017-11-15 18:22:19 +08:00 via iPhone 2
C++程序员笑而不语,每一次标准发布都要重新学语法
|
17
jatesun 2017-11-15 18:25:13 +08:00
楼主说的我都想哭了→_→
|
21
yanjinbin 2017-11-15 18:44:58 +08:00
你写的那坨 还比不过 Java 基础好的
|
22
nicevar 2017-11-15 19:04:15 +08:00
这些东西了解要不了多长时间,以后变动不大,其实 Java 的 lib 还好管理,配置稍微麻烦点,个人觉得 Nodejs 的库更麻烦,你看一些开源项目一大堆人按照 readme 都跑不起来的
|
23
owenliang OP @nicevar nodejs 除了拿来 react 也就不用了,async await 完全不看好,拿什么和 golang 比。
|
24
nicevar 2017-11-15 19:10:09 +08:00
@Wicked C++没你说的那么夸张,新标准出来很长时间才会普及用,很多公司都是四五年之后才用,写 10 年的话也就学两次,一次花的时间也就是几天
|
25
CtrlSpace 2017-11-15 19:15:35 +08:00 4
1 其它语言没有 Spring 全家桶这么牛逼的开源社区和解决方案。
2 Android 转 Java Web 的路过,发现 Android 开发真的是性价比很高,同样是 Java 语言,但是难度更低,一样拿到高薪,而 Java Web 需要做的学的,远远超过 Android 同时期所需掌握的技术。 3 但因为如此,Java Web 的天花板更高,进可大数据,退可 CRUD ←。← |
27
sammo 2017-11-15 19:19:27 +08:00
我佩服所有程序员
|
28
nl101531 2017-11-15 19:20:02 +08:00 via Android
我觉得对于 java 程序员是很容易掌握其他技能
|
30
shijingshijing 2017-11-15 19:23:07 +08:00
@nl101531 学了 C/C++,其他语言一周上手。
|
31
nicevar 2017-11-15 19:24:42 +08:00
@owenliang 其实 Java Web 也有比较好用的地方,比如配置好一套之后,后面的项目基本上就用这个模子,特适合小型公司和个人项目,发布也方便,现在配合 kotlin 连代码都能省了
|
32
owenliang OP @shijingshijing 有工作驱动应该没问题,我是 c++服务端,后来转做 PHP 增删改查和 golang,c++基本没机会用了,一些扩展场景 c 还能用到。
|
34
shijingshijing 2017-11-15 19:36:52 +08:00
|
35
dobelee 2017-11-15 19:57:14 +08:00 via Android 2
这说明 php 是世界上最好的语言。
|
36
abbenyyy 2017-11-15 20:02:05 +08:00
@CtrlSpace 大佬能说一下怎么转 Java Web 么,我也想转...现在卡在不知道如何在新的云服务器上面部署 SpringBoot 项目(就是一个新的 linux 怎么跑 SpringBoot 项目)..搜索了一下,很少人讲这个东西。
|
39
HYSS 2017-11-15 20:32:21 +08:00
试试 PHP 的 Symfony?
|
40
yinzhili 2017-11-15 20:34:54 +08:00
@abbenyyy 本身 Spring Boot 应用就可以打包成一个巨大的 jar,只要配置好 JAVA_HOME 不就完事了吗。
|
41
Actrace 2017-11-15 20:36:26 +08:00
语音编程的我笑着路过。
|
42
CtrlSpace 2017-11-15 20:42:20 +08:00 1
@abbenyyy 新机器,先搭建环境,git / jdk / maven / mysql / nginx 等。
至于部署,有 jar 部署和 war 部署,搜一下应该都有说明吧。 一般 jar 部署,添加 spring-boot-maven-plugin 这个 maven 插件,执行 mvn clean package,然后 target 文件夹就有个 jar 文件了。最后直接 java -jar xx.jar 运行就行了。(一般写到 shell 文件,方便管理) 不知道你问的是不是这个。。。 转 Java Web 的话,多看书,多看开源的 Java Web 项目吧,模仿他们的套路,以下刚撸的书 ![]( ) |
43
weics 2017-11-15 20:42:51 +08:00 1
springboot 抽象太高了,有很多暗坑
|
44
nicevar 2017-11-15 20:42:59 +08:00
@shijingshijing 小型企业都是 php 是你的个人印象造成的,你如果去看一些侧面统计数据就知道了,采用 java 的小企业并不比 php 少并且在三四线城市逐渐有上升趋势,只能说偏向前端型的用 php 比较多,另外现在入门的 vps 跑个 tomcat 放小型网站没啥问题,只要访问量不是太大的话
|
45
pq 2017-11-15 20:47:40 +08:00
相对来说,php 入门甚至到中级水准,都要容易得多,小白一周内就可以弄个 demo 出来。。。:D
|
47
anmaz 2017-11-15 20:57:28 +08:00 via Android
最近在弄.net ,各种恶心,对于我这种半桶水的 java 来说,居然觉得 java 的 lib 库等等是真的好
|
48
loveship 2017-11-15 20:59:51 +08:00
鄙视所有动态语言,真 tm 竟然有这种废物语言还有人用?
|
49
Infernalzero 2017-11-15 21:25:29 +08:00 1
Java 这一堆框架虽然很多都不需要了解原理就能拿来干活,但这也只保证了你能干点简单的活,要保证不踩坑以及做更进阶的开发对这些框架的了解是必须的
|
50
gmywq0392 2017-11-15 22:25:24 +08:00 via Android 1
写 Java,大多是生计所迫啊。特别是 WEB。
有看过这样的类比,大多数程序员工作时是用购物时的心态写的,阿这个我要,阿这个可以换成这个,阿这个颜色好像更搭,阿这个东东我到底需不需要,阿这样会不会太多了…… 编程的视野是受货架决定的。 这里主要 Java 的超市比较大。比较大。而且实惠又耐用,逛的人自然多了就。 但光会逛也不行呐,bug 们可都在超市门口等着呢。 |
51
otakustay 2017-11-16 00:10:59 +08:00 1
你那是没见过 npm 动不动装上百个包的
|
52
EagleB 2017-11-16 00:20:09 +08:00 via iPhone
|
53
kran 2017-11-16 00:30:49 +08:00 via iPhone
其实本身就没有区别,那些框架提供的解决方案你可以不用嘛。
之前的一个项目,只用 jre 的 HttpServer,没有依赖,配置只是一个 json,如果你选择,完全可以很简单不是吗? |
54
jimisun 2017-11-16 04:47:30 +08:00 via Android
想哭了………这个点
|
56
notreami 2017-11-16 09:15:52 +08:00
就连 PHP,都有一大堆包和配置,那种靠前排名的 lib 和 conf 少呢?
|
57
ren2881971 2017-11-16 09:18:45 +08:00
怎么每天都有人来黑 java 一下。。哭了 。
|
58
wuethan 2017-11-16 09:44:04 +08:00
.net 创业市场大,java 给人打工一辈子
|
59
swim2sun 2017-11-16 09:50:04 +08:00
程序最核心的还是对业务的抽象,就算你只用 servlet/filter 也是完全可以的,Java Web 给的选择是很多的。
一上来就用 ssh 那一套肯定会懵逼,但是脱离这些还是可以写出 web 程序的,既然选择了使用框架,就不要吐槽配置多,这就是“框架”和“库”的区别。“库”是你告诉它要怎么做,“框架”是它告诉你要怎么做 |
60
Tenma 2017-11-16 09:51:29 +08:00
@ren2881971 朋友,有的黑就说明生命力还强着呢,假如完全没有话题性的语言基本就已经被历史抛弃了……( PS:Android 开发)
|
62
wangxiaoer 2017-11-16 10:02:19 +08:00
@owenliang 要说重框架轻原理,当初的 asp webform 还是按照桌面交互方式做 web 开发呢,多少半吊子程序员连 get post 都分不清………… java web 那一套搞下来起码我觉得一些基础概念是逼着你掌握的
|
64
qq292382270 2017-11-16 10:34:47 +08:00
一切为了生存 ...
|
66
misaka19000 2017-11-16 10:35:48 +08:00
哎,感觉 V 站最近这种垃圾帖子越来越多了
|
67
TZ 2017-11-16 10:40:46 +08:00
直接搬砖的水准是啥意思
|
68
pqee 2017-11-16 10:58:57 +08:00
在 Spring Boot 里写了几个网页我已经快吐血身亡了
|
69
linus3389 2017-11-16 11:17:51 +08:00
node_modules
|
70
x7395759 2017-11-16 11:44:16 +08:00
lib 和 conf 也就码农水平啦哈哈哈哈哈
|
71
ren2881971 2017-11-16 12:18:59 +08:00
@pqee spingboot 那玩意还是适合做 api 服务
|
72
lfmy 2017-11-16 14:43:35 +08:00
c++码农飘过,个人比较喜欢学习和是使用各种工具和库、框架这种开发方式,并乐此不疲,并不喜欢自己造轮子( ̄▽ ̄)~*
|
73
njwangchuan 2017-11-16 15:03:36 +08:00 1
Java 那是工作中专用语言,一般都用在需求严谨、人员充足、周期较长得项目中。公司给政府和企事业单位做得项目大多属于这种。
招人角度,大学和培训机构都开设 Java 课程,无论是招人还是找工作。北上广,你可以招 nodejs,招 laravel,招 python,招 react。二线以后城市,你想招程序员,基本就只能是 java,iOS / Android 这种 JD。 我本人 java 出身,除了刚毕业那一两年,现在折腾自己得项目,无论 web、移动端、数据采集、API 接口、数据分析,早就没有 java 位置了。等你 java 把框架磨合出来得时间,其他技术栈功能都写完了。。 |
74
lzhCoooder 2017-11-16 15:04:22 +08:00
真心佩服 C 程序员,完全没什么 lib 可以用,只能默默撸,学的时候感觉语法超级简单,用起来全是坑,可以称为使用曲线陡峭。
hhh 反方向娱乐一下 |
76
kylaCpp 2017-11-16 16:49:45 +08:00
一个项目的好坏主要取决于架构的灵活
而不是语言 |
77
windyboy 2017-11-16 16:51:41 +08:00
java 很多轻量的做法
sparkjava ratpack vert.x 简单干净 spring 依赖确实很多,即便是 spring boot |
78
hantsy 2017-11-17 08:07:32 +08:00
要依赖少,回传统 JavaEE 吧,一个应用下来可能几十 K 的一个 war 就行了,尽量全部使用标准,应用服务器自带规范实现,不用把这些标准实现依赖进行打包。
用 Spring Boot 少则 50M,依赖多一点 100M 也不奇怪。 |
79
hantsy 2017-11-17 08:09:33 +08:00
像
|
80
hantsy 2017-11-17 08:12:29 +08:00
像我 Github 上例子,https://github.com/hantsy/ee8-sandbox Hello World 级别,打包出来都是几 K 到十几 K。
同样 Hello World 级别的用 Spring Boot 的例子,https://github.com/hantsy/spring-reactive-sample,打包出来差不多都在几十 M。 |
81
hantsy 2017-11-17 08:34:01 +08:00
实话说,单纯的比较这些包的大小,依赖,对开发没任何意义。
Java 开源生态环境是其他语言不能相比的,不管解决哪个方面的问题,都有找到一系列开源方案。 配置方面不管 Spring Boot 还是其他(本来 Java EE 8 中有配置相关标准,后来取消了,但 Eclipse Microprofile 规范加入相关标准,Apache Deltaspike 项目也提供了灵活的配置方案),在 Java 中配置是相当灵活,不管是编译时配置( Maven Profile ),还是运行时配置( Spring @Profile )基本都是可以考虑到 SDLC (开发,集成 /测试,生产环境),可以很简单应用到不同环境。 其他语言(我也有过 PHP,NodeJS 经验)似乎没这么方便。PHP PSR 在模仿 JSR 机制开始定制了一系列规范。 Java 的规范,套路( Design Pattern )等,看起来都是低效,笨拙,。。但它非常适用于团队开发大型应用,非常适合长期维护的项目。 曾经与一个几年经验的 .net 程序员接触,他的印象,怎么一个简单的功能一到 Java 为什么要那么多第三依赖库。我不明白的是,他作为一个 .net 程序员,现在 .net 也那么开放,他天天用到的只有 VS。工作中,很多的第三方库可以简化操作,更实现一些通用功能。比如,.net 也有一些优秀 jwt/oauth 认证开源项目,奇怪的他对于第三库一概不知,一概不用。 |
83
misaka20 2017-11-19 11:38:56 +08:00 via iPhone
test
|
85
johnniang 2017-11-29 09:23:44 +08:00 via Android
Java 的设计模式很重要,如果能完全掌握二十多种设计模式,也就能写出很优雅的代码,复用性很强的代码,我想这就是我们程序员所要追求的吧,不管是什么语言
|
86
abcbuzhiming 2017-12-01 10:25:02 +08:00 1
@johnniang 这句话我非常强烈的反对,我恰恰认为 java 在大多数时候,要避免谈 xx 设计模式,因为绝大部分人的 java 项目根本就不大,开始就谈什么复用,很容易陷入过度设计的泥坑里,几年前 java 被批判就是因为这个,后来诞生了一大批轻量级框架都在降低设计的复杂度。而且。我真心不觉得基于 Simula67 学派的面向对象体系谈的上优雅,基于这种思想搞出来的,稍微大一点的项目,没有 uml 类图做指导,压根就看不懂他们写的东西。代码这东西,可阅读性应放在第一位,因为代码是一次编写,多次阅读的
|