newLISP你也行 --- newLISP简介
by address-withheld@my.opera.com.invalid (F0)
at 2012-04-05 16:09:48
original http://my.opera.com/freewinger/blog/show.dml/44438562
#############################################################################
# Name:newLISP你也行 --- newLISP简介
# Author:黄登(winger)
# Project:http://code.google.com/p/newlisp-you-can-do
# Gtalk:free.winger@gmail.com
# Gtalk-Group:zen0code@appspot.com
# Blog:http://my.opera.com/freewinger/blog/
# QQ-Group:31138659
# 大道至简 -- newLISP
#
# Copyright 2012 黄登(winger) All rights reserved.
# Permission is granted to copy, distribute and/or
# modify this document under the terms of the GNU Free Documentation License,
# Version 1.2 or any later version published by the Free Software Foundation;
# with no Invariant Sections, no Front-Cover Texts,and no Back-Cover Texts.
#############################################################################
一 生命短暂
---我用newLISP.
本系列文章以官方introduction-to-newlisp.pdf为大纲,请相互结合学习.
如果你是以下几种人请尝试newLISP.
1:希望体验编程快感的人.
2:喜欢简洁的人.
3:喜欢高效的人.
4:喜欢自由的人.
5:喜欢突破的人.
6:实干主义者.
7:编码狂人,键盘破坏者.
8:希望找一门终身使用的语言.
9:珍惜时间的人.
10:珍惜生命的人.
如果你是以下几种人请速度尝试newLISP.
1:没有任何编程经验,却想学习编程的人.
2:讨厌繁杂呆板语法和高深教条的人.
3:对编程绝望的人.
4:想学lisp却始终无法入门的人.
5:初学完lisp,却不知道lisp能做什么的人.
6:想无痛体验lisp思想的人.
7:想使用lisp工作的人.
8:至今都找不到适合自己的语言的人.
9:想找一门简单强大语言的人.
10:不堪忍受复杂细节的人.
newLISP 将和你以前看到的别的LISP会有很大的差别,所以请将他看成一门全新的语
言.newLISP的最大特点就是自然简洁为应用而生.你不会看到太多的 "高级" 语法,当然更
不会局限于各种晦涩难懂的教条^_^.我发誓当你真正使用newLISP开始工作的时候,你会发
现这是你学过的最简单的语言!
如果你有过编程或者脚本编写的经验,你就会发现newLISP是一个简单易学,功能强大
的脚本语言.既具有传统LISP的优雅,又具有强大实用性:比如正则表达式,网络通信,
Unicode支持,多任务,等等.
如果你没有过编程经验,那就更好了.现在就开始newLISP之旅吧,你一定会不虚此行.
二.序
经过半个世纪的发展,LISP已经成为了一个语系.无论这些LISP方言之间有多少差别,
他们都遵循了一个至理---"All is Data".
当然newLISP不仅实现了LISP的核心lists,symbols,和lambda表达式.还加入了数组
(arrays),隐式索引(implicit indexing on lists and arrays),动态作用域和词法作用
域(dynamic and lexical scoping).
毫无疑问newLISP是如今最简洁的LISP,同样也是最易学的LISP.他比Scheme实现起来
都小.拥有350个内建函数,不超过260k的大小.内部实现使用大多数UNIX系统中常用的C库
函数.加载速度快,内存消耗小(60k).newLISP比别的流行脚本语言(python...)更快,消耗
更小.
newLISP使用dynamically scope(动态作用域),同时用context(命名空间)完成词法作
- 用域.context的作用很多.(1) 模块话编程,(2) FOOP(Functional Object Oriented Prog
ramming),(3) 定义保留状态的函数 (4)为关联键值创建hash树.
更多的功能细节请参看手册中的introduction章节:强大的N级嵌套列表操作,方便的
- 网络函数(IPV6,IPV4),64系统位支持,PCRE(Perl兼容正则表达式),import(轻松导入任何
共享库),原生的分布式支持,GUI-SERVER跨平台界面库(也可以使用GTK Tcl/Tk 和OpenGL)
.
三.资源
官网 http://www.newlisp.org 东西非常全,如果要老版本去SourceForge上,从v6到
现在的都有.
论坛 http://newlispfanclub.alh.net/ 大部分讨论,更新,问题,都在这里发布.
21分钟教程 http://newlispfanclub.alh.net/org/newlisp-in-21-minutes.html
中文版的<<newLISP代码模式>>
http://www.newlisp.org/CodePatterns-cn.html
作者邮箱 cormullion - at - mac.com.
项目 github.com 和 googlecode.com (因为家里无网更新,所以只能用google了555)
我的BLOG http://my.opera.com/freewinger/blog/ 有时间就更新点教程或者更新下
项目,毕竟不能天天上.
QQ群:31138659
Gtalk群:zen0code@appspot.com
四.开发工具
newLISP-Edit
newLISP自带的,使用gui-server编写(如果你是WIN32用户,要先安装jre).在安装完
newlisp以后,在桌面上会看到一个蜻蜓的图标名字叫newLISP-GS.然后右键点击图标-属性
把目标改成下面的内容:
java -jar "C:\Program Files\newlisp\guiserver.jar" 47011 newlisp-edit.lsp
然后点击图标就能看到IDE了.
ScitefornewLISP
http://code.google.com/p/scite-for-newlisp
这个是我自己用的scite组装的,具备了关键字高亮,自动提示,自动完成,括号和双引
- 号自动完成,还有就是可以很方便的使用gui-server(解决了路径问题,具体打开一个lsp文
件看工具菜单).如果不喜欢语法提示的可以找到newlisp.properties文件,把下面这行用#
注释掉.
api..lsp=$(SciteDefaultHome)/api/newlisp.api
改成
#api..lsp=$(SciteDefaultHome)/api/newlisp.api
其他任意的工具都可以,官方也提供了别的很多IDE的配置文件(VIM EMACS JOE..).如
- 果有你习惯的编辑器就可以直接用了,没有的话就用我提供的scite(跨平台,免费,小巧,方
便扩展).http://newlisp.org/index.cgi?Code_Contributions.
本系列教程的配色都使用scitefornewlisp的配置,txt版本请使用scitefornewlisp.
2012-04-01 22:44:58
html 彩色版本请看 http://code.google.com/p/newlisp-you-can-do