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

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

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

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

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

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

大家怎么看呢?

9415 次点击
所在节点    程序员
84 条回复
yegle
2019-04-18 01:16:11 +08:00
Google 并不按照语言招聘
Kabie
2019-04-18 02:33:50 +08:00
招聘岗位是要能担任这个职位的人,但是把自己限定为只能做这个职位的人就太无聊了吧。

现实中也并没有那么多需求极端专精的工作任务。
zzjas98
2019-04-18 04:06:37 +08:00
按照语言收人的公司也就只能收到被语言限制住的人了,谷歌亚麻这样的公司可不按语言收人
tsui
2019-04-18 05:36:36 +08:00
@zzjas98 没错,亚麻套路最深。
面试:习惯 C++行不行?行!亚麻 C++代码大概占多少? 50%吧。 撸题 loop...
bootcamp 第一天:我们现在绝大多数新代码都是 Java,C++大部分都是 11 年以前的老代码
xuanbg
2019-04-18 07:29:28 +08:00
只要你真的理解那些基本的编程知识,如:栈、堆、树、链表、数组以及流程控制等等,上手新语言也就是分分钟的事。
577322753
2019-04-18 07:54:57 +08:00
thrift rpc,使用这种 rpc 框架可以做到不同语言实现相互调用,为何不用你最擅长的语言去做这种语言最擅长的事
GTim
2019-04-18 08:01:06 +08:00
对的

有空多整理整理教程,比如我的 https://www.twle.cn ,全部整理下来,一夜间感觉自己全栈了... 然后做事再也不极限于语言,想用哪个用哪个
TomVista
2019-04-18 08:16:57 +08:00
可别吹这个了,你从 Java 转到 js 试试....再牛的大佬该懵逼还是懵逼.
q397064399
2019-04-18 08:19:31 +08:00
@TomVista #28 把 js 当 Java 写不就好了,TypeScript 大雾 >_<
murmur
2019-04-18 08:23:40 +08:00
@TomVista js 50%的特性你是在开发中用不到或者可以用库、新的语法特性避免的,因为你不是框架开发者,他跟 java 不一样
举个例子以前循环保存次数变量用闭包,现在你不管闭包用 let 或者 bind 都可以搞定了,甚至在 jquery 年代都有用 data 方法把数据保存在元素上然后触发事件去元素上拿的操作
liuxey
2019-04-18 08:34:04 +08:00
然而很多情况下,语言限定了领域,领域限定了行业,行业又需要经验,转语言还是有成本的,当时我说的不是 web 工程 CRUD,这种就是搬砖,用哪种手套无所谓。
iamxiaoq
2019-04-18 08:38:07 +08:00
@GTim 老哥,有点厉害呀!
secsilm
2019-04-18 08:38:20 +08:00
信仰
reus
2019-04-18 08:42:02 +08:00
有的人连 26 个字母都认不全,他们的现实世界中也不需要其他语言

你会做这样的人吗?
q397064399
2019-04-18 08:43:44 +08:00
其实说到底这个世界上只有一门语言 那就是汇编语言,最接近机器,也是大部分人可以理解的抽象,把计算机当个大计算器 所有的计算机操作 无非是 读 写 运算 这三类 ,但是这玩意由于太过简单 ,而无法使用,至于简单到什么程度呢?基本上就跟你操作你手持计算机一样,而且大部分寄存器还保存在你脑子里面这样。

所有语言其实就分三类

C++流 恨不得干天干地干空气,生怕语言特性少了, 坚持要 0 开销,但是又要高层次的封装(其实这本身就是矛盾的,搞得 9012 年了,可选的 GC 最终还是难产了),就变成了今天这个鬼样子,不伦不类,好在大部分公司 /人只取一部分子集使用,但是由于语言本身功能太多,以至于几乎没几个人能完全把控。

C 流 万年只在汇编语言上做一丁点的抽象,不把任何高层的特性加入语言,一切用函数来搞定 (线程 协程 )本身定位很准确 就是高性能 坚持对汇编的 0 抽象,不带任何运行时 (其实我最建议学这门语言,真的学会了 C 语言,其它的语言都是渣渣 基本上没一个能打的,搞来搞去 无非是搞一堆有感知的抽象,来增加程序员的脑力负担,像 GC 这种我是举双手赞成的,但是实际上任何一种抽象还是避免不了 有感知, 例如 OMM 的时候)

Java/C#/Javascript 托管流 ,托管流才是码农日常的最爱,连内存回收这种擦屁股的事情都让机器搞定了,只要一顿乱撸,逻辑正确,程序就能跑起来,要运行时有运行时 高级码农搭架子,低级码农填业务,所有人都在框框里面,大家都不越界,开开心心撸码 高高兴兴下班。
TomVista
2019-04-18 08:47:46 +08:00
@q397064399 @murmur 好吧,我还是保留我的观点.

有几年工作经验的程序员,给他一两天时间,他完全可以用新语言,新平台,新框架写出一个简单的样例,但是这个样例,连玩具都算不上,完全不可能在短时间用新语言拿出一个完整的产品.

大家口中所谓换语言,完全实在工作环境下,已经有同事打好了基础,换语言不过是从多年丰富 xx 经验程序员,变成新语言的码畜,然后你要花费时间去了解学习新语言的生态,再然后循环往复 -----换语言-学习-换语言--学习----,最后啥都会,啥都干不成...某公司开了多少 40 岁往上的程序员??技术深度足够?会被扫地出门?

学的再快,你也赶不上在学校就就学完了的毕业生吧.缺码畜吗?

换语言要慎重,要保证自己技术生态的深度,毕竟是个人都转行程序员.
raptor
2019-04-18 08:49:00 +08:00
根本原因是:语言会限定你的思维方式,这一点才是致命的。

所以在常用的语言中,每个类型的语言都至少应该比较熟悉其中一种。

只会一个类型的语言是肯定不够的,更别说只会一种语言了。
visonme
2019-04-18 08:55:17 +08:00
掌握某种特定的技术比语言更重要,好比装修工种,每个工种都有主要的作业工具,但是他们工具包也会有其它工具的一些工具(作业的主要工具)

公司招人 XXX 工程师,其实是属于表述不明确,当然也不排除某个公司对招的人有误解,觉得会某种语言(工具)就掌握了某种技术
murmur
2019-04-18 09:17:37 +08:00
@TomVista 不换语言是不可能的呀
java、c/c++/asm 反倒是最健康的生态,这些语言不折腾,只专注语言本身的优化,框架也是一代比一代完善
反观前端,天天在闹革命,今天推翻这个明天推翻这个,还带着以帮后端语言在搞事情,以前是 node,然后是 erlang,现在是 golang,以后呢
hantsy
2019-04-18 09:25:57 +08:00
@TomVista 除非你说的 JS 是 ES5。

我个人主要写 Java,多年前工作需要,不时的切换前端写 Javascript, 个人表示毫无压力。ES6 以后的语法还有 Typescript 非常接近 Java 语法,还有 JS 下的 Gulp, Webpack 等 Build 工具,以及 Angular CLI 都是一路用过来。

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

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

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

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

© 2021 V2EX