是否应该优先学习简单、便捷的开发语言、工具?

2018-10-28 20:43:39 +08:00
 V2XEX

现在 golang 在国内越来越火了,回想起之前大火的KotlinPython,甚至是更早的Java,我想他们火起来的原因不是因为其附带了什么绝对意义上其他同类产品所不具有的核心属性,而是能以一种更优雅、更先进、更人性化的方式解决问题,毕竟不是人人都有时间、有能力去搞编译器优化,去注意内存泄漏问题等。

除了语言,还有各种框架、工具,如前端三大框架中的Vue(以学习成本,开发效率著称)还有Angular2+(每次更新都宣称变得更“易用”),Spring 全家桶之一的 Spring boot(目标是消除所有配置文件,简化开发前置步骤和开发流程)他们的出现都意味着一种趋势:开发流程对程序员越来越友好,解决问题的方式越来越优雅。 当然还有诸如 Ruby 的 Rails 啥的听说就 web 开发来说开发速度是独占鳌头的,但本人没听说过就不过多评价了。

一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程

几年前发布的 Java8 是当时 Java 历史上变动最大的一个版本,其中的不少变化就是拥抱了潮流,个人认为从侧面也印证了冗长、繁杂的东西是终将要被淘汰的。

那么就目前情形来看,在保证温饱的情况下,在选择要学习的技术时是否应该抛弃旧物,顺应新的趋势呢?

我本人是个 java crud 工程师,感觉 Java 开发喜欢搞什么设计范式,搞什么封装,我不清楚这是否是因 java 历史遗留问题所衍生出来的解决方案,这些动作背后蕴藏了什么价值呢?其他的语言是否有这些操作呢?请懂的大佬指教下

以上发言非引战,纯属个人观点,如有错误敬请指出

3788 次点击
所在节点    程序员
39 条回复
murmur
2018-10-29 08:29:53 +08:00
java 的魅力就是把一群不知道哪里来的妖魔鬼怪凑一起都能搞出个能跑的东西来
没设计模式搞得定?
vegito2002
2018-10-29 08:30:03 +08:00
don't choose language. choose money.
kfchyc
2018-10-29 08:46:40 +08:00
@vegito2002 对的对的,面向金钱开发!
passerbytiny
2018-10-29 08:47:37 +08:00
@V2XEX #3 你前面说得很对,但是倒数第二段就错得离谱。

除非你想要的是一个只打算解决“一个”问题的语言,设计模式、封装是简单、便捷的必要条件。
changhe626
2018-10-29 08:56:06 +08:00
是啊,谁会没啥天天跟自己过不去
lihongjie0209
2018-10-29 09:02:52 +08:00
出了 bug 你调试一下

新需求文档没有, 你实现一下


框架天天换,底层的原理什么时候变过
lihongjie0209
2018-10-29 09:04:43 +08:00
@bucky 动态语言不太需要设计模式的原因是: 他们把动态语言当作过程式语言用来写脚本, 并没有构建一个复杂的系统, 所以不需要设计模式
SeaRecluse
2018-10-29 09:19:39 +08:00
python 更人性?? python 火起来不是因为 AI 风口吗。如果不是工作需要,我应该不会去用 python 的(超过 300 行就分不清东西南北了:|),不懂 JAVA,不过 C#和 java 比应该很像吧,个人觉得 C#挺好的,无论是性能和易用程度,但是生态圈不行。应该优先学习生态圈成熟的
V2XEX
2018-10-29 09:23:27 +08:00
@passerbytiny 也许是我在小公司写 crud 时间太长,早已忘了思考。
大公司里搞的项目要注意工程化、规范化,然而我在小公司搞小项目特别是自己一个人搞一个项目就觉得这些行为令人疲惫
owenliang
2018-10-29 09:26:04 +08:00
生态牛逼,语言再恶心也得往下咽,是这个道理吧。
murmur
2018-10-29 09:41:18 +08:00
@owenliang 你说的是 object-c,java 就是麻烦但是他是 c 特性的语法不能叫恶心,唯一的问题是 java 早期不支持传回调函数,其余的都不算问题
TommyLemon
2018-10-29 09:50:37 +08:00
面试时看招聘要求,人家要啥你就得会啥;
工作时在满足需求的前提下尽可能用简单的方案。

SpringBoot 能火起来就是因为简单易用,省去了大量 XML 配置。
APIJSON 基于 SpringBoot,从 路由 到 数据库 CRUD 的代码全都省掉了,
后端不用写代码就能提供接口给前端灵活调用了,可以查任何数据和结构
github。com/TommyLemon/APIJSON
q397064399
2018-10-29 09:57:21 +08:00
@V2XEX #29 建狗窝 跟 建摩天大厦 是两回事,狗窝大不了推倒从来,一堆码农加班就好了,你跟我说摩天大楼 推倒重来? --<<代码大全>>
lancelee01
2018-10-29 10:04:37 +08:00
从复杂开始学,再学简单的,很 easy。但是从简单的开始学,学着学着就成 SB 了
bucky
2018-10-29 10:23:41 +08:00
@lancelee01 这个不一定,有些复杂是必要的,有些复杂是没必要,历史遗留的问题,后面这种复杂学了纯粹是浪费时间
lancelee01
2018-10-29 10:49:33 +08:00
@bucky 学习得学复杂的、得深入原理;而干活得用简单的,简化开发、把没有技术含量的交给工具去做。如果直接学习简单的,出了问题你不都知道怎么排查
bucky
2018-10-29 10:54:14 +08:00
@lancelee01 复杂和深入原理并没有直接关系
zhaogaz
2018-10-29 11:20:35 +08:00
1.旧物不是你想抛就能抛的,——参考 cobol 语言
2.封装和设计,代表着一种规划。如果你理解不了,那你学学 spring 的设计就懂了。随便做做怎么都行,但是盘子大到一定程度后,按照规矩办事(指定类型啊,接口啊)才是最恰当的,不容易出问题。
3.其他语言不清楚。你需要找一个体量相当,用途相当的语言。
V2XEX
2018-10-29 13:17:58 +08:00
@q397064399 看来修狗窝久了,眼里就只有狗窝了

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

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

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

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

© 2021 V2EX