Best Paradigm For a First Programming Course? 592
Keyper7 writes "The first programming course I had during my computer science schooling, aptly named 'Introduction to Programming,' was given in C because its emphasis was on imperative programming. A little before I graduated, though, it was decided that the focus would change to object-oriented programming with Java. (I must emphasize that the change was not made because of any hype about Java or to dumb down the course; back then and still, it's presented by good Java programmers who try to teach good practices and do not encourage excessive reliance on libraries.) But the practices taught are not paradigm-independent, and this sparked a discussion that continues to this day: which paradigm is most appropriate to introduce programming? Besides imperative and object-oriented, I know teachers who firmly believe that functional programming is the best choice. I'm interested in language-independent opinions that Slashdotters might have on this matter. Which paradigm is good to introduce programming while keeping a freshman's mind free enough for him/her to learn other paradigms afterwards?"
Re:The Basics. (Score:3, Funny)
Re:mathematica (Score:2, Funny)
I know I'd love to sign up for an intro to programming course whose basic software cost only four figures.
Re:Some combination? (Score:2, Funny)
Re:The Basics. (Score:3, Funny)
whitespace
http://en.wikipedia.org/wiki/Whitespace_(programming_language) [wikipedia.org]
Re:The Basics. (Score:3, Funny)
Re:The Basics. (Score:1, Funny)
Malbolge: "Malbolge has eight instructions. Malbolge figures out which instruction to execute by taking the value at [c], adding the value of c to it, and taking the remainder when this is divided by 94. The final result tells the interpreter what to do... After each instruction is executed, the guilty instruction gets encrypted (see below) so that it won't do the same thing next time, unless a jump just happened. Right after a jump, Malbolge will encrypt the innocent instruction just prior to the one it jumped to instead. Then, the values of both c and d are increased by one and the next instruction is executed."
take it old school (Score:3, Funny)
Start with LOGO. Turtle graphics all the way!
Then you choose your platform, and go with whatever version of BASIC runs on the 8-bit platform of choice: Apple ][, C64, Atari 800, TRS-80 or Coco, whatever.
Once you've mastered that, just jump to the future and go with 64-bit asm and contribute to Menuet OS [menuetos.net] .
Re:All of them. (Score:5, Funny)
doing functional programming through people for a loop at first.
Wow, that sounds pretty advanced. Functional programming, with loops, through people. I've never even heard of that new paradigm.
Re:How about Turing? (Score:3, Funny)
That and the Von Neumann [wikipedia.org] architecture. What is the point of a computer really? Add, Multiply, Divide. Talk about the fundamental basic instructions, not x86 but what is a mov (oh it moves something). Translate some C code into ASM to see how that works. I would really dive all the way in immediately. You're not going to get it as a first year, but you learn by repetition, and you need concepts like this drilled into your head. Build a linux box in class compiling all the packages. After about a week of that (and resolving dependencies), you'll understand about the real meat of programming, compiling. Guess what, most languages are pretty similar. It's the delivery that makes it hard. For instance, there are things in PHP you have to know but never have to know in C, because you're dealing with the web paradigm. Sessions? Non-existent in C (well, you know what I mean). But most PHP is never compiled, yet it runs! Why is this? Compare/Contrast. Berkeley is known for two things: LSD and Unix. This is not a coincidence. Etc.
The Basics-Lubrication. (Score:3, Funny)
"How these people survived is beyond me, but it is not the language's fault any more than it is the house's fault when the 30 year old child refuses to move out of his parents' house."
I'm sorry but the basement door is jammed so yes it's the houses fault.
Re:Functional (Score:4, Funny)