|
Hmmm
So much complexity in software comes from trying to make one thing do two things.
Sibeesh
|
|
|
|
|
VB does not "help".
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
hmmm
So much complexity in software comes from trying to make one thing do two things.
Sibeesh
|
|
|
|
|
Here's my contribution to early learners: Object Oriented Programming with C++[^]: Some of the major things I wish I'd known when I began (although C++11 features didn't come until much later).
|
|
|
|
|
One language which hasn't been mentioned yet is ADA. Yes, it's old but actually very verbose and understandable. It's quite easy to start with and yet powerful enough to use in more complex situations.
|
|
|
|
|
Those who begin with C and C++ can grab any new language very easily.
|
|
|
|
|
yah i totally agree with you...
i started with C++ myself...
|
|
|
|
|
I know there are many who are making a good living without being aware of the inner workings of a cpu but knowing a bit about the metal can help later.
|
|
|
|
|
If they start too hard and heavy without seeing too much immediate feedback on the potential of it, they're more likely to abandon it. A complete novice shouldn't have to worry about btree's, etc. for their *first* language. They should get to just play around and have fun and make the computer do stupid stuff for the "cool" factor.
We pick on BASIC, but 20 years later I sill think it's not that bad of a beginner's language. I'd wager Pascal is a good choice too, but I never went that route, so I can't really speak about it.
The problem with BASIC is when VB-type coders never learn anything new and get stuck with the training wheels because they're lazy. The language itself isn't so bad, so I'd still recommend it.
Jeremy Falcon
|
|
|
|
|
You get a gold star for that answer.
Very good.
cheers
Chris Maunder
|
|
|
|
|
Can you teach them to do basic stuff in a higher language without all the baggage? I think you can, and tried to do so[^], as posted above. My follow-up project wasn't so much 'Hello-World'...
|
|
|
|
|
David O'Neil wrote: Can you teach them to do basic stuff in a higher language without all the baggage?
You could but then you'd only be doing basic stuff rather than "cool" stuff. Nobody cares about that in the beginning. What suckered me into coding was seeing a guy make a simple DOS game (Invasion of the Pacman Planet) in QBasic and have us both go through the code. I then wrote a black jack game. It would've taken me a LOT more know-how to do that in C. But, I wrote it in QBasic with only minimal study.
Jeremy Falcon
|
|
|
|
|
Our paths were much different. Every example I ever saw of that nature involved undocumented hacks that were very platform specific. I won't argue about the impressiveness of the accomplishments, but those hacks required learning.
|
|
|
|
|
I will say, if I had to choose between teaching a novice VB.NET or C#, I'd pick C#. My comparison is more along the lines of comparing real BASIC to real C/C++.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: I'd wager Pascal is a good choice too If you can't C, then it's a good road to travel.
Jeremy Falcon wrote: The problem with BASIC is when VB-type coders never learn anything new One learns if there's a need to do so. You cannot expect people to change a winning formula, they'll simply refuse.
Jeremy Falcon wrote: The language itself isn't so bad Yes, it is.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: One learns if there's a need to do so. You cannot expect people to change a winning formula, they'll simply refuse.
I totally agree with this. They say necessity is the mother of invention, and well, I agree.
Jeremy Falcon
|
|
|
|
|
... obviously there is no better language than C++ or C to be taught as it explains much about memory, processes and many other syntax and structure problems more efficiently than Java, C# etc. I, myself, am a Visual C# developer and I always had, do, and will love Visual C# more than Visual C++ and I would prefer if my college would teach basics of C# too.
In Computer Science field, there is not enough time to cover all of the languages like Visual C# or Java etc. But for Software Engineering, I think there is plenty of time to cover the basics about Visual C#, Java, MATLAB etc.
The deeper the programming level concepts the better the next generation of developers would be. In my generation, we're just being crammed about the syntax, no concepts are being taught. That almost breaks my heart.
Favourite line: Throw me to them wolves and close the gate up. I am afraid of what will happen to them wolves - Eminem
~! Firewall !~
|
|
|
|
|
I had to suffer as a student and I don't see why new IT students shouldn't have to!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Cobol should be taught beginning in primary school.
Ah! Those good old days. What a wonderful... ehm, what a great... eh, what a programming language.
|
|
|
|
|
The fact is student should know some basic concepts related pointer, memory allocation/addressing, basic string functions strcpy, strcmp ... and I personally believe C++ good for it.But C# and Java also an option. Not only programming they should also learn the basic computer architecture family, RAM, ROM, CPU ...
Wonde Tadesse
|
|
|
|
|
For teaching pointer arithmetics, memory allocation, etc. - simply all the basics -, I would prefer C over C++ because of its purity and simplicity. C++ just adds too much complexity and overhead to the beginner's story.
|
|
|
|
|
For the facts I stated, C also fits. But I won't recommend it for other issues like OOP ...Don't tell me you can do OOP. Even if you could,you will end up to C++.
Wonde Tadesse
|
|
|
|
|
You can do object orientation with C, but it is more awkward than C++: article[^] (several other articles exist, some better than others, but that is the best I could quickly find).
|
|
|
|
|
I know you can. But it's not meant to be it. That's why I favor C++ than C.
Wonde Tadesse
|
|
|
|
|
I chose C/C++ for pointers and memory management (and I would add assembly as this imparts knowledge of processor function and binary arithmetic). I chose Java for OOP and JavaScript to illustrate monolithic scripting (rather than OOP) as a comparison to OOP. I did not chose C#, since although this would be a great bonus, I feel that it is still essentially proprietary. I know others may argue that it is a general standard like C++ or Java, but nevertheless it is practically proprietary (correct me if I am wrong) and I don't think proprietary technologies should be taught in schools for ethical reasons. As for University, I guess C# could be taught as an option at this level.
|
|
|
|