Home
Sign Up
Sign In
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member
Sign In
Advertisement
V2EX
›
编程
[纯分享]怎么同时学会多个编程语言
xuld
·
1h 59m ago
· 201 views
所有编程语言的共同点是:
编程语言是从人类语言提取出来的一套符号子集,这套符号只提供两个功能:
1. 定义数据结构
2. 描述操作数据的算法。
语言的区别来自于符号的写法不同,以及语言的系统库对同一个数据有不同的数据结构,从而导致操作的算法也不同。
因此,学习一个编程语言,重点不是学习它提供了哪些语法和 API ,而是去学习它提供的语法和 API 背后是怎样的算法。
如果学到了这一层,你就会发现虽然编程语言有很多,但它们的基本原理都是一样的,这样你就能做到举一反三,快速掌握所有编程语言。
就像一棵树有很多叶子,你去记每个叶子,他们一天一个样,学起来很累。
你需要的是去找树枝、找树根,那知识量就少了很多,而且不大会变化。
以字符串为例。
字符串的目的是存储一串字符及个数。
那每个字符占多少位大小合适呢?
C 语言出现在内存还很贵的年代,每个字符只占 8 位足够。但 8 位字符无法存储中文等非英文符号。
因此后来的语言普遍采用了 16 位存储,包括 Java 、C# 等。但 16 位字符用来存英文又显得浪费,而且没法支持 Emoji 表情。
因此现代的很多语言(比如 Go )又倾向于改回 8 位存储,但利用 UTF-8 编码,可以在需要时切换成任意字符。
对于脚本语言来说,它们的核心目的就是减少学习成本,因此开发者不需要知晓字符串内部数据存储方式。
脚本语言的字符串内部结构通常是动态的,引擎会根据需要自动切换。(切换需要额外的性能开销,因此脚本语言总是慢于编译型语言)
如果知道了以上信息,那你就可以知道,同样是“你好”这个字符串,在不同语言取长度,返回的结果都是不同的。
而要在所有语言都取到 2 这个结果,那需要的 API 肯定也是不同的。
算法
数据结构
原理
2 replies
•
2026-05-09 13:00:06 +08:00
1
momocraft
1h 52m ago
建议不要只学 C 这类从硬件出发的语言,看看别的思想比如 SICP 再评论
2
cabing
1h 49m ago
描述需求,让 ai 帮你实践。
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Solana
·
5621 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 147ms ·
UTC 06:49
·
PVG 14:49
·
LAX 23:49
·
JFK 02:49
♥ Do have faith in what you're doing.
❯