www.hacketyhack.net is an integrated environment for learning ruby, the hardest part of learning ruby is setting up ruby on a web server.
Ruby or Python? I'm getting mixed signals!
What programming language should I start with?
31–40 of 117 posts
Re: What programming language should I start with?
#32Just curious, but would anyone recommend Javascript?
Implementations and libraries are a drawback. I think the best way to learn a language is to build something interesting using it, and the only thing that's easy to build with Javascript these days is the client-side part of a website. Doing that also requires CSS and HTML, which the OP should probably learn a bit about, but it might be distracting to do that while he's trying to learn the fundamentals of programming. Trying to learn Emacs at the same time I was learning Lisp was distracting for me. I don't think browser incompatibilities are a reason to shun JS; unless you're building something for a website used by the general public, just target Firefox. Use Firebug to learn what's going on with your code and track down problems. Once you know what you're doing, it's more tedious than difficult to get it working on other browsers.
If you already know how to make web pages, or really want to learn, JS is probably a good choice. If not, it probably isn't. It's probably best to can figure out what sort of project you'd like to build, and then learn a language well-suited to building it.
It's possible to use Javascript for other purposes, but it's not yet easy. In a couple years, that might change - Steve Yegge seems to think it's the "next big language".
Re: What programming language should I start with?
#33Just curious, but would anyone recommend Javascript?
For a first language, look at Python/Ruby and choose what you're most comfortable with.
Re: What programming language should I start with?
#34I'm learning on Lisp, and it's kind of weird. I'm using Practical Common Lisp ( http://www.gigamonkeys.com/book/ ) and I have to reread chapters a few times to really understand them. I downloaded Lisp in a Box for it, and that is weird because it's rickety. The tutorial isn't there, and it will keep kicking me out of the SLIME. I'm in the middle of a four-month vacation, but progress is pathetic. Lisp in a box and P…
The Structure and Interpretation of Computer Programs is a great book for learning the fundamentals of programming. It happens to use Scheme, a dialect of Lisp. If you want an academic introduction to programming, it's one of the best. I haven't found anything as good that takes a more pragmatic "let's build something useful/fun and learn to program in the process" approach, but I bet someone else here has.
Re: What programming language should I start with?
#35Re: What programming language should I start with?
#36Dare I say Java? Seriously though, Java is a good programming language to start with. You get used to C style syntax, but don't have to much with memory management and architectural differences. Plus you can use Eclipse, a great IDE, for free!
Re: What programming language should I start with?
#37Preferred: Python. clean, elegant, pure, simple, easy. Just fine: Ruby. good, but less simple and elegant than Python. Good if you want to deeply understand the principles of being a programmer but don't care about being very practical at the start: Lisp (yes, Lisp can be practical, but it's trouble for a newbie) Avoid: Perl, PHP, BASIC variants. These cause brain damage.
SICP uses Scheme (a Lisp dialect) and falls under the "deeply understand but not practical at the start" category.
Re: What programming language should I start with?
#38Then, once you've got your feet wet, learn another one. I feel like I never understood one language until I could compare it to another.
Python and Ruby are great for hammering out functionality and learning. Common Lisp/Scheme are great for widening your perception of how problems can be solved. I don't want to say much about C because I'm not proficient with it, but it definitely gives you a closer feeling to how your computer runs your code even if it obfuscates the problem a little. Learn Haskell/OCaml when you're feeling lucky. They will break your brain and then rebuild it in crazy, inventive new ways.
Re: What programming language should I start with?
#39As for mind expanding, I like Scheme - as taught by MIT in the SICP series (you can watch the videos on google video). It would be interesting to see that taught to someone new to programming (sorry to make an experiment of you !). Someone tried to teach this stuff (kind of) to me once in miranda (didn't work to well as a first programming language).
As for practical messy stuff, then look into Java (for basic static strong typing and endless tools) and Perl if you must, the basics of C to wrap your head around pointers may help - I learned that around the same time as motorola assembler (much nicer then intel) and it helped form a mental model of 'on the metal' computation which I found helpful.
Another angle: Haskell seems to be popular for functional programming (as it is pure) - many people think functional's time has come, and there are some useful videos introducing it here: http://sequence.complete.org/hwn/20070807
Stick to things where you can get all the tools you need for free on the platform you use (and they are easy to get running).
Re: What programming language should I start with?
#40As for mind expanding, I like scheme - as taught by MIT in the SICP series (you can watch the videos on google video). It would be interesting to see that taught to someone new to programming (sorry to make an experiment of you !).
As for practical messy stuff, then look into Java (for basic static strong typing and endless tools), Perl if you must.
Another angle: Haskell seems to be popular for functional programming (as it is pure) - many people think functional's time has come, and there are some useful videos introducing it here: http://sequence.complete.org/hwn/20070807
Stick to things where you can get all the tools you need for free on the platform you use (and they are easy to get running).