Learning how to program (23, permasaged)

13 Name: #!/usr/bin/anonymous : 2007-08-21 04:09 ID:OvZh1M8r

There's absolutely nothing wrong with learning C as the first language. As languages go, it's rather small; as in, very few commands and standard types and a standard library whose documentation condenses down to one tenth of C++'s (or Java's, or Perl's, or whatever) equivalent. Small things are easier to learn than large things, since after the basics one does not have to go to the manual fifteen times in as many minutes.

Learning C gets you rid of your fear of pointers. It also makes every grotty detail apart from the actual instructions presented to the processor explicit. It doesn't force its user into wearing thick gloves for fear of segmentation faults, and it doesn't enforce any particular level of abstraction. There's nothing you can't do with C, the preprocessor and a bit of elbow grease. For these reasons, I recommend C as the first programming language for everyone.

Once C has been learned, programmers can feel free to wrap themselves in the warm, fluffy blankets of abstraction and "you don't need to know that". Even better, such programmers will understand what the abstraction means, and will be able (perhaps with a bit of effort) to see through the abstraction and into the concrete where necessary.

Contrast this with the alternative -- pitiful people who've been taught to fear the real world, relying on "someone else" to cushion and separate them from the machine via frameworks and design pattern liturgy. Fretting over how pointers are difficult and scary like some modern-day Barbie.

This thread has been closed. You cannot post in this thread any longer.