#############################################################################
# Name:newLISP你也行 --- newLISP簡介
# Author:黃登(winger)
# 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