A Melbourne Life

May 20, 2008

Learning LISP

Filed under: LISP, Tech — Tags: , , , — jaseadams @ 5:17 pm

Having never programmed before (apart from simple programs for the TI-83 calculator in high school), i have decided to learn a programming language: LISP.

Why Program?

I am interested in programming for 2 main reasons:

  1. Learning enough to build a web application
  2. Learning LISP to develop a new way of thinking and enhance my problem solving ability. While i am confident in analysing things i am studying at university (financial problems and applied calculus), i believe programming will develop my ability to break down large problems effectively and develop logical reasoning.

Why LISP?

  • I was greatly influenced by Paul Graham’s essays on LISP. Wanting to develop a web application, and Paul having done that successfully made me take notice. Additionally, there were other web applications that i used and liked that were developed in LISP: reddit, twitter.
  • LISP is intuitive for non-programmers. Having reviewed code from a number of other high level languages (Python and Ruby), i was able to understand LISP code much more easily. The process of defining and executing functions seemed much simpler for me to understand in LISP.
  • There seems to be a friendly and accessible LISP community from which i feel i will be able to get assistance. There are also sufficient resources/tutorials on the web which will enable self-learning.
  • Having a outside interest in AI was a side benefit in learning LISP
  • With regard to developing a web app, Python seems to be a better language to learn. There are a number of web frameworks to choose from as well as a massive community and numerous resources. Most of the web applications also seem to be developed in Python. A large negative of me not learning Python was that the syntax seemed too difficult for me to quickly understand and implement. I felt that i would soon abandon learning to program due to this.

How?

After reading Paul Graham’s essays and skimming over some web tutorials, i have decided to do the following things:

  1. Download a Common LISP implementation. On my Windows XP machine, i downloaded Lisp in a box. On my Mac, i downloaded LispWorks Personal Edition. Both are free and fully contained ( i did not have to download any additional software to run LISP.
  2. I ran through the Lisp Primer by practicing the examples
  3. I am currently reviewing Common Lisp: A Gentle Introduction to Symbolic Computation. This seems to be a great resource for a new programmer. I am going over each chapter in a detailed manner – taking notes and doing all the exercises. I am aiming to cover one chapter every two days.

I am currently on Chapter 3, so far everything is going well and the book is easy to understand. I will update this as a progress.

No Comments Yet »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.