If they never program again you're wasting your time anyway you cut it.
C++
Java
If they never program again you're wasting your time anyway you cut it.
Well I know that for the UC and CSU colleges pretty much if you are an engineering major you will be taking at least one programming class. How often do you think a civil or biochem engineer is going to fire up a compiler? Heck my uncle is an electrial engineer and he hasn't touched any code since he got out of college many moons ago.
So for an intro class they really don't need to touch on everything. Besides you should make sure the students have a good core understanding prior to addressing more complex issues. I just got done tutoring the structured programming class for the summer semester and most of the students that came to me were still having trouble understanding functions calls, returns, and even variable scope and they were working on pointers to functions.
In Sweden, some universities teach Haskell in their programming courses.
I think it is a very good language to learn (it is quite challenging, even for a master C/C++/Java programmer).
Last edited by Sang-drax : Tomorrow at 02:21 AM. Reason: Time travelling
Haskell is a functional language, though, isn't it? That's a totally different paradigm. You can teach functional languages in addition to imperative languages, but not instead.
All the buzzt!
CornedBee
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law
I'd go with both - Each one has different features, one's easier then the other. C++ is the current popular, so I would say C++, with an option to choose Java.
At Waterloo, all software engineers do C#, AFAIK. Everyone else does Java.
Naturally I didn't feel inspired enough to read all the links for you, since I already slaved away for long hours under a blistering sun pressing the search button after typing four whole words! - Quzah
You. Fetch me my copy of the Wall Street Journal. You two, fight to the death - Stewie
I learnt Java in my first freshman CSE class -- when I transferred to another university I took a beginners C++ course and I found that my Java basics made learning C++ basics as easy as cake.
As was mentioned earlier, once you have the basic understanding of OOP or whatever down, learning new languages are just about understanding syntax and practice, practice, practice, and then sitting in front of message boards just like this one!
But me personally -- i find Java much easier than C++, so i'm glad i was eased in on a "simple" language which gave me confidence to tackle C++
maybe because IMO C# tends to allow one to "group" things together in a very intuitive way.At Waterloo, all software engineers do C#, AFAIK. Everyone else does Java.
there used to be something here, but not anymore
I think they should learn assembly. I'll probably get flamed for that.
Actually I learned more about C/C++ and every other language when I learned about assembly. Sorry, but that was the way it happened for me. It's nice to know whats going on under the hood even if no one requires you to use it. A knowledge of it certainly won't hurt you and you prob will never program in it....unless you are nuts....but it does help to be familiar with its concepts.
Because in the end......it's all assembly. Even MSIL eventually turns into assembly.
I know for me learning assembly doubled my understanding of C.
Ok, that's exactly my situation. C++ seems a little bit more primitive and more complex than Java, but what do I know, I'm just beginning to learn it. I guess for a person who's never touched code before, Java would be ideal. Thanks for the responses.Originally Posted by So and So
I like to think of it as Java being the more primitive language. After all this is a cboard and I'm extremely C biased.
In fact, it's pretty much all I could manage to pull off in most of my classes.
now that people have mentioned it, assembler and C would probably be the best languages to be taught in a college setting. It would be great for an electrical engineer, as if you work on small memory devices like most of them do, you will be stuck with C or assembler to get stuff to fit in the necessary space.
there used to be something here, but not anymore
But it's very hard to learn both the basic programming concept and all the maintaining you have to do for Assembly (keep track of registers etc.) at the same time.
All the buzzt!
CornedBee
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law
not really, if one has trouble keeping track of registers.... well then IMO the person doesnt have the memory/logic capacity to do programming.But it's very hard to learn both the basic programming concept and all the maintaining you have to do for Assembly (keep track of registers etc.) at the same time.
there used to be something here, but not anymore