|
In 1981 high school I had to fight to get time on the only TRS80... And god forbid that I tried to put a meter the expansion port to see it the bit was toggling.
|
|
|
|
|
Pointers, data structures, object oriented programming, memory management, and the inner workings of computers are all subjects that are independent of the C++ language. And if you want to work for a longer time as software developer, you will have to learn them no matter by which programming language.
C++ is a very wide spread language and well suited to learn about all those concept. To work for some time with assembly language would not hurt in addition.
So yes to C++, in my opinion. Most of us will have to learn C++ anyway, so why not in the beginning.
|
|
|
|
|
Nowadays student are becoming just Programmer than Computer Engineer. IMHO though while developing software people should think about abstraction but they should know internals about OS and other intricacies.
Regards
Happy Programming
|
|
|
|
|
...they want to do real programming and not this web based crap.
It's just a fad.
Look at me still talking when there's science to do
When I look out there it makes me glad I'm not you
|
|
|
|
|
|
You don't learn these things from C++. Let them learn assembly.
Nevertheless, they should learn C++. Because it's a widely used language, on which many others are based. If they want to switch to C# or Java or PHP even, they could do so easily. Switching the other way around isn't easy.
|
|
|
|
|
I worked extensively in Assembly before moving onto FORTRAN, Visual Basic, and then C#. I needed to understand these technologies when I was working in assembly. Since then I have had little need to understand these concepts. So I say no, it is not important. In developing business applications it is less necessary. However, I think that it is good to understand these concepts to be the best developer; it is part of understanding the theory of computers and software. There is also the advantage of understanding these concepts if there is a possibility that the developer will be involved in lower level programming.
|
|
|
|
|
C++ isn't C. Good modern C++ code shouldn't contain any pointers or manual memory management.
If the question is "should programmers learn C concepts using C++?", then my answer is no - they should use C to learn C concepts. There's no need to add additional complexity by using C++.
But learning about C concepts certainly is important, without them you simply cannot understand how your code in the higher-level languages actually works.
|
|
|
|
|
"Good modern C++ code shouldn't contain any pointers"
You can't do any C++ without pointers. What do you think you use to get objects interacting? Pointers to other objects
|
|
|
|
|
You can write plenty of C++ code just using stack-allocated objects (types like std::string and std::vector may end up on the heap, but that's an implementation detail and not relevant for the programming model).
In case you need pointers, either std::unique_ptr or std::shared_ptr should do the job. Classic C pointers with manual memory management simply shouldn't occur in C++ code.
|
|
|
|
|
1. Quote: Should Comp Sci students learn C++?
My answer: No you may choose not to learn it.
2.Quote: Learning about pointers, memory management, linked lists and to-the-metal programming used to be important. Is it still a necessary skill?
My answer: YES!!! After all learning things like memory management, linked lists and other data structures are absolutely necessary for a computer science student.
But these skills may not absolutely be necessary for an application programmer.
Peace, ye fat guts!
|
|
|
|
|
Its necessary to learn c++.
|
|
|
|
|
|
There is almost no other way to understand some principal things about how computer works.
If you don't understand how computer works, then it's magical box for you. Then you write "magical" code for it. For example: http://en.wikipedia.org/wiki/Cargo_cult_programming , but there is much more.
|
|
|
|
|
its true....
|
|
|
|
|
C++ is still widely used in real-time embedded systems. Besides, understanding the concepts is important when testing and debugging manage code like C# or Java. Granted, some developers can get by without that knowledge, but career-oriented software engineers need to know the whole stack.
|
|
|
|
|
Why not, If I read it... every body should read...
|
|
|
|
|
Must
|
|
|
|
|
|
|
Collin Jasnoch wrote: it is harder for a programmer that learned from top down to pick up on lower levels
I learned from the top down, and I found it helpful. Starting at the top you learn more easily how to make programs, and as you move down you learn more about how the black boxes in the next level up work. Start abstracted, and get more specific as you go.
Plus I see the trend in people who start in lower level languages and move up of trying to write certain functionality yourself before checking if that language's libraries already include it.
|
|
|
|
|
Quote: Plus I see the trend in people who start in lower level languages and move up of trying to write certain functionality yourself before checking if that language's libraries already include it.
So true.
|
|
|
|
|
Only temporary until entire market is by apple taked and everything iNET and iSERVER even the SAN will be iBROCADE
|
|
|
|
|
1) super- low level assembler language
2) low level language (C)
3) high- level language (Java, C#, or C++)
4) one scripting language (Java Script, VbScript, Perl, to name a few)
5) one web language (HTML)
That way you gets a feel of not only the inner(lower), but the middeler(mid leve) and outsider(high level) of progamming.
"Program testing can be used to show the presence of bugs, but never to show their absence."
<< please vote!! >>
|
|
|
|
|
I think C and C++ should be grouped together, especially considering you can write C in C++ more or less (I've never really learned C, but I have written C programs based entirely on my knowledge of C++). At the very least, I really don't think it compares directly to C# or Java.
|
|
|
|