|
OriginalGriff wrote: IMHO C++ is too much as a first language - it is likely to overwhelm rather than
educate.
I tend to agree. Go with something that is closer to 'normal english' for the first language. My first was Pascal, then C++, Java, Assembler, then C#, and so on. If I started with C++, well it was a mess the first few weeks in class.
|
|
|
|
|
I regret that I had Visual Basic as my first language. Even though it was self taught, I ended up with vices that were difficult to get rid of and I had a hard time changing the way I was thinking once I started learning C++.
I rather begin C++ in the first place. I think it would've been easier to grasp if I wasn't thinking Visual Basically at the time.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson
|
|
|
|
|
I'm not saying this is the case, but it is possible that it is an issue with self-taught vs classroom taught. Aside from that, C++ is more of a foreign language compared to English than VB or Pascal, so others might have an easier time because it is so different. I remember getting a book of "Pascal Command : C++ Command" comparisons. While it wasn't perfect, it did help to transition through.
Perhaps the best choice would be "It depends on the person."
|
|
|
|
|
RJOberg wrote: C++ is more of a foreign language compared to English than VB or Pascal
I think that would actually make it more difficult to be self taught as first language. But I believe that it goes beyond the look and feel of the language. With VB you mostly don't have to worry about pointers, memory management or how they work, that's something that I wish I would've been formally educated from the start. Once I got used to not thinking about it, it was hard to change my way of thinking.
RJOberg wrote: Perhaps the best choice would be "It depends on the person."
I agree with that. I can't know if the experience I had would've been the same as someone else's.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson
|
|
|
|
|
I disagree, we are talking about college and Computer science students. Aren't we?
To me it's like studying classical studies without learning Greek or Latin.
|
|
|
|
|
I would ask the question, does one need to be a mechanic to drive a car?
No, but understanding at the very least, the basics of what makes a car runs can save you from countless headaches and unnecessary and oft times embarrassing trips to the mechanic. Not to mention saving time and money.
A little time in the trenches can make a person appreciate the advantages of higher level programming. (I started with assembly where the honest to god rubber meets the road)
It was broke, so I fixed it.
|
|
|
|
|
S Houghtelin wrote: I would ask the question, does one need to be a mechanic to drive a car?
Programmers to computers are what professional drivers are to cars and the users are causal drivers. So the better question would be: does one need to know mechanic to be professional driver?
If you're causal driver, then not so much, but if you're a professional driver then you better know as much possible.
|
|
|
|
|
True, but professional drivers would understand the mechanics of cars - not a particular make/model (maybe that on top, but fundamentally, not restricted to)
Saying "learn C++" is like saying "study this Vauxhall Astra"...
Granted you really need a language to use, and I would probably say C++ too, but I think the question was phrased wrong
|
|
|
|
|
MarqW wrote: not a particular make/model
Actually that is the exact thing that pro-driver should know: which screw should be tighten when his truck has trouble changing gears or which cable should be checked when the truck won't start, where the installation for coolant may leak, all these are very specific things to a model. The more he knows the more capable he will be to fix the problem instead of waiting in a middle of nowhere for a help to arrive.
So in essence, although you're not required to know how computer works at low-level, you're going to be better programmer if you know fundamental concept AND exact implementation of low-level stuff.
|
|
|
|
|
I'm not saying specific knowledge is bad, I'm just saying it's far less important than understanding the concepts.
Say your professional was a Fiat driver, but then got transfered onto a Renault team, the Fiat knowledge won't help much with "the exact screw", but the concepts would allow them to get there a lot faster.
I knew and understood linked lists, memory management, pointers etc. way before I knew C++, because I learnt x86 Assembler.
Sure, teach them C++ if that's the language of choice, but don't neglect the concept for the implementation.
|
|
|
|
|
Programmers don't just drive cars, we build them. One cannot build cars without a deep understanding and appreciation of how an internal combustion engine works, or why a driveshaft is shaped the way it is, or the function and purpose of spark plugs.
|
|
|
|
|
Gregory.Gadow wrote: One cannot build cars without a deep understanding and appreciation of how an internal combustion engine works...
Perhaps I'm straying off-topic, but from my point of view that is true for auto idnsutry, but when it comes to software... well, nowadays everyone and everyone's third cousin will dub themselves as developers.
|
|
|
|
|
....
xoxo
Kid sister
There's no place like Lounge - Me
|
|
|
|
|
C++ is type safe. Kid sister is a type. Thus C++ is safe for kid sister. Just say yes.
|
|
|
|
|
but I don't think it should be the primary language anymore for the degree.
Having a general to thorough understanding of the "fundamentals" is important to a well rounded programmer. If your going to talk the talk, you have to walk the walk.
"the meat from that butcher is just the dogs danglies, absolutely amazing cuts of beef." - DaveAuld (2011) "No, that is just the earthly manifestation of the Great God Retardon." - Nagy Vilmos (2011)
"It is the celestial scrotum of good luck!" - Nagy Vilmos (2011)
|
|
|
|
|
Slacker007 wrote: understanding of the "fundamentals" is important
Yeah, what he said!
It was broke, so I fixed it.
|
|
|
|
|
Title says it all.
I HATE C!
Segmentation Fault, anyone???
Attempting to load signature...
A NullSignatureException was unhandled.
Message: "No signature exists"
|
|
|
|
|
Just stick to your GW Basic and everything will be all right in the morning.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
I use a lot of C# now.
Attempting to load signature...
A NullSignatureException was unhandled.
Message: "No signature exists"
|
|
|
|
|
C is way better. Never had any use for C++.
|
|
|
|
|
I agree, C sucks, but the lessons I learned while learning C are now invaluable. I'd say learn C instead of C++ in school, use C++ instead of C in the real world.
|
|
|
|
|
I can agree with that.
OT. One kid in my class somehow recieved a segmentation fault from an empty main method.
It was considered an epic fail by the professor, a.k.a. "The embodiment of the C programming language"
Attempting to load signature...
A NullSignatureException was unhandled.
Message: "No signature exists"
|
|
|
|
|
Not that I should talk, because I still dread the day I might have to actually use WPF, WCF, EF, or heaven forbid, write something real in a web environment, but diversity is important, and the more exposure one has, the better. That's certainly not an original thought.
Marc
|
|
|
|
|
... how you define yes and no .
Panic, Chaos, Destruction. My work here is done.
Drink. Get drunk. Fall over - P O'H
OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre
I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer
Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett
|
|
|
|
|