程序员第二门语言

2024-03-13 20:51:40 +08:00
 anUglyDog

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

9423 次点击
所在节点    程序员
92 条回复
darcyC
2024-03-14 01:46:33 +08:00
看了楼上的一些回复,我也想分享一些我对这个问题的看法。

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

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

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

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