|
Today I would like to introduce an idea that I’ve been playing around with as a thought experiment for years, but that has finally become a reality. Imagine a programming language designed specifically for teaching young computer science students a solid foundation in sound computer science topics as well as practical techniques useful in creating rock-solid industrial systems. Below, I’ll outline the features of Enfield. I hope you know that this will go down on your permanent record.
|
|
|
|
|
In my opinion, a multi-paradigm language isn't a good beginner language.
Programming languages evolved in a particular order and I believe they (or their paradigms ) should be learned in that order. Not specifically start with COBOL or Fortran, but a language like that -- see what you can and can't do easily with it. Then learn the next paradigm/language and see how it improves on the other.
I remember first learning BASIC in high school -- at one point we were assigned a task that was tedious with what we'd been taught so far, then we were shown arrays! And were told to redo what we had previously done and it was so much easier! The same thing happened with Pascal -- records! And then Data Structures! And then OOP!
I think it's wrong to start out having to learn OOP before you know the fundamentals.
You give a kid a hammer, not a nail gun.
|
|
|
|
|
PIEBALDconsult wrote: I think it's wrong to start out having to learn OOP before you know the fundamentals.
I totally agree. I think this is a particular problem in the Java world. For example, there is a book called "Objects with Java" which teaches right from the very first page about classes. Get this, that's before it has even covered: printing to the screen, conditional statements, hell even before it teaches how to add two numbers up!
=====
\ | /
\|/
|
|-----|
| |
|_ |
_) | /
_) __/_
_) ____
| /|
| / |
| |
|-----|
|
=====
===
=
|
|
|
|
|
That's exactly the problem. The VB.net book I bought a few years back doesn't have if until page 353, chapter 18. It's a lot of money and trees to not teach programming.
|
|
|
|