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

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

自己提下 python 吧,但只接触过一点,未实际项目,它有一种语法层面的整洁美,那个缩进。
4428 次点击
所在节点    程序员
62 条回复
leegradyllljjjj
13 天前
c sharp 的 lamda 表达式,java 一处编写 处处不能运行
catazshadow
13 天前
OCaml 那种没有循环的语言
DOLLOR
13 天前
python 虽美,但是贴在 v2 上缩进全部崩溃🐶
dcsuibian
13 天前
[img][/img]
xjpz
13 天前
<img alt="Scala 之美" src="https://imgur.com/a/1ztRcVM">
xjpz
13 天前
xjpz
13 天前
CodingIran
13 天前
@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
13 天前
几乎不用维护的代码最优雅,死代码才是好代码
suyabgaran
13 天前
美?那肯定是 Ruby 呀
yhxx
13 天前
说到美,那当然是我大 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
13 天前
还是觉得 C 最美:大道至简,大智若愚

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

目前这三点都做得很好的,在我用过的编程语言( C/C++, Java, C#, F#, Python, Haskell, Javascript, Rust )里,
nebkad
13 天前
@nebkad #33 Rust 做得最好
nebkad
13 天前
@little_cup #6 反对这个说法:

注释无误的情况下越啰嗦越好,编译结果一致的前提下代码越平庸越好,框架越大众越好。以往追求的美感,诸如逻辑单元的可复用性、「巧妙」的写法也很快会失去意义,因为几秒钟新写一个成本将远低于维护,不需要维护的代码的「美感」没有价值。


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

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

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

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

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

https://tanronggui.xyz/t/1108327

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

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

© 2021 V2EX