Erlang在简洁性方面落在简洁的范围内,比如简洁的Java/.net和更简洁的结尾的Ruby/Python之间的简洁性?我有一个RSI问题,因此出于健康原因,简洁对我来说尤其重要.
作为语言特征的简洁性定义不明确,可能不统一.根据问题,不同的语言可能或多或少简洁.
Erlang作为一种功能语言可以非常简洁,超越Ruby或Python.特别是模式匹配经常替换if语句和递归和列表推导可以替换循环.
例如,Java会有这样的东西:
String foobar(int number){ if (number == 0) { return "foo"; } else if (number == 1) { return "bar"; } throw new Exception(); }
而Erlang代码看起来像:
foobar(0) -> "foo"; foobar(1) -> "bar".
除了固有的例外,因为除了0或1之外没有输入的子句.这导致一个问题非常适合Erlang样式开发.
一般来说,任何你可以定义为转换的东西都会特别匹配一种函数式语言,并且可以写得非常简洁.因为许多功能语言狂热者认为编程中的任何问题都是转变.