TV Tropes Org

Forums

On-Topic Conversations:
Questions about Programming
search forum titles
google site search
Kickstarter Message
TV Tropes Needs Your Help
X
Big things are happening on TV Tropes! New admins, new designs, fewer ads, mobile versions, beta testing opportunities, thematic discovery engine, fun trope tools and toys, and much more - Learn how to help here and discuss here.
View Kickstarter Project
Total posts: [31]  1
2

Questions about Programming:

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.
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
Punch cards, baby. Punch cards.

 29 Tzetze, Thu, 2nd Jun '11 5:40:44 PM from a converted church in Venice, Italy
DUMB
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.
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.
 31 Jinren, Fri, 3rd Jun '11 4:31:12 AM from beyond the Wall
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

The system doesn't know you right now, so no post button for you.
You need to Get Known to get one of those.
Total posts: 31
 1
2


TV Tropes by TV Tropes Foundation, LLC is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Permissions beyond the scope of this license may be available from thestaff@tvtropes.org.
Privacy Policy