注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

眼睛想旅行

技术就是我的生命与信仰!

 
 
 

日志

 
 
关于我

精通C,C++,python,Erlang。并熟悉各种其他编程语言,用cocos2dx游戏引擎作过几个项目。会MySQL增删改查,了解OpenGL渲染原理。懂单片机,能设计数字电路系统,会画电路图和设计电路板。喜欢了解最新前沿技术,并持续关注和学习新技术。

网易考拉推荐

关于Smalltalk,squeak,scratch的学习体验(转)  

2016-01-05 02:05:02|  分类: 软件设计方法 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
转自:http://blog.csdn.net/kissdestiny/article/details/38066881

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(面向对象编程)了,其他的暂时不敢多说,目前认识水平还不够。


  评论这张
 
阅读(194)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017