Follow TV Tropes

Following

Questions about Programming

Go To

ViralLamb Since: Jun, 2010
#26: Jun 2nd 2011 at 1:07:40 PM

Try thinking of it like this: when you want to learn a foreign language, you can either pick French, Spanish, etc and learn it, or you can learn Latin, which won't let you speak a modern language, but will make it vastly easier to learn those languages later. Learning C++ or Java will let you program in C++ or Java. Learning to program in general will make it a lot easier to learn C++, or Java, or whatever.
I came across that theory when perusing constructed languages, but can't find the name for it. Makes sense.

Oh, get a good freeware text editor like Notepad++, if you won't be working in a commercial development environment. Syntax highlighting is one of the best tools available to make sure you aren't doing goofy stuff.
I already have Notepad++ luckily. I spent a few days learning C++, but I found the tutorial to be...Idk, I just didn't like it. I need to try again with something else.

Just try this. It's easy, nothing to install. Then come back and report.
Trying it now.

edited 2nd Jun '11 1:09:50 PM by ViralLamb

Power corrupts. Knowledge is Power. Study hard. Be evil.
ViralLamb Since: Jun, 2010
#27: Jun 2nd 2011 at 5:30:16 PM

As for where to begin... I cannot recommend The Structure and Interpretation of Computer Programs strongly enough.

Hm, the book looks a bit old, is that a problem? Otherwise, I really like the writing. Seems like a book I can get into.

edited 2nd Jun '11 5:31:29 PM by ViralLamb

Power corrupts. Knowledge is Power. Study hard. Be evil.
victorinox243 victorinox243 Since: Nov, 2009
victorinox243
#28: Jun 2nd 2011 at 5:35:40 PM

Punch cards, baby. Punch cards.

Tzetze DUMB from a converted church in Venice, Italy Since: Jan, 2001
DUMB
#29: Jun 2nd 2011 at 5:40:44 PM

Hm, the book looks a bit old, is that a problem?

No, not really; Scheme is still used (in fact the community's been flamewarring over the new standard, not that that's important), the math hasn't changed, and you can't do most of it in newer languages anyway.

[1] This facsimile operated in part by synAC.
ViralLamb Since: Jun, 2010
#30: Jun 3rd 2011 at 1:34:45 AM

Ok, problems with SICP....I can't get that MIT/GNU thing to work. Also, they don't support versions older then Windows XP, so is that problem? Do I have to get an older version of the language, or does Scheme not really change in all this time?

Also, why does the book talk about NONE of this? Doesn't tell you what you need, doesn't suggest anything. Just "Scheme", that's it. Nothing the internet can't solve, so that doesn't really matter I suppose. The book doesn't seem to assume you don't know shit. Intended?

edited 3rd Jun '11 1:59:34 AM by ViralLamb

Power corrupts. Knowledge is Power. Study hard. Be evil.
Jinren from beyond the Wall Since: Oct, 2010
#31: Jun 3rd 2011 at 4:31:12 AM

Doesn't tell you what you need, doesn't suggest anything. Just "Scheme", that's it.

Yeah it more or less is intended. SICP is about as close as most books come to being that mythical "general-purpose" programming guide, so it's intentionally distanced from details like which implementation to use (also, it was originally a university textbook: your professor is probably expected to have handled this detail already).

On the plus side, this means you don't actually need to use MIT/GNU Scheme. Any reasonably standard Scheme will handle the examples pretty much the same way. My personal favourite is Gambit; another good option might be SISC, which you can play with in your browser.

These ones don't come with an editor, but Notepad++ has a Scheme language mode so you should be OK starting with that (most of the early exercises will only need the REPL anyway). Once you get onto larger things, I have found the SchemeWay plugin for Eclipse to be pretty good.

Do I have to get an older version of the language, or does Scheme not really change in all this time?

Scheme has changed, but not that much. The best version for use with SICP is R5RS, which is the most common version (all three named above implement that). R6RS is newer but that's the big flamewar-inducing change to the language mentioned previously. The only thing to be really worried about is whether an implementation has full conformance to the standard, because SICP will make heavy use of things like tail-calls and first-class continuations, that many implementations leave out because they're harder to implement correctly.

edited 3rd Jun '11 4:51:11 AM by Jinren

Add Post

Total posts: 31
Top