我真的是javascript的忠实粉丝.它真的是一个伟大的基于原型的OOP语言.现在我想学习一些其他基于原型的语言.真的对一些设计指南感兴趣,即如何在没有课程等的情况下管理代码.我应该选择哪种语言?基于原型语言的设计模式中的一些资源?
你的两个问题的答案都是自我.Self是原始的基于原型的OO语言,也可能是最好的语言(当然,对于"最佳"的完全不科学和主观的定义).(事实上,恕我直言,它(与Newspeak一起)是最好的OO语言之一.期间.)
无论如何,关于Self的好处是它还包含许多优秀的文档,包括但不限于使用SELF 4.0着名的自我教程基于原型的应用程序构造
Sun Research的旧自我网站上也有大量资源:
自我:简约的力量是1987年OOPSLA引入Self的原始论文
编程作为一种经验:对自我的启发是一篇关于1995年ECOOP的自我的回顾性论文
这两个(连同上面提到的教程)几乎可以解释你所询问的内容.(事实上,第二个问题几乎包含了你的问题"我怎样才能在标题中逐字管理没有类的代码"):
父母是共同的部分:自我的继承和封装
组织没有类的程序
然后,有自我; 电影,关于Self编程语言,Self GUI,Self系统和Self VM的介绍性视频,由Self的首席设计师和开发人员主演.不幸的是,它于1995年在VHS上发布,当视频最终被数字化时,原始磁带已经降级.您可以使用Smalltalk视频在此网站上找到多个版本的视频.我个人觉得最容易查看Large QuickTime.
这里有一些其他有趣的自我链接:
在Ward的Wiki上自我
自我链接列表
由曾经制作Self CPU的公司提供的关于Self的Wiki页面
自我gace的主要设计师Dave Ungar于9月份在斯坦福大学发表演讲,名为" 自我与自我":为什么以及为何如此.可以使用此演讲的流媒体视频.
Self的一个小问题是,它在1995年基本上被Sun抛弃,转而使用一种不起眼的小脚本语言,用于在电视机顶盒上制作电子电视指南中的动画卡通人物.(您可能听说过它,它被称为Java.)因此,最新的稳定版本4.3仅在PowerPC上的OSX上运行(也可能是 x86),在Sparc CPU上运行Solaris.几个月前,Self项目再次被一些前成员以及该语言的一些新粉丝所接受,现在它已被移植到x86上的Linux和OSX,可用4.4 Alpha 2发布可用,预计1月份发布最终版本.
其他一些有趣的基于原型的语言是:
NewtonScript(受Self启发)旨在成为Apple Newton PDA的应用程序开发语言; 它也是JavaScript的直接灵感
Slate是"一个干净的板岩面向对象Smalltalk风格的环境"
Io是一个基于原型的编程语言,受Smalltalk的启发(所有值都是对象,所有消息都是动态的),Self(基于原型),NewtonScript(差异继承),Act1(并发的actor和期货),Lisp(代码是一个运行时可检查/可修改的树)和Lua(小的,可嵌入的)
Ioke是一种基于原型的编程语言,受Io,Smalltalk,Lisp和Ruby的启发
至于你关于如何构建程序的问题,我必须承认我发现这些类实际上模糊了面向对象的设计.我的意思是,有一个原因,它被称为面向对象编程,而不是面向类编程.