|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
net网页编程程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net网页编程比。java程序员都是代码完成的,所以java程序员常戏称.net网页编程程序员是操作员,呵呵。保举一篇好久之前看的文章:Oberon-TheOverlookedJewel
它先容的是NiklausWirth计划的一种操纵体系,叫做Oberon。NiklausWirth就是人人熟知的Pascal言语的计划者。尽年夜部分人都没传闻过有Oberon这个工具存在,更难以把它跟NiklausWirth的台甫挂中计。以是作者说:“Wirth由于Pascal而出名于世,但是接上去几年,他成了Pascal的受益者。”的确是如许。Wirth一向都不以为Pascal是他的佳构。我想他应当会更喜好以Oberon出名于世。
Oberon比起Unix,有很年夜的分歧,在于它的数据都是布局化的。历程间欠亨过字符串互换数据,而是间接利用数据布局。很奇异的一点是,Oberon操纵体系是用一种同名的程序言语(Oberon言语)写成。使人惊奇的是,在谁人年月,ETH盘算机系的一切教人员工,先生,包含办公室的年夜妈,都是用的这类操纵体系。
操纵体系的计划,真是天外有天。
之以是找到这个体系,是由于我一向在试牟利用程序言语的计划道理,计划一种超出“Unix哲学”的操纵体系。这里是我的假想:
- 这类体系内里的程序间通讯不利用无布局的字符串,而是利用带有范例和布局的数据。在如许的体系内里,“程序”的观点基础上完整消散。体系由一个个的“函数”构成,每一个函数都能够挪用别的一个函数,经由过程参数传送数据。每一个函数都能够并发实行。
- 因为参数是一个数据布局,而不是字符串,这制止了程序间通讯烦琐的“编码”和“解码”历程。使得“历程间通讯”变得十拿九稳。任何函数都能够挪用另外一个函数来处置特定范例的数据,这使得像“OLE嵌进”如许的机制变得极为复杂。
- 一切函数由统一种先辈的初级程序言语写成,以是函数间的挪用完整不必要“翻译”。
- 因为这类言语不同意使用程序利用“指针运算”,使用程序不成能发生segfault一类愚昧的毛病。
- 因为没有指针运算,体系不再必要古代处置器供应的“内存映照”机制,和TLB。这使得内存会见效力年夜幅进步。并且简化了处置器的计划。
- 操纵体系利用与使用程序不异的初级言语写成(大概必要撑持一些“特权操纵”),至于“体系挪用”,只不外是挪用别的一个函数。
- 操纵体系的“shell”,不外是一个这类初级言语的REPL。用户能够在终端输出各类函数挪用,从而启动历程的运转。
- 体系不必要SQL,不必要干系式数据库。一切的数据都作为“对象”,保留在一个散布式的数据空间。
- 体系不必要“文件体系”。一切的数据,包含“历程高低文”主动被“版本把持”,在符合的时分作为对象同步到磁盘。以是即便在呆板失落电的情形,尽年夜部分的数据和历程可以在电源恢复后主动持续运转。
- 程序员和用户完整不必要晓得“数据库”大概“文件体系”的存在。程序假定本人具有无量年夜的空间,能够恣意的机关数据。
- 为了削减数据的挪动,体系依据数据的地位,选择:1)迁徙数据,大概2)迁徙处置数据的“历程”。程序员不必要利用MapReduce,Hadoop等,就可以举行年夜范围并行盘算。
- 这个操纵体系是云云的“分歧”,以致于一切的用户和程序员,只必要学会一种很复杂的程序言语。
我已经觉得我是第一个想到这个做法的人。惋惜的是,查询拜访以后发明,良多人早就已做出了相似的体系(固然短少对把它用于散布式盘算的假想)。LispMachine仿佛是个中最靠近的一个。Oberon是别的一个。我只能说,好汉所见略同。
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。 |
|