本人搞前端的,现在不掌握几门技术语言都不好意思说自己是程序员,所以也学了很多后端的内容,nodejs 、python 、php 都有接触
在学习自学前端的时候都是用 php 配合写项目的,后来才逐渐学习其他的后端语言
因为用 nodejs 、python 、php 写内容,相对比较轻,本身 php 和 javascript 也非常像,上手也很简单,可以几乎无门槛的建立一个 http 接口。
但是上班之后,两个公司都是以 java 做为后端开发语言,也就有了学习 java 的想法,但是尝试了 4 、5 次,都以失败告终,可能是因为太浮躁了哈哈哈。
其他的后端语言,包括 C 、C#等,都觉得很能接受,但是 JAVA 真的是看了起不良反应那种。
原因就是太大了。。哈哈,想当年在学校参加 web 开发比赛的时候,和我搭档的后端同学,在如何让项目跑起来的问题上,纠结了两天,整整两天训练时间他们都在纠结这个,最后好像是因为包什么的。
java 基本内容都能上手,但是一到包管理,需要上手 spring boot 等框架的时候,真的是一个头两个大
光怎么让这玩意跑起来我每次都要折腾好久,最后放弃
虽然我认为我自己的问题也比较多,主要问题还是有了其他后端语言做支撑,其实对 JAVA 学习的紧迫性并不高,所以容易放弃。
感觉还是轻语言适合我一点(当然这里的轻语言是个伪概念),上手简单,学习的每一步都有反馈,框架和生态并不深度绑定。
说到这点,哈哈哈,编程语言我一直是自学的,但是现在回首一看,现在上手一个前端项目也很难,自学的门槛也提高了很多。我自学那会大概上手一个项目只需要 html 、css 、js 再加上一个 jquery 做工具库,现在上手一个前端项目需要涉猎的知识就多了 html 、css 、js 、vue 、nodejs 、webpack(后两项并不强需求,但是也会有涉猎),好高骛远一点的大概会看到一个更漫长的道路,react 、typescript 、sass 以及一堆听不懂的名词
当然,个人认为前端工程化绝对是在进步,但其实某种程度上复杂度也提升了。
即使已经掌握了前端编译方面的知识,个人做开源项目(比较小,只有几个界面)的时候,还是会选择 cdn 引入 vue+axios 或者 jquery 。因为足够简单,开源后使用者并不需要专业的知识即可运行(双击打开),和修改。
扯远了,虽然是个问句,但我感觉还是绕不过,无论是实现某些项目(原生安卓开发),还是想要往管理和架构方面发展,都绕不过。
唉,当下技术栈满足使用需求后,遇到挫折就容易退缩了,还是浮躁了。
1
mokevip OP 一不小心写太长了,抱怨的多了,哈哈哈,姑且就当是在怨天尤人吧,该学还得学
|
2
mokevip OP emmm,但前端我还是很爱学的,哈哈哈,感觉很顺畅。
要不是怕新同事上手难,哈哈哈,架构项目的时候就恨不得 vue3 、ts 、tsx 等等新技术全整上了。 不知道为啥,可能天克 JAVA 吧 |
3
dongisking 2021-07-15 22:56:39 +08:00
java,后端的答案。。。
|
4
yitingbai 2021-07-15 23:00:37 +08:00 6
你觉得 java 太复杂是因为你一上来就用 spring 这样的框架, 这些框架本来就是极其复杂的技术集合体, 你甚至都不知道 java 的 servlet , 又怎么能理解 spring 的运行原理呢. 真正的 java 程序非常简单, 和 C 一样, 一个 main 函数就能跑起来, 从基础开始学吧, 别浮躁, 个人觉得 java 是个最好的语言, 代码严谨规范(啰嗦), 我特别喜欢在开发的时候利用接口,封装,设计模式约束自己, 虽然前期很枯燥, 但是维护起来很舒服 , 哪怕你已经忘记了之前的代码, 只要你按照自己的规矩去做, 一切代码都是那么的安全和理所当然
|
5
JYii 2021-07-15 23:04:39 +08:00
我学 Java 那会感觉挺平滑的...但是在学 vue 时反而感觉很奇怪,可能因为 Java 太“死板”了吧
|
6
mokevip OP @yitingbai emmmm,之前还真的不知道 servlet,一直以为 java 基础学完了就是 spring boot 了。。我再看看
|
8
lcdtyph 2021-07-15 23:16:41 +08:00 via iPhone
程序员也不是只有前后端和架构什么的吧…再往底层还有内核开发、驱动开发什么的,没 java 什么事
|
9
mokevip OP @lcdtyph WEB 开发领域大概就是这样了。。感觉学历不够研究内核容易把自己搞死(感觉内核啥的偏底层的好像更难了)。。
|
10
rabbbit 2021-07-15 23:22:52 +08:00
java 还好吧,一套可以用很久.前端总是变来变去.
装包啥的 maven 改个镜像地址,把包名复制进去就可以了. |
11
rabbbit 2021-07-15 23:23:21 +08:00
不过找工作还是前端相对容易点
|
13
falcon05 2021-07-15 23:28:19 +08:00 via iPhone
想起很久一个说法,如果扎克伯格当年是用 Java 而非 PHP 去写 Facebook,可能还没写完就已经放弃了,所以…当然可以绕过 Java 。
|
14
IGJacklove 2021-07-15 23:56:49 +08:00 via Android 1
spring boot 已经很简单很简单了。。。你是没写过 ssm 那些,配置起来比这麻烦多了。
|
15
BeautifulSoap 2021-07-15 23:59:09 +08:00 via Android
在国内应该没法逃过 java,初创公司可能语言更加丰富点
国外的话体感 php 工作反倒更多,其他语言也还算好找工作,不像国内 java 一家独大这样 |
16
mokevip OP @IGJacklove 可能少了一个循序渐进的过程。。
|
17
JudyHal 2021-07-16 00:01:34 +08:00
@BeautifulSoap 国外 Java 应该都快灭绝了吧,PHP Ruby on Rails C# Node.js 的机会都比 Java 多多了
|
18
catcn 2021-07-16 00:06:57 +08:00
当你写代码写久了,就会进入禅道了。java 这些都可以通过快速学习来学。
过几个月估计会开始写点 java 代码玩玩。 |
20
Leviathann 2021-07-16 00:35:57 +08:00
@JudyHal 这么看还是国内的 java hater 比较厉害。。也就基于 spring 的 java web 占比比国内少些就能说成 java 快灭绝
|
21
limbo0 2021-07-16 01:44:29 +08:00
java 天生适合工程类的, 强约束, 确实比写 Python, ruby 踏实多了
lz 作为前端其实也不需要学 Java, 学学简单的 Python, 写个网页, 没事写点提升工效的小脚本岂不美哉 |
22
vincent321 2021-07-16 04:12:45 +08:00 3
大部分人是这样的:
Java EE -> Servlet -> Spring -> Spring MVC -> Spring Boot -> Spring Cloud |
23
nerocc 2021-07-16 06:55:17 +08:00 via Android
你要是习惯 node express 的话,试试.NET 6 (目前还在预览版)的 minimal hosting 。可以像 node 一样几行就写出来一个简易的后端,可以小步子学,有反馈。后期项目复杂了需要转换成 MVC 还有工具帮忙自动转换
|
24
Cbdy 2021-07-16 08:40:43 +08:00 via Android
你学 java 的时候看了太多国产 csdn 等二手文档吧?那玩意儿都是害人的东西
类似照着几年前 webpack1 的文档搭 webpack5 的脚手架,自然问题多多 java 的变化也很快的,说他稳定只是相对于前端,java web 正确的学习方法是看 spring 等框架的官方文档 |
25
sonxzjw 2021-07-16 08:49:26 +08:00
你一味的迎合别人当然逃不过某些焦虑。
当你定位清晰,目标清晰的时候,就会更清楚了 |
26
HDMItoDP 2021-07-16 08:55:29 +08:00
java 入门是需要时间的,是需要基础的
|
27
dinghmcn 2021-07-16 09:10:10 +08:00
linux 驱动内核基本没 java 什么事,但会借鉴面向对象语言的设计理念
|
28
abcbuzhiming 2021-07-16 09:35:59 +08:00 1
spring 比较庞大,所以初期看上去很难下手,其实绝大部分人用 spring,最多就用到了自动装配依赖,连 aop 都很少用。你把 spring 是怎么扫描你的依赖,怎么装配依赖的这个流程搞懂,就基本上手了
|
29
Variazioni 2021-07-16 09:45:15 +08:00
@vincent321 是的。。先从集成度不这么高的框架入手。。了解原理。。再往上学 spring 一套。。就简单多了。
|
30
LinShiG0ng 2021-07-16 09:57:02 +08:00
我就是一开始自学的 java,导致我后来再学 php,python 的时候极其不适应。
|
31
passerbya9527 2021-07-16 10:23:20 +08:00 via iPhone
对,想我做了 8 年 c++,最后还是没逃过 java,现在用 springcloud 快乐的涂胶水
|
33
jmc891205 2021-07-16 10:37:51 +08:00
应该这样问
(互联网行业的)程序员的职业发展真的逃得过 Java 吗? |
34
DeWjjj 2021-07-16 10:47:07 +08:00
逃得过呀,C++玩家。无缝切 go,干 python 。
我估计我这辈子都不会去学 java 了,我是单纯觉得老技术新人就不该去学。 天花板上面大佬那么多,他们不退工作岗位压根抢不到。 学 go 就不一样了,都是白给玩家。 |
35
dqzcwxb 2021-07-16 11:16:25 +08:00
有些人,他不是不喜欢 Java,他只是不愿学习不想工作不想写代码
|
36
xuqiccr 2021-07-16 11:16:26 +08:00
题外话,用 jquery 久了,学 VUE 屡屡失败。。。感觉完全是两套逻辑
|
37
efaun 2021-07-16 11:22:18 +08:00
后端表示看 react 也是不能理解
|
38
aaniao002 2021-07-16 11:27:14 +08:00 via Android
一股浓烈的啊三味。我也不喜欢 java,不喜欢就不喜欢呗,看工作。这边都是个人项目,只要能 hold 得住,那
|
39
aaniao002 2021-07-16 11:27:50 +08:00 via Android
拿 bash 写 web 也不会有人说什么。
|
40
wizzer 2021-07-16 11:30:08 +08:00 2
|
41
szq8014 2021-07-16 11:30:15 +08:00
从 0 学 Java 一上来就用 Springboot 也算是正常,毕竟里面包含了很多开源组件。
你让一个人从 0 基础学前端直接用 ExtJS 试试,也是能学懵。 |
42
mokevip OP @vincent321 好的,我按这个走看看
|
44
fkdog 2021-07-16 14:10:06 +08:00 1
java 是目前阶段企业级系统项目开发的唯一解.
语言特性决定了就算是代码写的再烂, java 也能勉强一步步跟踪调试理清整个项目调用链, 在人员流动频繁的公司里这个是非常有用的. spring 看着很庞大, 实际上主要是为了解决开发里存在的两个痛点, 依赖注入和 AOP. 为什么这两个是痛点, 如果你没有做过纯 servlet 项目可能没办法理解.. 只能多写代码自行体会了. |
45
zeronofreya 2021-07-16 14:22:59 +08:00
java 入的坑,目前前端
总的来说,我只拒绝 java 的一点,虚拟机太大,不适合我。跨平台理念很好,但现实是我不想拖着这么大的虚拟机只为了运行一个小程序,目前国内没有哪家开发的程序能大过虚拟机吧?说是跨平台,直接在安卓上运行试试,鸿蒙也行,不能全平台通吃吹什么跨平台。 如果 java 能把源码直接编译成各平台对应的程序,去掉臃肿的虚拟机,那我就没有任何怨言了 |
46
wr516516 2021-07-16 14:55:34 +08:00
目前再做 Java 开发
自学过很多次 Python 都失败了 语法什么的没有问题,但是没什么实际项目让我写来练手. 然后也没啥刚性需求,总是提不起劲... 感觉 Java 本身也没太多东西,但是依赖的框架和很多别的东西太多太杂了 |
47
kenshinhu 2021-07-16 14:57:47 +08:00
为了不写 spring,我决心要转去 go
但说真的,如果所遇到的公司项目都是小型而要快速实现的,用 java 就像是用 RPG 打小鸡 |
49
onionKnight888 2021-07-16 15:37:47 +08:00
springboot 已经算傻瓜式操作了吧,以前没有 maven,框架还是 ssh,更折磨人
|
50
thtznet 2021-07-16 15:39:59 +08:00 1
用 C#路过,从来没写过 java 。
|
51
dqzcwxb 2021-07-16 15:41:47 +08:00
@zeronofreya #45 JavaScript 引擎、虚拟机、运行时环境是一回事儿吗? - RednaxelaFX 的回答 - 知乎
https://www.zhihu.com/question/39499036/answer/81707112 |
52
cenbiq 2021-07-16 16:06:56 +08:00
java 是一套奇怪又复杂的技术
|
53
jzphx 2021-07-16 16:38:08 +08:00
现在的 Spring Boot 已经比当年的 Spring MVC 方便很多了,起码你用一个 Spring Initializer 就能一分钟设置好一个能跑起来的工程。
|
55
tourist2018 2021-07-16 17:38:04 +08:00
Java 还能有 C++难上手?
|
56
zeronofreya 2021-07-16 17:38:08 +08:00
@dqzcwxb 额,为啥要给我科普 javascript 的知识?我觉得 java 虚拟机太大没毛病啊……
|
57
leeyom 2021-07-16 18:12:36 +08:00
其实现在的 Java 发展到现在,基本上已经比较容易上手了,想当初,ssh 、ssm 时代的时候,那才是灾难,一堆的配置,现在的 springboot,实际上已经几乎不用怎么配置了,基本上就是开箱即用,你说的包管理,Java 这块,无非就是 maven 、gradle,在打包的时候,确实这两个东西饶不过去,最好的办法,去 github 搜,springboot-xxx-demo,看看别人是怎么配置 maven 的,Java 之所以庞大,主要是他的成熟的生态,如果只是简单的搭建个后台服务,直接 springboot 一把梭,你要深入往管理和架构方面发展,光 Java 生态这块,学习的东西可就真的太多了
|
58
zxCoder 2021-07-16 18:58:52 +08:00
各人的兴趣不同吧
像我就特别讨厌 python js golang 这仨 |
59
young1lin 2021-07-16 19:01:14 +08:00
Spring Boot 已经是最简化配置了, 你要用 SSM,你简直想骂娘。当然,你想要玩转 Spring Boot 的话,可以先了解下 Spring,再去看 Spring Boot 就很简单。Spring 其实是胶水框架,把这些对象以流水线的方式生产了出来,你想深入了解,可以看书,也可以直接看源码,先从看一部分,再看另一部分,最后总结出来。
这是我总结的 Spring Boot 的启动流程相关的内容。你也可以看相关书籍,其实不难,最多花你两个月的时间,就能比较深入的了解 Spring 和 Spring Boot 了。主要是它的生态好,开箱即用,简单的配置,强大的功能! https://www.processon.com/view/link/5ff6897f07912930e0207859 |
60
chenshun00 2021-07-16 22:18:17 +08:00
Java(当然我也靠这个吃饭) 其实挺烂的,但是确实什么都能做.
|
61
todayisgood 2021-07-16 23:25:45 +08:00
java 写的还可以啊,maven 工程管理属于 工程结构管理和包管理知识的一环
java 知识你基本都会了,就是面向对象语言,它有它完善的语言设计层次结构,抽象层面做的挺好的 然后 spring 相关其实就是依赖注入的一些相关知识, 你知道它怎么完成依赖注入的流程就可以了 |
62
Lonely 2021-07-16 23:37:43 +08:00 via iPhone
@zeronofreya 你写的网页就不要在浏览器或者其他环境里运行吗?
|
64
NotreDame 2021-07-18 07:25:10 +08:00
职业发展?那应该逃得过。入行时靠 Java,但一直以来都是 go 。个人不喜欢 Java 一把梭的感觉,跟一个语言一起成长的感觉很妙。下一步计划学学 Rust 。
另外:理解不了“几次尝试学习一个语言,结果都失败”的情况,心里应该有危机感了。 |