感觉新的编程语言噱头大于改进

2023-10-08 16:08:26 +08:00
 gav1nvv

本人工作是 Go ,也会 Java 和 C++和前端 TS+React ,最开始做的 Java 后转的 Go ( Java 比 Go 熟),最近接触了 Rust 。 以下只是个人观点: 下面的代码实现相同的功能,只是语法不同,学过编译原理感觉只是语法分析的差异,为什么感觉越新的语言,实际的新功能或改进越来越少,往往是效率和安全性方面。 更多的是噱头和为了标新立异而标新立异( fn func function )以及添加一堆语法糖(虽然语法糖很好,但过多的语法糖本身也是学习成本),增加每个语言之间的壁垒,徒增开发者学习成本。

当然以下这里不包括 ts ,只是拿来举例,在我看来 ts 确实较 js 有大幅优化,减少大量编译错误,虽然需要建立 interface ,但有利有弊吧

// C++
#include <iostream>
#include <string>

std::string getExample() {
    std::string a = "example";
    return a;
}

// Java
 public String getExample() {
        String a = "example";
        return a;
    }

// Go
func getExample() string {
    a := "example"
    return a
}

// Rust
fn get_example() -> String {
    let a = String::from("example");
    return a;
}

/**
 * ts
 */
function getExample(): string {
  const a: string = "example";
  return a;
}


2857 次点击
所在节点    程序员
21 条回复
duli950523
2023-10-09 16:07:03 +08:00
你这个例子,就是拿汇编来,都没啥大差别。。例子也太离谱了

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

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

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

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

© 2021 V2EX