广告栏目

你现在的位置: > 66 >

为什么几乎每个编程语言都有减法,减不就等于+(-n),减法不是一种冗余的操作么?



文章发布时间:2015/5/26 1:17:04



爆笑28个有关相亲的趣事文化:我们对祖先的称谓118万颗裸官定时炸弹需不需要引爆纪录片鲁迅传(经典珍藏版)【经典视频】 美国动作片《虎探追魂》

远方,思绪的翅膀如何挑选适合孩子阅读的书杏花人生最经典的感悟刘亚洲:伊拉克之战,美国何求?这边的美女最消魂[女性风韵]为什么鲁西南有大量回民分布?高贵之妖媚+《张玮伽家庭影院【致命切割】【野郎】【惊魂记】怎样提高教案质量?~哈伦裤~丽奇装的裁剪法治多发性毛囊炎验方唐朝李世民的儿子李恪没当上皇帝一年级奥数解题指导(第31讲):数阵假如爱有天意为医药代表“统方”,解聘!奶香酱烤茄夹的做法精美空间祝福问候语03教你制作永久QQ空间背景音乐外链温州模式遭遇尴尬警示经济转型勿入歧途奇谈一部关于畲族祖先的神话小说《无穷的地球谜团》(人类未解之谜新探索)高考志愿填报:看专业还是看兴趣我,想你了岛内争议“一国两区”

NSK 6005T1XZZ

NSK 6005T1XZZ

 

成功营销:抛弃你的大道理和绅士风度金正日死亡爆发战争?国军持续关注夜色迷人岛内争议“一国两区”

相关问题:


问这个问题是因为我在设计一个以最小精简无冗余为原则的计算机语言

网友回答:


为什么几乎每个编程语言都有减法,减不就等于+(-n),减法不是一种冗余的操作么?很显然,a-b比a+(-b)的可读性更强,需要敲的字符也少。

语法上冗不冗余,对编程语言来说其实并不一定是要放在首位的,只要这种冗余还能带来别的好处(如可读性、易用性),又不会带来不能容忍的坏处。

很常见的例子是在很多语言中都存在着一些语法糖(Syntactic sugar,en.wikipedia.org/wiki/S)。语法糖本身并没有让语言能够实现更多的功能,而只是让语言变得“更好用”了而已。

一门高级编程语言被发明出来一般是想让程序员的生活变得更美好的。窃以为,一切没有让程序员的生活变得更美好的编程语言都是不好的编程语言。当然众口难调啦,一门让程序员A痛不欲生的语言也许会让程序员B觉得这个语言还挺cool&nice的。


答友:减法当然是一种冗余

但是说到设计语言,如果精简到极致就不怎么是”语言“了,而变成了一种计算模型


答友:你是在写图灵机的模拟器么 或许你可以参考下Brainfuck这个语言


答友:如果执着于冗余来说,基本上高于机器语言的任何语言本省就是一种冗余
编程语言是方便人于机器交流的一种工具,而不是机器自己的语言


答友:对。不但如此,几乎每个编程语言最后都会编译成二进制的机器码,所以其实所有的编程语言都是冗余的,都是忽悠人骗钱用的。


答友:在设计精简的编程语言时,还要考虑语言的易用性。
几乎所有的语言设计者都在为使自己语言的核心变的小巧而努力,但在核心之外,又需要提供强大的API,可能臃肿但却提高了易用性。设计编程语言好比设计一个倒立的金字塔,最底层的核心必须要有良好的立足点,才能支撑其不断向上扩充。为了得到这个良好的立足点,则需要仔细地权衡这个语言需要什么,不需要什么。


答友:冗余是为了便于用户的理解和使用,这也是开发高级语言的原因。


答友:嗯,乘除也是冗余的,一个只需要循环加,一个只需要累加到溢出,循环也是冗余的,goto就够了,else也是冗余的,,,,,,,


答友:反问一个问题,为什么程序语言需要乘法,你自己一次一次往上“加”不就够了么


答友:那还要什么for、while、break、continue,直接goto不就好了。


文档类型:上传人:赵各庄子下载许可:是下载次数:4大小:597.5K所需奉献值:2

军情纪实 历史谜团-阿拉莫之役



新闻大连播版权所有
不存在相应的目录