程序员第二门语言

280 天前
 anUglyDog

学习第二门语言是否会导致记忆错乱?这个有办法解决吗?包括语法、常用库用法、仓库代码组织方式这些。

8804 次点击
所在节点    程序员
92 条回复
darcyC
280 天前
看了楼上的一些回复,我也想分享一些我对这个问题的看法。

首先要指出,在任何的情况下,一个程序员只会 1 个语言作为自己的工具是完全不可能的事情,即便是一般的程序员,也通常都需要掌握多种不同的语言,通常会到近 10 种甚至更多(在这里我把 HTML 等一系列的标记语言也算在内)。

我看到 OP 已经提到了“标准库用法”这一关键字,我就知道楼主已经入门了,因为我们知道,除了语言本身,标准库的使用方法更是体现你是否掌握这门语言的一个考察点。对于这方面,我认为,在你已经学习了一个语言的标准库的用法之后,你不必担心你是否会混,是否会忘记,这是因为我可以百分百跟你保证,只要你不常用,即便你之前学过,你百分之百会忘记标准库里的类/函数/方法的用法(这里的用法包括脚手架代码,函数调用时参数的最佳实践等),此时即便你有 IDE 的帮助,你也会十分痛苦,就好像你的脑子开始重新载盘了(疯狂 swap )。

因此你看,这就是为什么我们有 Docs (文档)了,甚至还有诸如 DevDocs 的聚合文档供大神们使用了,再次重申,没人同时记得住这么多语言的所有用法,在你确保第一次搞懂概念后,泛化这个概念后,随他去吧,不要让记忆这些有的没的 API 阻碍了你的发展。
Mogeko
280 天前
当你学会新的语言后 即使太久不用 忘记了
捡起来也只需要五分钟
little_cup
280 天前
我觉得不仅要多掌握几门编程语言,有条件最好学一些不同的自然语言。多体会语言背后的设计思路和演化历程,才能用不同的视角来看待问题,发现不一样的世界。
roseduan
280 天前
月经贴又来了,看我之前的帖子吧 https://www.v2ex.com/t/891197
arnosolo
280 天前
依赖注入这个概念我是在 Android(Kotlin)的课程上学的, 但是最终用在了 Web(TS), iOS(Swift)和服务端(TS)上. 如果我只学过 js 的话, 可能这个概念我会一直不知道.
至于语言系统混乱的话, 会发生的, 但是不用担心, 文本编辑器会报错.
最后, 猜猜下面这段代码杂糅了哪两种语言.
CameraRoll.save (tag: uri);
dj721xHiAvbL11n0
280 天前
你可以学那种八竿子打不着的语言哈哈哈,这样混淆概率极低
layxy
280 天前
有时候会,可以依靠 ide 来解决
dog82
280 天前
不会错乱,但是会受第一门语言风格的影响
lasuar
280 天前
不同语言是不同的作者,本质上代表不同的思想,你需要让他们在你的脑子里发生碰撞,这样才会学会一些不常见的知识。这好比不同的 D 、不同的国家文化。踏出第一步,去做就行了。
lovedebug
280 天前
说实话会的,每门语言都有自己的习惯和使用方式。
一味的照搬代码也能运行,就是让同行读起来很奇怪,不顺畅。
zero47
280 天前
差异大的不会,差异少的也是不熟悉导致的。好的特性都是互相模仿的,比如 go 的协程和 java 的虚拟线程
jianrenjun
280 天前
对于普通人的我来说 学习多门可能不难 但是真的在工作中的时候快速切换稍微需要一点时间
mightybruce
280 天前
语法这些根本不用记,越用越熟练。
这个话题只能说 OP 接触的语言实在太少了。
不同语言的 programming paradigm 是不太一样的, 如果是同一类型的 paradigm, 那么是分分钟钟上手的。
多学学没坏处,就不会思维定势了。
fcfangcc
280 天前
同时写 Python ,Rust ,Go ,Java ,JS/Vue 的路过

除了有时候 括号/大括号/def,fn,function 会弄混乱,其他都还好。
waterlaw
280 天前
学个 c 语言就不错,不管你是干 Python, Java 还是 JS, Go, 它们底层都是用 c 写的。
pikko
280 天前
所以我 dock 上的 dash app 一直是重要的位置。
例如 a in b 这种语法在 js 和 python 完全不一样的用法,在 js 居然只能遍历索引。
这样查多了就好了,没啥需要纠结的。
wxw752
280 天前
会存在箭头是=>还是->偶尔搞错的情况,但是没关系,编辑器当场报错就改了。
43n5Z6GyW39943pj
280 天前
谁能记住这么多语法/api,忘了就看一下文档即可
thinkershare
280 天前
有时候会有一点混乱: 特别是相似很高的编程语言。目前我学过并写过项目的编程语言有:C#,Golang,C,Python,Java, TS,JavaScript,R.
学过的有: C++/Rust/Haskell 。
有时候真的会搞混一些语法。特别是这些语言中大量都是类 C 的,相似性太高,另外就是他们的惯用法差别还是很大,有时候换一门语言,就要换一种思考问题的方式。
wjx0912
280 天前
op 可能需要这个^_^
https://learnxinyminutes.com/

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

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

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

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

© 2021 V2EX