作为开发者,真的不应该被编程语言所限定吗?

2019-04-17 19:40:41 +08:00
 onice

今天在知乎上,看到一个前辈的回答,大致内容是说:

不要被编程语言限定,过分强调某一种语言或平台,都是不必要的。

如果你把自己限定为 Java 程序员或 .NET 程序员,你就已经输了,其次这种限定使得你自动被排除在世界上大多数编程工作之外。

但是在现实世界中,很多公司都是按照技能来招人的,例如 Java 工程师,web 前端工程师等。

大家怎么看呢?

9641 次点击
所在节点    程序员
84 条回复
shugen
2019-04-18 09:30:01 +08:00
精通一门语言就可以让你温饱无忧了。
精通不意味对其他语言不了解,知己知彼~
yanaraika
2019-04-18 09:31:14 +08:00
@TomVista 那是因为你开的工资不够高招不到足够牛逼的人。Google 面算法是有道理的
TomVista
2019-04-18 09:32:53 +08:00
@hantsy 你这是双线作战,,,应该不算转语言吧,,,我平常是前端各种+服务器 c# 也无所谓```
TomVista
2019-04-18 09:36:48 +08:00
@yanaraika 一直不了解算法对程序的影响,深度不够,没办法跟你讨论算法程序....杠精附体,某个不会红黑树的渣渣??
AngryMagikarp
2019-04-18 09:43:39 +08:00
开发人员的目的是解决问题,只不过写代码是他们解决问题的核心。不同语言框架有不同特性,能用在不同场合,能根据实际情况选择何时的语言框架应该是开发人员能力的一部分。但选择的前提是你有选择的权力,这首先是意识问题,其次才是能力问题。

有比较好计算机科学基础的人不容易受限于语言。那些培训班出来的容易把语言(甚至只是框架)当做神。工作这么多年,我已经不止一次遇到:工作了四五年,结果连 HTTP 协议都没高清楚的 Web 前端,JSON 格式的标准都不懂的客户端了。在他们眼里,他们使用的框架、类库就是他们眼界的全部。
xomix
2019-04-18 09:44:42 +08:00
在你刚刚入行的三五年,你不应该看过多的语言,你在用什么就去精通他,用他多做业务,多做项目,建立自己的编程思想和逻辑,抽象出自己对业务逻辑到程序逻辑到数据逻辑的映射。

当你已经熟料业务转换,建立自己的编程思想之后,你就不应该再局限于一种语言,而是开始广泛的涉猎其他语言的特性和差异,更多的充实自己对编程的认识。

在你熟悉这些之后,你应该做的是再次回到自己最熟悉的语言上,重新整理自己对程序对象和程序逻辑规律的认识,总结处自己的框架,查看分析和深入理解各种系统的原理,最后再想想如果你用一种语言该如何实现。

到了这里,编程对你来说是一种知识能力,即使给你一门新的语言你也可以在很短的时间内掌握。

任何时候参与到语言优劣之争中去,都是浪费自己的时间和生命。
任何时候想要精通所有的编程语言,都是罔。

我一直觉得,所谓的程序员,不过是通过一些特定的语言把一般人要做的事情告诉计算机,让计算机按照一般人的需求做事。
他们只是能够把一般人看似无逻辑的工作总结逻辑后告知计算机,让计算机服务一般人的翻译罢了。
Cbdy
2019-04-18 09:45:45 +08:00
底层码畜会被编程语言所限定
xomix
2019-04-18 09:46:53 +08:00
少说了一句,任何时候,计算机原理、网络原理等原理都比语言重要,你不需要深究字节码的转换和寄存器的位变换,但是你至少要知道数据怎么来的,怎么计算的,怎么走的。
aver4vex
2019-04-18 09:48:20 +08:00
精通一门就够了,别的都差不多。
q397064399
2019-04-18 09:49:55 +08:00
@TomVista #36 生态这东西 说白了就是固定资产投资,我没说不需要投资,事实上我一直在 Java 这个生态领域做技术积累投资,但是不妨碍我学习 C/C++/Go 语言,因为涉及到缓存 API 网关 等特殊性能场景,Java 确实有其局限性,而且分布式系统的发展 不就是为了将软件系统跟特定语言平台 隔离开来么?
另外一个问题是 把所有的精力全部只投入到一个技术领域,真的好吗 ? Java 在企业级开发领域确实值得投资,但是离开了成熟的公司跟团队,Java 就是一坨屎,如果你自己要做项目或者到初创公司,Java 那套是负担而不是资产,当初创公司进入成熟规模, 需要上规模软件开发团队,Java 就变成了最宝贵的资产,PHP 却会成为负担,从职业生涯来讲,谁也保不住年纪大了被公司一脚踢出去,去了小公司或者个人外包,那又是另外一幅场景,所以技术生涯 要学会分散投资,把所有技术积累全放在一个领域不是一个好的选择。

而且很多东西真的是相通的,你学了 引用计数回收 了解他在哪些场景有局限性,就能更加深入的理解 有向图可达性分析 的垃圾回收方式。 另外 GUI 框架 你学了一门 理解了,学其他的 GUI 框架 就是换套皮而已,思想都是相通的。
Vegetable
2019-04-18 09:52:17 +08:00
因为大部分人水平不到位,公司才会限定招聘 JAVA 工程师.
举个不恰当的例子.看一下设计领域,就没有 PS 设计师和 AI 设计师之分.因为设计师思想的重要性远大于使用的工具.
如果大家都能熟练使用各种后端语言,那招聘后端的时候当然就不用限定语言了.
工程师毕竟没有设计师那么注重创意思想之类抽象的东西,基本的操作能做了就能干活了.
我现在能熟练操作 photoshop,山寨几个 logo 海报也不在话下,但是我没办法说我是一个设计师.可是我会了一门编程语言了,就能成为工程师,但是工程师绝对不仅如此
TomVista
2019-04-18 09:52:20 +08:00
@murmur node 这就过期了啊 😂
ipwx
2019-04-18 09:52:41 +08:00
只会一门语言,你就是新时代的拧螺丝工。

当年资本家压榨普通工人,现在资本家压榨普通程序员,道理都是一样的,想必不需要我多说。

可悲的是,仍然有很多只会一门语言的程序员觉得自己工资高,是中产阶级,超出他能力范围去买房,去消费。

不说下去了……
xiangdong1987
2019-04-18 09:54:12 +08:00
学数据结构和算法吧,任何语言都是在一定数据结构和算法上而产生的。还有就是别纠结语言,不断学习才最重要,还有就是得赚钱 赚钱 赚钱 说 3 遍
murmur
2019-04-18 09:55:22 +08:00
@TomVista 能 node 的地方都 go 了吧 除了执着于服务器端渲染的
orangeade
2019-04-18 09:56:18 +08:00
不多学点怎麽提高身价
keepeye
2019-04-18 09:58:21 +08:00
12 年出道到现在,技能树是这样点的:php - js/nodejs - golang - python 最近可能要进入安卓开发,扫了一下 java 的语法,很简单
yxcoder
2019-04-18 09:59:21 +08:00
JAVA 学的精,其他也学的不错,遇见问题可以尝试各种办法,最顺手的还是 JAVA
TomVista
2019-04-18 10:10:22 +08:00
@q397064399 好吧,强的人保持深度广度,弱的人努力保证生活有出路,尽量维持生活,,还是那句话,钱到位了,都好说.

钱到位了,我转语言. 为了钱到位,我转语言,人艰不拆.

没办法讨论下去了,大脑回路到了死结..
Rwing
2019-04-18 10:30:06 +08:00
"我发现这个问题下面,有很多人不停地在吹什么:“语言永远不核心,只有人是关键。”“小心点不就完了?你不小心出了问题它就烂?”恕我直言,这些人的格局还停留在“工程师”的级别,根本就没有学会从整个项目的角度去看问题。当我们在讨论一个百人为单位的大项目的时候,个人的小心与否是根本不重要的,我们看的是一个整体的犯错概率,以及随之而来的人工成本。

作者:Gh0u1L5
链接: https://www.zhihu.com/question/21017354/answer/545465820
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。"


节选一下我比较认同的观点。

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

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

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

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

© 2021 V2EX