# 一、七语言核心差异速查
1. ## 类型系统
| | JS | Java | C | C++ | Python | Go | C# || --- | --- | --- | --- | --- | --- | --- | --- || 静态/动态 | 动态 | 静态 | 静态 | 静态 | 动态 | 静态 | 静态 || 类型检查 | 运行时 | 编译时 | 编译时 | 编译时 | 运行时 | 编译时 | 编译时 || 强类型 | 较弱 | 强 | 中 | 强 | 中 | 强 | 强 |
### python
Python:变量类型可以随时变x = 10x = "hi" # 完全合法java// Java:类型一旦声明不能变int x = 10;x = "hi"; // ❌ 编译报错
2. ## 内存管理
| 编程语言 | 管理方式 | 指针支持 || --- | --- | --- || JS | 自动GC | ❌ || Java | 自动GC | ❌ || C | 手动 malloc/free | ✅ || C++ | 手动 + 智能指针 | ✅ || Python | 自动GC | ❌ || Go | 自动GC | ✅(有限) || C# | 自动GC | ✅(unsafe) |
### c
// C:必须手动释放,否则内存泄漏int* p = (int*)malloc(sizeof(int) * 10);p[0] = 42;free(p); // 忘了写 = 内存泄漏
### cpp
// C++:智能指针自动释放auto p = make_unique
(42);// 离开作用域自动释放,不需要 delete
====================================================================
3. ## 面向对象
| 编程语言 | 类 | 继承 | 接口 | 私有成员 | | --- | --- | --- | --- | --- || Python | ✅ | 多继承 | duck typing | __字段 || JS | ES6+ | extends | ❌ | #字段 || Java | ✅ | 单继承 | implements | private || C | ❌ struct | ❌ | ❌ | 无 || C++ | ✅ | **多继承** | 虚函数 | private || Go | ❌ struct | **组合** | 隐式接口 | 首字母大写=公开 || C# | ✅ | 单继承 | interface | private | go// Go 没有类,用组合代替继承type Animal struct { Name string }func (a Animal) Speak() string { return a.Name + " speaks" } type Dog struct { Animal } // 组合func (d Dog) Speak() string { return d.Animal.Speak() + " woof" }
4. ## 错误处理
| 编程语言 | 方式 | 特点 | | --- | --- | --- || JS | try/catch + Promise | 异步用 .catch() || Java | try/catch + throws | **受检异常必须声明** || C | 返回值 + errno | **没有异常机制** || C++ | try/catch | catch(...) 捕获所有 || Python | try/except + raise | else 块(无异常时执行) || Go | **多返回值** | panic/recover 少用 || C# | try/catch | 异常层次丰富 | ```go// Go:用多返回值代替异常result, err := divide(a, b)if err != nil {log.Fatal(err)}``````java// Java:受检异常必须处理public void readFile() throws IOException {// 调用者必须 catch 或继续 throws}``` --- | 编程语言 | 机制 | 语法 | | --- | --- | --- || JS | Promise + async/await | async function || Java | CompletableFuture | thenApply || C | ❌ 原生不支持 | 手动线程 || C++ | C++20 coroutines | co_await || Python | asyncio | async def + await || Go | **goroutine + channel** | go func() || C# | Task + async/await | async Task
| ```go// Go:goroutine 是最简单的并发go func() {result := fetchData()ch <- result}()data := <-ch``````javascript// JS:async/await 最直观async function fetchData() {const res = await fetch(url);return res.json();}``` --- | 语法 | JS | Java | C | C++ | Python | Go | C# | | --- | --- | --- | --- | --- | --- | --- | --- || 行尾分号 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ || 大括号必须 | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ || 默认参数 | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ || 多返回值 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ || 空值 | null/undefined | null | NULL | nullptr | None | nil | null || 逻辑AND | && | && | && | && | and | && | && | --- | 编程语言 | 独特功能 | | --- | --- || JS | 原型链、事件循环、动态对象 || Java | 注解(Annotation)、反射、受检异常 || C | 指针运算、直接内存操作、位域 || C++ | 模板元编程、RAII、STL、多继承 || Python | 列表推导、装饰器、duck typing || Go | goroutine、channel、多返回值、切片 || C# | LINQ、属性(Property)、async enumerable | ---
======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================