1
winiex OP 如果有 HUST 的师兄姐师弟妹,欢迎去我科技术宅小组一起来讨论啊。http://www.douban.com/group/topic/64405880/
|
2
nybux 2014-10-23 14:23:33 +08:00
我觉得只要基础知识扎实,换语言坑很少
|
3
cxe2v 2014-10-23 14:24:45 +08:00
看你从什么语言换到什么语言,比如从C#换到JAVA毫无压力。但是换到C就很痛苦了
|
4
winiex OP @nybux
嗯,赞同你的观点。基础本身对于技术人员来说是必不可少的。 不过我觉得,问题在于涉及到换语言的这个问题的话,比较急需的一些基础知识大学教的挺少的。特别是和语言范式相关的一些知识。我还是看了《程序设计语言》[1]这本书才知道有动态语言这个东西的。 [1] |
5
winiex OP |
6
winiex OP @cxe2v
我从 Java 切换到 Python 的时候,当时就对什么是属性,什么是 Lookup,什么是“动态”这些东西非常理解不能......。 我记得有个说法,就是程序员至少得各个范式的语言都学习一种,等到工作中切换语言的时候,受到的负面冲击就会小一些。 |
7
ren2881971 2014-10-23 15:04:30 +08:00
c + java +(python/ruby)都熟悉的话 就咋转都不怕了。
|
8
halfelf 2014-10-23 15:18:16 +08:00 1
毫无代价,目前可以直接写Ruby/Python/Clojure/Java
复习一两天可以直接写C/Cpp/Erlang/PHP 复习三四天可以直接写Scala/Objc/Rust/Perl/Scheme 其他任意可以在一周内上手。 用的越多,用新的边际成本越小 |
9
anjianshi 2014-10-23 15:22:04 +08:00
感觉换语言没有汽车换引擎那么严重吧,应该是相当于修摩托车的改行修电动车,呵呵
|
11
winiex OP |
17
halfelf 2014-10-23 15:50:28 +08:00
@winiex 惭愧,耽误过两年青春,经验不多,觉得学新的有意思就看看,看多了看新的东西会自动将概念映射到已学的东西上,幸运的是现在能决定技术选型所以就越用越多。
|
18
special 2014-10-23 16:02:39 +08:00
我个人感觉最难转的是 Haskell 等函数式编程语言,其他的,你熟悉了某个领域后,一般都很容易转,例如熟悉 Ruby on Rails 并且有 Javascripts 基础的,看下 NodeJS 的基础教程后,都可以马上上手写了。
跨领域转的话,例如楼主从 APP 开发转向后端开发,难点不是在语言吧,而是前后端思维的差别。 |
19
semicircle21 2014-10-23 16:04:12 +08:00
如果你试图教半路出家的学软件开发, 你就会觉得, 其实换个编程语言不算什么事..
|
20
mahone3297 2014-10-23 16:17:52 +08:00
大家都说好像成本很小。。。
我个人还是比较同意lz的意见,成本还是比较大的,各种坑需要好好踩一遍。。。 |
21
winiex OP |
22
winiex OP @halfelf 前辈是在创业公司负责技术吗?技术选型应该是一个需要多方面尝试的过程啊。一般架构师都懂的领域非常多的说。
|
23
Mutoo 2014-10-23 16:31:28 +08:00
七周七语言...嗯,这是一本书名。
|
24
YORYOR 2014-10-23 17:07:09 +08:00
换语言没什么难度 关键是各个语言的框架。都是坑
|
26
mingzhi 2014-10-23 17:21:44 +08:00
学过的语言的越多,发现相识之处越多,切换成本越小.
|
27
ibudao 2014-10-23 17:43:29 +08:00
认真学习一下编译原理相关的知识,换语言分分钟。。
|
28
winiex OP |
29
caoyue 2014-10-23 17:50:29 +08:00
从自己 C# 切换到 Erlang 的过程来说,感觉还行……
思维转换可能没那么快,但是多看多写多用,上手也不是太大的问题。 只能说达到使用的程度来说,不算太难。 不同语言互相印证的时候,还能有些意想不到的收获。 具体取决于工作内容吧,有的工作只需要会用,有的工作还需要创造性或者解决复杂问题,后者不是短时间能达到的。 |
30
Comdex 2014-10-23 18:50:21 +08:00
java切换到golang感觉还行
|
31
lygmqkl 2014-10-23 19:24:17 +08:00
思想的部分 会得到升华,毕竟各家都有特色,但是初期日子不会太好过,快速精通一门语言的高级部分是不现实的。。。
会增加学习成本,在初期会犯低级错误,比如用一些很“低级”的思想来处理问题。 |
32
SBv2ex 2014-10-23 20:06:21 +08:00
|
34
zhouzm 2014-10-23 20:10:57 +08:00
快速精通一门语言的高级部分是不现实的+1
了解一门语言是一回事儿,掌握一门语言又是另一回事儿了,应聘材料上写的精通多门语言(技能),有几个能真正做到的, |
35
iam36 2014-10-23 22:18:14 +08:00 via Android
@halfelf 结论尚可支持。
从你掌握的语言数量来说,你对掌握以及精通的定义太低了。 举个例子,我有用visual foxpro写网络爬虫,充其量自觉非常熟练,不敢称精通。 C,我写过银行用的商业代码,是代表公司的商业行为,而我对自己写c的认知是使用。干自己的活,绝不会首选想到用它… |
36
onemoo 2014-10-23 22:37:23 +08:00
会C、C++,正在学python,因为对网站感兴趣,还打算学学与前端相关的语言。我觉得一段时间内不用换了...
其实主要取决于你对计算机系统和各种语言范式的了解程度。对此领悟颇深,同时又熟悉较底层的语言的话,对各种语言都会适应得很快。 |
37
rainysia 2014-10-24 10:50:16 +08:00
在公司经常3个月java,3个月php,3个月python,5个月c#.来回切
|
38
wickila 2014-10-24 10:54:52 +08:00
在公司内部转换语言,代价就不大.一个是公司有人带,踩坑相对容.,另外一方面薪资水平也不会下降.所以需要切换语言的时候,尽量选择在公司内部切换,而不要跳槽切换.
|
39
xujiazhe 2017-09-26 12:26:12 +08:00
https://www.quora.com/How-do-some-developers-learn-a-new-programming-language-in-one-night
这个帖子有几点挺认同. 1, 学习一门新语言并不难, api, 库, 工具, 语言开发生态(如蓬勃发展的前端), 才是大头. 2, 怎么算掌握呢, 熟悉语言的运行时, 和 特点(python 的 GIL, JS 的函数式, Java 的 GC 坑, 写出很符合 C++语义的代码). |