程序员的职业发展真的逃得过 Java 吗?

2021-07-15 22:47:34 +08:00
 mokevip

本人搞前端的,现在不掌握几门技术语言都不好意思说自己是程序员,所以也学了很多后端的内容,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 。因为足够简单,开源后使用者并不需要专业的知识即可运行(双击打开),和修改。

扯远了,虽然是个问句,但我感觉还是绕不过,无论是实现某些项目(原生安卓开发),还是想要往管理和架构方面发展,都绕不过。

唉,当下技术栈满足使用需求后,遇到挫折就容易退缩了,还是浮躁了。

8613 次点击
所在节点    问与答
64 条回复
szq8014
2021-07-16 11:30:15 +08:00
从 0 学 Java 一上来就用 Springboot 也算是正常,毕竟里面包含了很多开源组件。
你让一个人从 0 基础学前端直接用 ExtJS 试试,也是能学懵。
mokevip
2021-07-16 13:27:54 +08:00
@vincent321 好的,我按这个走看看
dk7952638
2021-07-16 13:47:17 +08:00
@wizzer 有点厉害,个人开发的吗老哥
fkdog
2021-07-16 14:10:06 +08:00
java 是目前阶段企业级系统项目开发的唯一解.

语言特性决定了就算是代码写的再烂, java 也能勉强一步步跟踪调试理清整个项目调用链, 在人员流动频繁的公司里这个是非常有用的.

spring 看着很庞大, 实际上主要是为了解决开发里存在的两个痛点, 依赖注入和 AOP.
为什么这两个是痛点, 如果你没有做过纯 servlet 项目可能没办法理解.. 只能多写代码自行体会了.
zeronofreya
2021-07-16 14:22:59 +08:00
java 入的坑,目前前端
总的来说,我只拒绝 java 的一点,虚拟机太大,不适合我。跨平台理念很好,但现实是我不想拖着这么大的虚拟机只为了运行一个小程序,目前国内没有哪家开发的程序能大过虚拟机吧?说是跨平台,直接在安卓上运行试试,鸿蒙也行,不能全平台通吃吹什么跨平台。
如果 java 能把源码直接编译成各平台对应的程序,去掉臃肿的虚拟机,那我就没有任何怨言了
wr516516
2021-07-16 14:55:34 +08:00
目前再做 Java 开发
自学过很多次 Python 都失败了
语法什么的没有问题,但是没什么实际项目让我写来练手.
然后也没啥刚性需求,总是提不起劲...

感觉 Java 本身也没太多东西,但是依赖的框架和很多别的东西太多太杂了
kenshinhu
2021-07-16 14:57:47 +08:00
为了不写 spring,我决心要转去 go
但说真的,如果所遇到的公司项目都是小型而要快速实现的,用 java 就像是用 RPG 打小鸡
wizzer
2021-07-16 15:05:02 +08:00
@dk7952638 是个人开发的啊,从 v1 到 v7 一步步走来的,不是一蹴而就的。。
onionKnight888
2021-07-16 15:37:47 +08:00
springboot 已经算傻瓜式操作了吧,以前没有 maven,框架还是 ssh,更折磨人
thtznet
2021-07-16 15:39:59 +08:00
用 C#路过,从来没写过 java 。
dqzcwxb
2021-07-16 15:41:47 +08:00
@zeronofreya #45 JavaScript 引擎、虚拟机、运行时环境是一回事儿吗? - RednaxelaFX 的回答 - 知乎
https://www.zhihu.com/question/39499036/answer/81707112
cenbiq
2021-07-16 16:06:56 +08:00
java 是一套奇怪又复杂的技术
jzphx
2021-07-16 16:38:08 +08:00
现在的 Spring Boot 已经比当年的 Spring MVC 方便很多了,起码你用一个 Spring Initializer 就能一分钟设置好一个能跑起来的工程。
YuanJiwei
2021-07-16 17:35:22 +08:00
@mokevip 楼主对 go 感兴趣吗?
tourist2018
2021-07-16 17:38:04 +08:00
Java 还能有 C++难上手?
zeronofreya
2021-07-16 17:38:08 +08:00
@dqzcwxb 额,为啥要给我科普 javascript 的知识?我觉得 java 虚拟机太大没毛病啊……
leeyom
2021-07-16 18:12:36 +08:00
其实现在的 Java 发展到现在,基本上已经比较容易上手了,想当初,ssh 、ssm 时代的时候,那才是灾难,一堆的配置,现在的 springboot,实际上已经几乎不用怎么配置了,基本上就是开箱即用,你说的包管理,Java 这块,无非就是 maven 、gradle,在打包的时候,确实这两个东西饶不过去,最好的办法,去 github 搜,springboot-xxx-demo,看看别人是怎么配置 maven 的,Java 之所以庞大,主要是他的成熟的生态,如果只是简单的搭建个后台服务,直接 springboot 一把梭,你要深入往管理和架构方面发展,光 Java 生态这块,学习的东西可就真的太多了
zxCoder
2021-07-16 18:58:52 +08:00
各人的兴趣不同吧

像我就特别讨厌 python js golang 这仨
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
chenshun00
2021-07-16 22:18:17 +08:00
Java(当然我也靠这个吃饭) 其实挺烂的,但是确实什么都能做.

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

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

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

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

© 2021 V2EX