关于Smalltalk,squeak,scratch的学习体验

Smalltalk和许多程序设计语言不同,它不仅仅是一门语言。1、一种面向对象的程序设计语言:它是一种面向对象的语言,包含语言的语法和语义。一些编译器可以通过Smalltalk源程序产生可执行文件。这些编译器通常产生一种能在虚拟机上运行的二进制代码。Smalltalk语言本身非常精炼。2、一种程序设计环境:这里指的是一种提供许多对象的系统,而不是某种特殊的开发环境。和许多语言不同(包括C++),Smalltalk附带有一个巨大的、相当标准的类库。这些 类 使得开发Smalltalk程序的效率非常高。在其它语言(例如 Ada,C 和 Pascal )中通常被作为语言的一部分的功能(例如条件判断,循环等),在Smalltalk由特定的类提供。3、一个应用开发环境(ADE):由于Smalltalk的历史原因,它具有一个非常优秀的高度集成、开放的应用开发环境。由于开发环境中的浏览器、监视器以及调试器都由同样的源程序衍生出来的,不同的版本之间也具有相当好的兼容性。此外,这些工具的源程序都可以在ADE直接存取。

Squeak是一个现代的,开源的,功能齐全的Smalltalk程序设计语言和执行环境。Smalltalk是一个面向对象,拥有动态类型和反射特性的程序设计语言,用来支持“人机共栖”这个“新的世界”的计算典范。像Lisp一样,它有影像式持久性(image-based persistence),所以通过语言本身能对所以任何事物进行修改(参见Smalltalk#反射)。

Smalltalk在面向对象编程和JIT及时编译等方面给行业带来了深远的影响。Squeak是在广泛开发项目中使用的工具,包括多媒体应用,教育平台和商业网络应用程序等。

Squeak被设计为高度可移植的,调试,分析和维护亦是如此,这是因为Squeak的虚拟机完全用Smalltalk编写的,Squeak的主页维护着免费的教程列表,Stéphane Ducasse则维持着大量Smalltalk和Squeak相关的在线书籍。现如今使用最广泛的,采纳了许多Smalltalk的设想的语言是Objective-C。

Scratch是一种基于Squeak、并由Squeak实现的可视化程序设计语言。通过让孩子们创建游戏,视频和音乐,达到教会孩子们一些编程概念的目的。

在Scratch中,所有的互动物体,图形和声音都能够很轻松的导入到新的程序,通过新的方式将其组合,通过这种方法,初学者能够很快的看到结果,并且有兴趣深入学习下去。

在Scratch社区中,已经开发和上传了超过100000个工程项目。Scratch是由MIT多媒体实验室开发的。

小结

最近要编写一个Scratch的改进版本,添加其他编程语言的支持以及和硬件交互,只好硬着头皮去查找相关资料,下载到Scratch源码后发现源码打不开,居然有记事本不能查看的源码。经过一番折腾才知道ide环境是squeak,但是squeak也无法打开Scratch镜像 image后缀的文件,一定是打开方式不对…

其实image镜像用Scratch软件可以直接打开(看说明不够仔细,没发现这个细节),但是打开也看不到什么具体的代码,跟程序运行的界面基本一样,只是界面可以拖拽删除(鼠标左键,右键,滚轮点出不同的菜单)。

在一段时间的使用后不得不承认,smalltalk是我见过的编程语言(C,C++,JAVA,C#,python,php,object-c)中最为面向对象的语言。可视化的编程(可以说是强制性的可视化编程),没有main函数(反正我没找着)。看来要重新认知OOP(面向对象编程)了,其他的暂时不敢多说,目前认识水平还不够。

ps:关于Scratch,squeak,smalltalk的介绍来自百度百科.

kissdestiny

2014-07-23

,人生至少要有两次冲动,一为奋不顾身的爱情,一为说走就走的旅行。

关于Smalltalk,squeak,scratch的学习体验

相关文章:

你感兴趣的文章:

标签云: