关于Smalltalk,squeak,scratch的学习体验(转)
来源:互联网 发布:韩宜淘宝旗舰店 编辑:程序博客网 时间:2024/05/19 01:12
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(面向对象编程)了,其他的暂时不敢多说,目前认识水平还不够。
- 关于Smalltalk,squeak,scratch的学习体验
- 关于Smalltalk,squeak,scratch的学习体验(转)
- Scratch编程初体验
- 首次体验Scratch编程
- 关于C++的学习体验
- Scratch编程初体验3-飞行的小猫
- Smalltalk的变量
- smalltalk《转至百度》
- smalltalk
- smalltalk
- 最早的MVC语言smalltalk
- Scratch 游戏项目学习法 —— 接苹果(一)认识Scratch的界面
- 关于BYOB与Scratch的对比与反思
- 关于BYOB与Scratch的对比与反思
- 学习Linux From Scratch的部分总结记录
- Scratch编程初体验-小猫跳舞
- Scratch的基础使用
- 关于FlashBuilder+C#的项目的学习体验
- VS2012 error : Required file tracker.exe is missing 解决办法(转)
- 什么是H2H的认识
- 打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源
- poj2486——apple tree
- Scratch
- 关于Smalltalk,squeak,scratch的学习体验(转)
- ADS1248
- 使用JPype实现Python调用JAVA程序
- hive 使用方法--小工具(二)
- python验证软件签名
- sublime基础配置(html环境)
- MMF2 光源制作教程(转)
- 设计模式(6)——适配器 Adapter
- 以太坊本地私有链开发环境搭建(转)