views:

218

answers:

3

Yes, I know these kinds of questions have been asked a million times, but it just seems no matter how much research I do, there are great arguments for every side you can think of. I know the standard/best practice would be to just 'try them all, and see which one you like', but I really would rather have a better idea before I dedicate a bunch of time to this. First off, I don't have any real programming experience. I've dabbled a bit here and there, but nothing for any length of time. The languages I'm most interested in at the moment, seem to be haskell, go, c, lua, and either rails, django, or lift.

Rails, Django, and Lift are obviously for web development purposes.. I don't know, python's syntax seems kind of more familiar to me, but it seems like the rails community is much larger. Are there any other options I'm not aware of in this field? Anyone have any experience with Lift?

I really do like the look of haskell.. does anyone know what it's normally used for? what it's not good at? Go seems cool too.. so is it basically a c++ replacement? what would it be most useful for? It actually seemed to get pretty crap results in this programming language speed comparison I found.. do things like this even matter? to what extent?

I've heard alot that there isn't one all-exclusive language.. you use each for what it's good for. I'm just trying to get a better idea of what these are.

A: 

Rails, Django and Lift are not programming languages, they are web-frameworks... And this fact tells me that haskell is not your choice for first language. Start with Python (language Django framework is implemented on).

Vadim Shender
well yeah I knew that.. I was just emphasizing the fact I wanted to learn them for the purpose of web development.
Chris Bolton
Python is really good choice to start, especially for one without real experience. Python is both simple and powerful.. and you know "batteries included".
Vadim Shender
what's your take on python v. scala?
Chris Bolton
Python seems to have more third party library support and seems to be have more general uses. Scala looks like a more specialised language.
Raynos
Concerning JVM I personally prefer Clojure :)
Vadim Shender
A: 

I would recommend giving C a go as your second language to get to grips with low level ideas and how things work "under the hood". But its not an easy start. Python is a nice introduction and allows for fast coding so its good for a sense of progress.

As for newer languages both go & D show potential. Where as c++, java & c# are common languages used in the IT sector. it all depends what your looking for.

As for haskell I'm not very aware of its commercial uses.

Raynos
A: 

By the sounds of it, you want to go for the Web Development Route, and you want to get stuff done quickly. Avoid C in this case

You've got plenty of options.

Ruby on Rails, Django (with Python), C#/VB for .NET, PHP, Grails (with Groovy) All have their upsides and downsides.

If cross platform compatibility is a concern or you are developing on a non-windows machine, avoid .NET. Otherwise all the above mentioned frameworks/languages will be suitable IMO.

Doozer1979