可以讲下你看到的编程语言的美吗?

2025 年 1 月 30 日
 nnegier
我是写 java 代码的,感觉后续的一些语法更补不是很让人满意,只是写习惯了,不过也萌生了对那种编程语言的美的思考,表现力强,整洁优美,但我自身接触的语言实在有限,所以想想问问大家,如果可以,也希望可以附上一段你喜欢的代码。

自己提下 python 吧,但只接触过一点,未实际项目,它有一种语法层面的整洁美,那个缩进。
8312 次点击
所在节点    程序员
62 条回复
leegradyllljjjj
2025 年 1 月 30 日
c sharp 的 lamda 表达式,java 一处编写 处处不能运行
catazshadow
2025 年 1 月 30 日
OCaml 那种没有循环的语言
AV1
2025 年 1 月 30 日
python 虽美,但是贴在 v2 上缩进全部崩溃🐶
dcsuibian
2025 年 1 月 30 日
[img][/img]
xjpz
2025 年 1 月 30 日
<img alt="Scala 之美" src="https://imgur.com/a/1ztRcVM">
xjpz
2025 年 1 月 30 日
xjpz
2025 年 1 月 30 日
CodingIran
2025 年 1 月 30 日
@scp3125 Swift 有类似的处理:

```swift

// 从文件路径读取字符串,返回结果或错误
func readFile(path: String) -> Result<String, Error> {
Result { try String(contentsOfFile: path, encoding: .utf8) }
}

// 处理结果或错误
switch readFile(path: "/test.txt") {
case .failure(let error):
print("reading file failed: \(error)")
case .success(let contents):
print("reading file contents: \(contents)")
}

```
humingk
2025 年 1 月 30 日
几乎不用维护的代码最优雅,死代码才是好代码
suyabgaran
2025 年 1 月 30 日
美?那肯定是 Ruby 呀
yhxx
2025 年 1 月 30 日
说到美,那当然是我大 JavaScript
class Example {
#privateField = 42;

getPrivateField() {
return this.#privateField;
}
}


let x = (1, 2, 3);
console.log(x); // 3


['1', '2', '3'].map(parseInt); // [1, NaN, NaN]

还有这个字字珠玑:
console.log(0 == "0"); // true
console.log(0 == []); // true
console.log(0 == ""); // true
console.log("0" == []); // false
console.log([] == ![]); // true
cj323
2025 年 1 月 31 日
还是觉得 C 最美:大道至简,大智若愚

```
int main() {
printf("Hello, World!\n");
return 0;
}
```
nebkad
2025 年 1 月 31 日
我认为一个编程语言如果是美的,那么它可以通过自己的代码,来描述关于用它写成的程序自身的几个问题:
1. 我(这个程序)要解决什么样的问题
2. 我(这个程序)要如何解决这个问题
3. 我(这个程序)如何证明这个问题被解决了

目前这三点都做得很好的,在我用过的编程语言( C/C++, Java, C#, F#, Python, Haskell, Javascript, Rust )里,
nebkad
2025 年 1 月 31 日
@nebkad #33 Rust 做得最好
nebkad
2025 年 1 月 31 日
@little_cup #6 反对这个说法:
“
注释无误的情况下越啰嗦越好,编译结果一致的前提下代码越平庸越好,框架越大众越好。以往追求的美感,诸如逻辑单元的可复用性、「巧妙」的写法也很快会失去意义,因为几秒钟新写一个成本将远低于维护,不需要维护的代码的「美感」没有价值。
”

编程世界存在一些不可动摇的基础,否则整个世界如同流沙上的城堡。
只不过这些东西都被隐藏得很深,所以我们以为不再需要它们。
9LCRwvU14033RHJo
2025 年 1 月 31 日
简单是一种美。语法简单:C 语言。写出来的程序简短:Python 语言。
iintothewind
2025 年 1 月 31 日
@xjpz #27 Scala 的 control-flow 演示的不错, 但是有些地方我认为还是处理的不好,
几处 if-else 的嵌套如果用 pattern-match 是不是就不用这么多行了,
errorhandling 的分支都是 Ok(XXX)不是很认同.
Zien
2025 年 1 月 31 日
對我來說, 主要是各種 monospace 字體... IDE 各種 UI... 還有縮進...
mayli
2025 年 1 月 31 日
应该没有啥美不美,我觉得更多的是取舍(trade off)
就比如 java vs python

java 明显更工业化,适合巨型项目,py 的话,脚本还可以,短小精悍
更多的是语言适配了某个场景,比如程序员水平,业务需求,开发场景,配合得当就挺美的。
go 代码看起来丑,但是编译玩用起来不用折腾依赖库也很优雅。

另外我见过最让我惊艳的大概是 prolog ,虽然有些人吹 functional ,oop ,啥的,但是 prolog 感觉完全是另一种思路,甚至有种前 gpt 的感觉。
charlie21
2025 年 1 月 31 日
依赖倒置 DIP 在概念层面
控制反转 IoC 在设计一个软件的时候的设计原则/设计模式方面
依赖注入 DI 在具体方法层面

https://www.zhihu.com/question/265433666/answer/337599960# 阿莱克西斯: 为什么有很多人说 Go 语言不需要依赖注入? 依赖倒置原则与系统设计
https://www.zhihu.com/question/68611994/answer/298845862 在做程序员的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?

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

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

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

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

© 2021 V2EX