BARBELITH underground
 

Subcultural engagement for the 21st Century...
Barbelith is a new kind of community (find out more)...
You can login or register.


Best introductory programming language?

 
 
locusSolus
13:54 / 23.04.07
I have three languages in mind. Common lisp, scheme, or ruby. I've looked around, and they seem to be the best candidates... I've also thought about python, but I personally find ruby to be more 'pleasant.' What do you think is the best introductory language of the three? On what grounds?
 
 
Saturn's nod
13:58 / 23.04.07
What are you intending to use it for? What's the context of your study? I think the answers to those question affect the choice.
 
 
Elijah, Freelance Rabbi
13:59 / 23.04.07
Ruby is a great language, however if you do not have a background in any other programming style then it might not work so well for you. The problem is Ruby automates things that you need to hack out manually in other languages, and while that makes it easier, it leaves you without an understanding of WHY things work. Lisp and scheme I have not poked at very much, but most of my coder friends are really into scheme.
 
 
luminocity
14:09 / 23.04.07
I think it is probably easier to get into scheme than lisp, because the syntax has been modernised somewhat. But they are very similar.
 
 
odd jest on horn
15:50 / 23.04.07
I like Ruby and Python. I know Python better, so I prefer it. I find that doing Perl stuff (recursing directories, grepping and stuff like that) is much nicer in Ruby, though.

Scheme is a *great* language to learn but I have heard it is a bit of toy when it comes to the RealWorld(tm). I've only ever used it as a learning experience.

Common Lisp is more sensible than Scheme, in that you have better access to libraries. I tried that at one time, but couldn't get along with it.

Ruby is a great language, however if you do not have a background in any other programming style then it might not work so well for you. The problem is Ruby automates things that you need to hack out manually in other languages, and while that makes it easier, it leaves you without an understanding of WHY things work.

Elijah, are you referring to Rails? If not, could you explain what gets hidden more in Ruby, than in other nice languages?
 
 
Elijah, Freelance Rabbi
16:42 / 23.04.07
Yeah, I was actually talking about rails, rather then pure ruby.
 
 
freon
23:10 / 23.04.07
I never got on with common lisp, partly because there were so few times it would have been really useful to me. If you do decide to go that route I would recommend the (online) book Practical Common Lisp. I found most lisp tutorials so theoretical that I found myself unable to get my head around how to apply it in the real world. That book gets you creating interesting applications such as an mp3 server.

I know it's not one of the languages you asked about and perhaps you'd rather not add any others into the discussion but I really enjoyed Java as a first language. There's a slight hurdle at the start when getting your head around object oriented programming but the syntax is nice and clean (or at least it is to me but then I'm a perl programmer so everything else looks clean in comparison!).

It really does depend on what your end goal is though.
 
 
locusSolus
00:22 / 24.04.07
Well, I'm an undergrad in physics major... I'm not looking for language for 'professional' use, although it'll certainly be good to have. Maybe in the distant future I'll try to study some AI techniques (the kind broached by Jurgen Schmidhuber... Well I can always dream big, can't I?).

Thanks for all the responses. If I don't plan on exclusively using the rails framework, ruby would make a decent first language, won't it?

If I want to choose from only between scheme and commonlisp, what would barbelithians suggest?
 
 
luminocity
05:24 / 24.04.07
I would suggest Scheme, along with "How to Design Programs" (www.htdp.org), which is excellent teaching material by Matthias Felleisen et al. Felleisen along with Daniel Friedman also wrote "The Little Lisper", which is a gentle, conversational-style leap into the deep end of abstract programming concepts. Any of their collaborations is heartily recommended.
 
  
Add Your Reply