你怎么看待“文学编程”?

2015-08-12 19:32:27 +08:00
 Feiox

文学编程 wiki

另外,你怎么看待向 Python 这种弱化对符号的运用,转而使用英语单词来作为程序的主要组成部分,例如
yield from
a if b else c
if key in myset:
if var is False
with Abc as abc:
for k,v in itervalue.iteritems() 等。

LZ 的观点是非常喜爱,最近挺流行的 semantic-ui 也是使用了大量非常英语化的词汇。

7314 次点击
所在节点    编程
39 条回复
blacktulip
2015-08-12 19:43:08 +08:00
ObjC 是典型范例不?
DaCong
2015-08-12 19:46:36 +08:00
对于我这种因为noip而从pascal->C的人来说,总感觉用这么多词汇写东西有点不舒服,也许习惯了会好用吧
JamesRuan
2015-08-12 19:48:35 +08:00
不看好,因为英语是自然语言。人工语言长得像自然语言会让人产生在用自然语言的错觉。 除了在减低入门门槛上有好处,其他方面则没有什么好处。

比R里面有in 又搞出了个%in%,有&,又搞出了个&&,实际上缺反应了类型推导系统很弱。
bismarck
2015-08-12 19:51:07 +08:00
@JamesRuan 可以一定程度上提高可读性
sunyang
2015-08-12 19:52:08 +08:00
奇点到来以后会成为主流,现在还是幼生期
JamesRuan
2015-08-12 19:55:51 +08:00
@bismarck 反例很容易举出来啊,去看看haskell的代码,几乎没有符号(很多还是自己造的运算符,比如>>=这种),可读性很高吗?反之,很多情况下,简洁的符号就可以提高可读性(支持运算符重载的一个作用)。
bismarck
2015-08-12 20:00:33 +08:00
@JamesRuan 我觉得racket的代码就很好读,我没有说需要累赘的代码,简洁,直接的代码最好。我很欣赏对命名讲究的语言设计。
pepsin
2015-08-12 20:22:23 +08:00
Ruby 爱好者们据说已经下了这座山啦
Feiox
2015-08-12 20:22:46 +08:00
@bismarck 除了 racket 还有那些你觉得符合语法(或语言倡导)层面符合自然语言写法的编程语言呢?你对它们是如何评价的呢?
ffffwh
2015-08-12 20:25:40 +08:00
反过来还差不多,以编程的方式来写作
bismarck
2015-08-12 20:41:39 +08:00
@Feiox 我觉得Python,Ruby, Scala, F#等等也不错的,这些不一定是以“文学编程”为未来标准,但都显得很友好和很大程度顺应人的直觉。当然了,关键是在编程的时候,把实现写正确,遵循最佳实践。我的观点只是倾向于应尽力写出有表达力的代码和“笨”代码,减少注释成本和以后的维护成本。(并不绝对,视场景而定
imn1
2015-08-12 20:44:50 +08:00
COBOL语言?
msg7086
2015-08-12 21:27:32 +08:00
不同符号混着用多了本来就会产生反效果。

PS: a if b else c 其实可读性并不好。

Ruby里可以用one line if,像 x if a,也可以用one line else,像 if a then x else y end,比上述更不容易读错。
SoloCompany
2015-08-12 21:39:46 +08:00
AppleScript 笑而不语
oska874
2015-08-12 22:05:44 +08:00
自然语言要变成编程语言,最基本的是去掉二义性
nkssai
2015-08-12 23:16:31 +08:00
@JamesRuan haskell本身写dsl的能力也很强,从另一方面也可以撸出来倾向于自然语言的库。
qw7692336
2015-08-12 23:20:28 +08:00
coffee script怎么看
notcome
2015-08-13 03:19:58 +08:00
文学编程是这个意思吗?天啦……

文学编程是指把文档和代码写在一起,用不同的编译器选项输出文档和源代码。链接里讲的很清楚。

至于文学编程的应用……估计是死光了,目前比较主流的是像 Haskell 或者 Agda 之类的那样,发论文写书用。
sinxccc
2015-08-13 04:26:57 +08:00
@notcome TeX 还没死… 从头看到尾感觉就你是在说文学编程,其他人都在热烈讨论什么我表示完全看不懂=_=
notcome
2015-08-13 04:30:18 +08:00
@sinxccc 我估计是题主干的,他说的跟文学编程没关系。

不对,为什么是「题主」,逃)

我不太清楚 TeX,但似乎只有核心部分是文学编程整的吧,XeTeX LuaTeX 什么的也是用那个 WEB 写的吗?

而且我觉得这种东西吧,其实是与现代的模块化理论背道而行的,所以估计没什么前途。

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

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

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

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

© 2021 V2EX