大家喜欢什么语言特性

编程语言很多,而它们往往有许多共同的语言特性,

  • 我最喜欢的是泛型(模版,鸭子类型),可以自定义数据结构,不用文本替换,生成大量重复代码。超喜欢cpp的STL.
  • perl内置的正则,比其它语言的好用,易懂。
  • python 的缩进,让屏幕多显示几行,看着舒服。
  • eval 元编程
  • 引用记数,垃圾回收,再也不怕内存泄漏了。 大家列一下喜欢的语言特性,我看看还有什么好玩的特性

重视语言特性,而不是语言

http://www.yinwang.org/blog-cn/2017/07/06/master-pl

你也是fexpr吹?

eval 和 f-expr 啥关系?

不用eval的话,fexpr怎么计算他的参数呢 :thinking:

结构化的语法,可以编辑器结构化的编辑和选择。

同象性+宏。

REPL。

内置的immutable data结构。

Swift的Argument Labels,写起来麻烦点,但是代码逐渐多了起来的时候会感觉很舒服

简化版理解就是,函数调用强制写argument name,当然各种用法多了去啦

func greetAgain(person: String) -> String {
    return "Hello again, " + person + "!"
}
print(greetAgain(person: "Anna"))

引用一篇我觉得还算中肯的文章

1赞

是什么?我查不到,我只是喜欢用eval 动态执行代码。

跟C++一样复杂坑多又不好扩展的语言,哈哈,我是cpp的狂热追随者,所以提出这个话题。 :grinning:

我觉得写最少的代码/不写代码能解決才是最好的,可能是我本身在抗拒编程吧。換个说法就是不需要描述问题解法以外的任何无直接关系的细节。

所以你是不是很喜欢古诗啊?

语言特性不是为了使代码少一点吗?,很多时候一个问题糅合多种语言特性才会让代码变短,但是cpp太多特性但是没有好看的语法,好多符号被占用导致写起来冗长,可以语言特性越少的的语言写起来才简洁,如vim的 map 绑定比emacs简单一点

1赞

古诗二义性好严重呀

不喜欢,不过倒是喜欢看证明。

请问,C++ 和 Objective-C 可不可以理解为 基于C上的代码宏啊?(Lisp 宏,不是C的那种)

你可以把 C 理解成 gas 的宏。写的足够精巧的宏和编译器沒有多少区別


gas: GNU Assembler

然而这话和 Monad is just a monoid in the category of endofunctors 一样是句空话,无益于增加任何实质上的理解。

:hot_face:不知道gas 是什么,我想C是 汇编的宏……

语言最重要的就是分享我们大脑的想法,编程语言就是分享给电脑
我们时常也会出现一些新的网络名词,感觉就是创建了一个新函数:通过三五个字表达平时几句话才能表达的意思

1赞

Lisp 宏和c 宏有什么区别?不受限制的文本替换?

lisp宏是元编程的一种方式,在lisp里代码即数据,用宏可以生成代码
c的宏只是简单的纯文本替换,宏编程能力还是有一点,不过很弱
元编程的方式有很多,比如模板,标注,类型反射等