编程的本质:解决问题

2022-10-22 23:04:34 +08:00
 cocong

做开发多年了,后端从 PHP 到 GO 再到现在的 JAVA ,前端从 JS 到 VUE 再到 React ,总觉得学不完,比如还有 C 语言、架构、原理什么的,于是躺平了几年,总想着有什么方法能一招解决所有问题。

最近转 JAVA 和 React ,一边学一边对比其它语言,不得不说,JAVA 的 SpringBoot 注解非常优雅地解决了 PHP 那些重复的验证、异常等问题,React 不仅没有外界传的那么难,反而比 Vue 还简单。但不管怎么样,JAVA 能做的,其它语言也行,不管是大型还是小型,只是成本不同而已。

虽然不同编程语言在语法上差不多,但是生态却是完全不同。同一个问题,换个语言就得重新学习,比如 JSON 解析、HTTP 请求 等等,原理相同,但是方法名、调用方式等在细节上却是完全不同,不管这种不同有多小,你都需要学习和处理,因为程序中的实现都是非常具体的细节问题,没有模棱两可的事。可这样,就感觉要没完没了的学习,而且是重复的学习,这是多么无趣的事啊,感觉在做无意义的事情。

刚刚在看《 Spring 实战》,突然萌生了一个想法:编程的本质是什么?我的回答是:解决问题。

不管是什么语言,不管怎么使用,无非是提出一个问题,再解决这个问题,没什么区别。

回答了这个问题,顿时感觉轻松不少。没什么好学的,有问题就解决问题,没问题就继续玩,生活就是这么简单。

好了,继续学习 Spring ,毕竟工作要用到!

3092 次点击
所在节点    程序员
24 条回复
liprais
2022-10-22 23:10:34 +08:00
少谈点主意,多解决点问题
Puteulanus
2022-10-22 23:24:48 +08:00
JSON 解析、HTTP 请求这些在知道原理的情况下应该已经是迁移成本最低的了
如果从一个语言到另一个语言、一个框架到另一个框架学的都是这些的话,那肯定会没完没了的学习。。

copilot 普及开之后这种程序员估计生存空间会进一步被挤压吧
cocong
2022-10-22 23:26:44 +08:00
@Puteulanus 可惜 copilot 收费
kop1989smurf
2022-10-22 23:31:23 +08:00
对于一种编程语言,尤其是编程工具而言,“学习”这个词太有误导性了。
更多的应该是“适应”或者说“摸索”。

因为“学习”往往意味着思考方式,以及认知的变化。
生产工具的迁移并不涉及到认知和既有知识体系。只是工具的使用方法换了而已。

从新华字典换成新华词典的过程,我们并不是在“学习”新华词典。
nomagick
2022-10-22 23:50:09 +08:00
其实编程语言门类下面最近这几十年出现的比较重大的新鲜概念没那么多,
每个语言侧重不一样,但基本上是在前人的基础上求同存异

现在一般都具备的,自动类型,类,继承,OOP ,异常

已经有共识,在普及阶段的,lambda ,高阶函数,协程或者说异步函数, 装饰器 /注解 /宏

还基本在学术圈的,模式匹配


接触的语言多了自然就能产生相似的结论,语言层面上哪个语言更好是很容易出共识的,这时候这帮开倒车的就会搬出什么生态什么爸爸这些混淆视听
yuuko
2022-10-22 23:54:21 +08:00
楼主再学学 rust ,rust 的所有权( ownership )是我没在其他语言见过的,还挺有意思
Puteulanus
2022-10-23 00:03:42 +08:00
@cocong 我身边欣然接受 copilot 的基本上是工资上升最快的一群人,这个其实很悖论:生产力越高的人越知道自己的时间值这个价,越是被重复性劳动占据的人越觉得自己不需要工具
YangWaleed
2022-10-23 00:19:04 +08:00
别说编程了,人类绝大多数的事情都是在:解决问题
abc0123xyz
2022-10-23 00:21:21 +08:00
编程的本质:混口饭吃
xuanbg
2022-10-23 01:14:38 +08:00
所以,最终都是面向搜索引擎编程。
jobs0
2022-10-23 08:29:56 +08:00
楼主推荐一下学习 Java 的入门相关书籍呗,小弟也在学 java
charlie21
2022-10-23 08:52:12 +08:00
什么的本质不是解决问题呢?
novolunt
2022-10-23 09:24:14 +08:00
@YangWaleed 解决第一性需求
xiongxin8802
2022-10-23 10:05:39 +08:00
计算机的本质:解决问题
。。。。。。:解决问题

编程语言的本质,不是用不同的方式来解决同一个问题吗?
TWorldIsNButThis
2022-10-23 11:12:37 +08:00
@nomagick 基础的 pattern matching 已经在 java 落地
估计离成为标配也不远了
optional
2022-10-23 11:12:39 +08:00
互联网现在的路子是创造需求,然后设置解决方案,所以有些时候会感觉在内耗,没有成就感,感觉无意义。
传统制造业,真是解决问题,有时候几行代码就能提高几百人的工作效率。
optional
2022-10-23 11:13:14 +08:00
当然前面说的只是一些试错项目,互联网本质上还是优化了全社会的效率。
andyJado
2022-10-23 11:57:15 +08:00
因为你只是个 end user 啊
weeei
2022-10-23 12:00:12 +08:00
@Puteulanus 是的,现在开源是一个趋势以后,那些只会调库的已经不能称之为程序员了。
haha512
2022-10-23 12:50:05 +08:00
不止编程,感觉人类所有的活动都是在创造问题并解决问题,不管是技术还是纯体力,本质都一样

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

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

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

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

© 2021 V2EX