Settings

Theme

Ask HN: Lisp as a first language?

2 points by TheDoctorWho 14 years ago · 7 comments · 1 min read


Hey all I decided to learn Lisp as my first language is this a good idea and can it be used to make games like pacman and space invader?

kls 14 years ago

You may want to give Racket a try, it is a LISP dialect and geared towards learning LISP http://en.wikipedia.org/wiki/Racket_%28programming_language%... . I wish I had learned LISP first it is so much different than the languages that get their linage from C or smalltalk. It frees you from the constrains of other languages and requires a lot of deprogramming to learn once you know another languadge. It's not going to be the easiest language to learn as a first languadge but there are a lot of advantages in doing so. Racket will help make it easier as it is designed as a teaching languadge.

  • TheDoctorWhoOP 14 years ago

    What makes you say that?

    • kls 14 years ago

      LISP is an expressive languadge and is very free form. JavaScript is very similar in their ability to manipulate even the core structures of the languadge and run time. As such they are very powerful. They give you freedom to do things that you just can't in other languages. They are free from the dogmatic constraints that other inventors choose for their systems such as OO or functional, etc. If ou want to write OO in LISP you build or download and OO framework, and you can do OO functional same thing. You can literally invent a sub platform within the run-time. This is also the reason that it becomes harder to learn, there is no OO standard or functional standard etc. and due to the nature of LISP developers there probably never will be one, as such it can make learning difficult. If it where not for Racket I would not recommend LISP as a first languadge.

      Finally as a note to those that know LISP, I know that LISP has CLOS for Objects but for the subject of this discussion it is safe to say that LISP does not have a standard OO implementation CLOS is an object system but it is so different from say Java or SmallTalk that I don't think it is fair to call it OO to a person just learning as it is not the type OO that people think of when they talk about OO.

pavelludiq 14 years ago

There are several lisp dialects. Some of them have even been used for comercial games. Common lisp and clojure(the two most popular dialects) can be used to write pretty much any kind of software. But as a first language, I don't know. Scheme(the third most popular lisp) was my second language, and i had no trouble with it, but i already had a year of python under my belt. i'd say learn python, ruby or javascript first.

  • TheDoctorWhoOP 14 years ago

    So then what is your suggestion for a first language and why is that your suggestion?

    • pavelludiq 14 years ago

      Doesn't matter too much. Any language that i listed will do the job. Just pick one and start writing code, any one of them will make learning lisp later easier.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection