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

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 历史遗留问题所衍生出来的解决方案,这些动作背后蕴藏了什么价值呢?其他的语言是否有这些操作呢?请懂的大佬指教下

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

3779 次点击
所在节点    程序员
39 条回复
iappled
2018-10-28 20:46:39 +08:00
当然,简单最好
Justin13
2018-10-28 20:50:26 +08:00
如果是为了工作,那就学当前技术栈内最火的。如果是为了兴趣,那就跟着兴趣走,想学什么学什么。
V2XEX
2018-10-28 20:54:06 +08:00
@Justin13 我的兴趣就是将来能火的,种技术不一定有什么强力的顶级特性,但一定是能更优雅地解决问题,一定具有顽强的生命力
lhx2008
2018-10-28 21:01:19 +08:00
Java,Boot 是易用和可靠的平衡,js 就别提了,新东西太多,反正出了问题也没啥大不了,python 又太简单不好调试了,所以没有说越极端越好
bucky
2018-10-28 21:02:07 +08:00
学一门动态语言,比如 js 或者 python, 你会发现大多数设计模式都不需要了,动态语言里面设计模式大多内化了
Tianny
2018-10-28 21:08:38 +08:00
楼主问的太好了这个问题。
supuwoerc
2018-10-28 21:24:22 +08:00
地摊语言 js 就完事了嗷
trait
2018-10-28 21:47:35 +08:00
imperative 和 declarative 各学一个主流的,比如 java + haskell。楼上说的动态语言所谓设计模式不重要,还是看看大厂最近都在做什么比较好,ts 就不提了,python 现在 google, facebook 都在加类型检查
KeepPro
2018-10-28 21:48:22 +08:00
>>> 一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程
你这不是已经有答案了么。
agagega
2018-10-28 22:02:02 +08:00
光简单易用就能火的话,那 Ruby 也不会是现在这个样子了。当然,也可能是火过了,后继乏力。
zjsxwc
2018-10-28 22:06:06 +08:00
别看不起设计模式,也别以为换了语言就不需要学设计模式,主要的 23 个设计模式只是 solid 原则的衍生物,不管换了什么语言也都应该按照 solid 原则来写易维护的代码,学习设计模式是理解在面相对象编程方式下如何应用 solid 原则的最快速的方式。
bucky
2018-10-28 22:09:50 +08:00
@zjsxwc 然后走火入魔的人更多,大多数能抄的好函数都算代码写的好的了
mmdsun
2018-10-28 23:36:06 +08:00
一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程?苟..
likuku
2018-10-28 23:38:58 +08:00
楼主,你这个用户 ID 和 用户头像,在本站太容易引起误解了哎。
lekai63
2018-10-28 23:44:46 +08:00
ai 趋势没有异议吧?
so why not Python ?
—————————-
其实我想说:看定位啊。
你搞 web 的学 Python 固然多个技能,但提升不大。你搞 ai,打底 Python 了吧。当然对 Python 语言本身要求不高。
——————————
最后反正 Python 基础语法是简单的,不如抽空学下,万一碰到个难题,也许还能找个合适的东东 pip install 下,说不得就解决了。
UIXX
2018-10-28 23:52:13 +08:00
那么就目前情形来看,在保证温饱的情况下,在选择要学习的技术时是否应该抛弃旧物,顺应新的趋势呢?
你这个问题,在大道理上来说是肯定的。

但是在人的精力有限的前提下来看,还得跟你所处的位置一起评估。
newtype0092
2018-10-29 00:01:40 +08:00
@zjsxwc 我怎么觉得 23 个常用设计模式是给不愿 /不能理解面向对象和 solid 原则的人一个照本宣科死记硬背的下下策。。。
waytoexplorewhat
2018-10-29 00:04:35 +08:00
个人见解,无论使用的是何种语言或开发工具,最核心的还是得解决实际业务问题。比如简便或便捷带来很好的开发效率,却未必能有更好的性能,而性能作为瓶颈带来的问题无法解决,那就不适合了。
当然从大流来说,新出的东西是值得去了解学习的。
t6attack
2018-10-29 03:00:05 +08:00
未来发展趋势,就是解决问题的方式就是越来越简单。比如在数据库层面,你不再需要自己搞什么数据库优化,云服务解决一切问题。原有的经验和公开的解决方案,会越来越落后,直到彻底淘汰。
到最后技术人员分化为两类人,一类高级工程师,开发语言、系统、云服务、造轮子。。一类搬砖码农,专注业务层面,无需了解背后的复杂原理,经过简单培训就可以掌握上岗。
fy
2018-10-29 03:23:28 +08:00
如果新的工具能够更简单解决旧的问题,为什么不用呢?
当然用了

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

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

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

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

© 2021 V2EX