以下只是个人观点:
下面的代码实现相同的功能,只是语法不同,学过编译原理感觉只是语法分析的差异,为什么感觉越新的语言,实际的新功能或改进越来越少,往往是效率和安全性方面。
更多的是噱头和为了标新立异而标新立异( fn func function )以及添加一堆语法糖(虽然语法糖很好,但过多的语法糖本身也是学习成本),增加每个语言之间的壁垒,徒增开发者学习成本。
当然以下这里不包括 ts ,只是拿来举例,在我看来 ts 确实较 js 有大幅优化,减少大量编译错误,虽然需要建立 interface ,但有利有弊吧
// C++
#include [i]
#include
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;
}
string, return, example, getexample