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

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

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

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

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

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

大家怎么看呢?

9643 次点击
所在节点    程序员
84 条回复
rocksolid
2019-04-18 10:40:32 +08:00
大部分人不是天才,语言和语言乍一看差不多,实际差异不小,很多人所谓的简单只是能上手用而已,写写业务代码没问题
chenjau
2019-04-18 10:45:11 +08:00
语言是一小块内容. 且触类旁通, 越学越快, 越简单. 在程序员的生涯当中, 学习语言本身所占比重不高,
如果熟练一门语言, 学一门新语言怎么也要不了一个月时间, 学一个星期可以干活也不算稀奇事.
当然, c 艹这种一辈子精通不了的腊鸡玩意除外😄️.
局限于一种语言, 不可能是能力问题, 而是态度问题. 人不能躲在舒适区太久的, 特别是对程序员而言.
我个人认为一般的程序员, 怎么也至少得掌握一静一动, 一高一低, 附带 shell.
fancyhan
2019-04-18 10:46:27 +08:00
没学过 haskell,不能称为职业程序员
ouhey
2019-04-18 10:47:05 +08:00
语言本身都比较简单, 但是要熟悉语言的生态比较费时间
momocraft
2019-04-18 10:48:16 +08:00
教你自己写程序在十年.html
anyele
2019-04-18 10:55:00 +08:00
我也认为, 单是语言不复杂, 有基础的情况下, 一个月肯定能入门, 但这个语言的一系列生态学起来很费时间, 就比如 C#转 Java, 两个语言非常像, 语言上转起来不费力 , 但你从 VS 到 eclipse 就会发现, 这 eclipse 是他妈什么玩意, 折腾了半天换成 IDEA, 纯英文界面,各种快捷键, 各种设置, 又要熟悉很久, 然后又是 Java 栈的各种库, 就这些一般人每个一年能玩熟练?
wupher
2019-04-18 11:35:57 +08:00
语言不重要,思想更重要,其它都是熟悉 library 和 framework。
neimengwuyanzu
2019-04-18 11:47:55 +08:00
我觉得就是至少其他语言给你看个东西 大致要描述出来这个方法 /函数是要干嘛的
wxl1380610
2019-04-18 13:44:59 +08:00
11 年入行现在 ,Android oc , c++ , php , c# , 打一枪换个地方 ,公司的项目需求 ,你要找最稳妥的解决方案 ,比如搞个 app 你不能搞个还不成熟的语言来写 , 到时候招人都不好处理 ,搞 windows 那一套还得要 C# c++ ,关键是别的他不认啊 ,看需求了 ,比如 开发啥 word 小工具啥的 , 语言还是有局限性的 , 语言只是工具 , 关键看需求 。
liygfg
2019-04-18 13:45:30 +08:00
@GTim 👍收藏了
wxl1380610
2019-04-18 13:50:10 +08:00
@GTim 牛逼
jorneyr
2019-04-18 13:58:01 +08:00
不受语言限制,但是和语言相关的库的生态不是谁都能够脱离的,除非都是自己造轮子。
shm7
2019-04-18 14:01:57 +08:00
脱离了语言,你啥都不会了,那是真码农。会一种,学以另一种知道类比、触类旁通,系统、算法还能写,这个叫程序员。
zhang77555
2019-04-18 14:02:40 +08:00
不应该被编程语言限制是因为学会编程语言本身并不能让你挣钱,通过编程语言解决问题才能让你挣钱,而目前针对不同的问题,适用的编程语言是不一样,而未来,需要解决的问题也是在变化的。随着工作年限增加,看看是你学会编程语言这事让你更值钱还是你参与过的项目让你更值钱就明白了。
empty9
2019-04-18 14:23:19 +08:00
我这种产品经理都会 n 种语言了,oc,java,lua 主要是移动端开发,js,php,java,sql 写写服务端。其实学习一门语言并不难。最重要的是你要有业务可以搞。
exch4nge
2019-04-18 15:03:32 +08:00
作为普通开发者,被编程语言或技术限定是没什么问题的。

不过作为优秀的开发者,被编程语言或技术限定了,那可能能力会遭到怀疑。基本上到后面大多数关注的语言与技术背后的原理及解决问题的思路,算法、数据结构、操作系统等等方面的基础肯定是必要的。

多学几种语言与技术,基础知识扎实,你就能根据经(zhi)验(jue)回答(cai)你没有学过语言问题的解决方案 /原理 /bug 原因。你可能不知道具体的某 API 名称,但是你知道这个语言肯定有这方面的 API 来解决问题。当然这时候学习一个新语言也会很快,你会关注不同语言的区别与特色以及在特定领域上的能力。遇到问题会根据需求,初步找到几种方案,然后经过各方面的权衡,最终选择一个合适的语言与技术去实现。

公司中的团队一般会选择某一些编程语言作为首选,所以一般招聘要求里找相关语言经验的人。不过仔细观察的话,现在很多职位招聘信息里只会强调熟悉 A/B/C 语言之一。

不过也没必要说限定语言就是输什么的,毕竟很多人目的不是要成为优秀的开发者,可能志在别的地方,可能对于他们编程只是个乐趣而已
no1xsyzy
2019-04-18 15:10:34 +08:00
我还没见过这种 “ Java 工程师”:你只需要会 Java,工作中不需要了解任何业务流程,也不需要了解任何流程的细节,你只需要会 Java。
之所以这么写只是因为大多数行业的业务流程非常朴素,并且前面的轮子在,那就没必要重新来过。
其实微服务的好处之一是不同语言可以轻松地共存。
但我还真没看到多少这么玩的。
no1xsyzy
2019-04-18 15:27:02 +08:00
@TomVista 我来反对一下,当时两天总共 12 个小时内厘清 tornado 怎么做,同时做出一个远程调用器,用于给不会 bash 的开发能够进行远程部署。
接触前甚至不知道 yield 出来东西后还能 send 回去另外一个,查清楚 xxx = yield zzz 在解释器的角度是什么意思花了不少时间,主要是没有合适的关键词。
结束后我甚至有几成把握从头撸一个协程框架出来。实际上在 asyncio 的循环上撸了一个 actor 式异步的框架。
cheerxl
2019-04-18 15:27:36 +08:00
会一种弱类型语言,比如 JavaScript,一种强类型语言,比如 C#,然后对 OOP 和 FP 两种范式都有所实践,那再学其他语言应该都不难吧
no1xsyzy
2019-04-18 15:28:26 +08:00
@exch4nge 编程只是个乐趣难道还会限定自己是 XX 程序员吗?

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

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

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

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

© 2021 V2EX