非过程式编程语言入门(系列)

windoze 2004-08-02 04:10:17
这一系列的文章正在更新中,我最终的计划是写一个专题系列,专门介绍在国内很少听到或用到但是又很有名或很有特色的编程语言。
计划介绍的语言包括Lisp、Prolog和SmallTalk,就这三种Functional、Logic-based和OO语言分别写一个入门教程,如果大家有足够的兴趣,我可以再把Functional语言作进一步介绍,比如Scheme、ML等(这是我比较熟悉的一部分,其它两类我本人也就是刚“入门”而已)。

目前已完成的章节有:
Lisp入门(一)——计算机语言中的常青树
http://blog.csdn.net/windoze/archive/2004/08/01/57693.aspx
Lisp入门(二)——基本操作符
http://blog.csdn.net/windoze/archive/2004/08/01/57722.aspx
Lisp入门(三)——函数
http://blog.csdn.net/windoze/archive/2004/08/01/57796.aspx
Lisp入门(四)——常用函数及实现
http://blog.csdn.net/windoze/archive/2004/08/02/58275.aspx

欢迎大家提出意见和建议,我的Blog是:
http://blog.csdn.net/windoze

PS.反正我的分多的用不完,顺便散一散吧:-)
...全文
266 点赞 收藏 23
写回复
23 条回复
无心人 2004年09月22日
俺有一本Smalltalk的教材,似乎也是国内唯一出版的的吧 :)

比较深奥,Smalltalk确实强大,但是似乎性能有点低

另外,我找不到比较好的smalltalk实现,找到的都是有点类似儿童玩具的东西,不是本身不强大,是找到的Smalltalk运行方式别扭 :)
谁有比较好的版本的Smalltalk推荐
回复 点赞
windoze 2004年09月19日
最近忙着工作变动,所以抽不出时间,对于所有等待续集的朋友,我在这里先说一声抱歉。

等到我在新的单位安顿下来之后我会继续这个系列,还望大家多多支持,谢谢。
回复 点赞
lixueqing 2004年09月01日
最近我看见一条消息VC++教学视频下载,是免费下载的,下载网址http://www.mybole.com.cn/video/video.asp,

上面还有Java的教学视频下载。VC++教学视频的详细内容介绍,可查http://www.mybole.com.cn/video/VCVideoCD
.asp。
我觉得很好,大家可以试一下
不错
回复 点赞
demo001 2004年08月31日
mark

lisp比较冷门哦
回复 点赞
YFLK 2004年08月26日
我喜欢Lisp,使用很方便,但只局限于AutoCAD中。对Prolog没有了解,只知道是用于人工智能。
楼主是热心人。支持!
回复 点赞
lodestar51 2004年08月25日
计划介绍的语言包括Lisp、Prolog和SmallTalk
好东西 呀!!
谢谢楼主了..
回复 点赞
Tomcat4 2004年08月20日
up
回复 点赞
budi 2004年08月13日
我想我们都会错意了。

软件只是我们的工具,没有哪个工具是可以称为博大精深的,它们的区别只是谁更适合某项工作。不会使用某个工具,我们可以认真看看说明书,不断动手加以验证,当工具不和手时,我们可以改造它,或者根据自己的需要重新制作一个。不要指望会有完美的工具,更不要指望自己能够造出完美的工具,是工具都会过时的,除非它在不断的改进中,能够紧跟工作的需要。

工作是真正的重点,我们应该更多的研究这个重点,不断修正自己的规划,作出决策。不断生产更好的工具是一个长期持续的过程,我们没有足够的时间观望和等待,我们已经落后了,学习有时会变成托词,而只有不断动手才有赶超的机会。

我们的工作不同,所以在分工上对各自的定位不同,看问题的出发点也不同,这没有什么可以争论的。我很支持你现在正在做的这个专题,确实很好,但如果能够超越Blog就更好了。
回复 点赞
windoze 2004年08月13日
我想你可能会错意了,我并不是说国产的Script好或不好,我的意思是说Lisp不是Script,而是一种通用的编程语言。毕竟,在我自己没有拿出什么像样的东西之前没有资格去批评别人的作品。
单纯实现一个脚本引擎并不是一个特别复杂的工作,至少在我看来如此,但是要设计一种合理、便利、易于扩展的语言就远非易事了。
一个程序是否发展下去取决于这个程序是否有发展下去的价值,我想大家都写过Hello World,但是恐怕没有人会打算拿它当作下一个程序的起点,不为别的,就因为这样做没有意义。
有一点我想你应该注意到了,如果你写过两个或更多的脚本引擎,你就会发现,从第二次开始你并不是从头做起的,尽管你可能没有用到以前的代码,但是以前的经验会让你的第二个、第三个脚本引擎更加完善。
模仿是创新的起源,但是我们不能单纯的模仿,应该理解原作者设计的动机和实现的手段,对于像Lisp、C++这样的“博大精深”的语言,深入的研究它们可以让我们创造出更好的“自己的Script”。

所以我现在不谈“我自己的Script”,先谈Lisp。
回复 点赞
budi 2004年08月12日
windoze: 你好,我看的书比较少,而且看过的书很快都忘了,在设计软件和编写代码的时候偶尔会想起一些,所以自我感觉脑子里没有什么框框。许多时候,特别是起步的时候,我们确实是在模仿别人,但我想为什么不能坚持下去呢?我们付出了心血,但却把自己的劳动成果抛在一边,追求一些有用但却更加虚幻的东西。你也写了几个脚本引擎,我很清楚这是多大的工作量,为什么不把它们发布并发展下去呢?难道仅仅是因为它们不太符合什么语言规范?还是有什么别的原因?
回复 点赞
windoze 2004年08月12日
Lisp之类的东西不是什么“国外的Script”,而是一种能影响你编程思维方式的通用编程语言。
至于你说的“国产的Script”,我还真的不太了解,有没有什么资料?
回复 点赞
windoze 2004年08月12日
1、从广泛意义上说Lisp是一个大家族,包括Common Lisp、Scheme、ML、Emacs Lisp等,它们各有各的“个性”,很遗憾,国内用Lisp的都很少,更别提什么“我们的有个性的Lisp”。另外,所谓“我的Lisp”我不大清楚你是指什么,是我写的Lisp程序?或者是我做的Lisp实现?很遗憾后者还不存在(那个所谓的Lisp48连半成品都算不上)
2、脚本语言(Script)定义不是很明确,就我个人的理解,脚本语言应该是一种简单的语言+具体的实现,从这个角度上来说,两者当然是不同的,Lisp是一种计算机编程语言的规范。
3、我也知道“国产的‘Script’”有不少,包括我本人都写过几个,但是大多为模仿,例如模仿JS或C或Lua等,而Lisp本身是Lambda函数理论的直接具现,你说有什么不同呢?
4、是否提供“完整”的面向对象支持并不是语言发明人宣称一下就算数的,如果以SmallTalk为准绳,你提到的Java、Python、Ruby都不算是“完整的支持面向对象”。我这样说并不是指责这三种语言有什么不好,只是衡量事物的标准不同,得出的结果自然会有变化。至于异同点/Thinking之类的话题,远非我在此三言两语就能说清,如果大家确实有兴趣,我可以开个新话题专门讨论。

PS.你所问到的问题让我有一个感觉,似乎你并不太清楚“语言规范”和“语言规范的具体实现”之间的差异,正如同C++和VC的差异。
回复 点赞
budi 2004年08月12日
windoze: 你好,给你几出个题目:

1、Lisp能影响编程思维方式,也就是说正在使用的Lisp都是非常有个性的,那么放眼国内我们有多少个有个性的Lisp呢?这些Lisp是雷同的吗?与国外的同行对照我们在思维上有什么异同点吗?同时我也很感兴趣,您的Lisp是什么样的。

2、Lisp为什么是一种能影响编程思维的通用编程语言,而不是普通的Script(脚本)。

3、国产的“Script”有多种,不说我自己的(lysee.oicp.net),CSDN上就能搜出好几个,只是发展阶段不同,易语言最早的版本也是脚本。我们的脚本与Lisp有什么不同?

4、SmallTalk为世界上第一种纯面向对象的语言,Java、Python、Ruby包括我自己的Script都提供了完整的面向对象支持,它们的异同点是什么,Thinking有什么不同。

如需协助请mailto: webmaster@lysee.oicp.net
回复 点赞
budi 2004年08月10日
建议楼主多写几种语言,特别是把国产的Script搜集一下,做个东西对比,个人觉得这比仅仅研究国外的Script具有更大的现实意义。
回复 点赞
WiseNeuro 2004年08月10日
继续,我用过prolog,知道lisp,但对其不熟悉.这两门语言比较适合人工智能研究.现在,prolog 最好的要数visual prolog 6.x了,可在http://www.visual-prolog.com下载学生版.大家可学习!
回复 点赞
zhangzhijian 2004年08月09日
楼主厉害,佩服呀!
回复 点赞
网络精灵 2004年08月09日
回复 点赞
lefteye 2004年08月09日
厉害,第一次听说有人会Lisp了。
回复 点赞
klbt 2004年08月07日
楼主厉害,佩服呀!
回复 点赞
qiuafa 2004年08月06日

ding !
回复 点赞
发动态
发帖子
其他开发语言
创建于2007-08-27

3058

社区成员

1.5w+

社区内容

其他开发语言 其他开发语言
社区公告
暂无公告