|
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.
|
|
|
|
|
So c++ is defined as a intermediate language. It contains features of both low- level and high- level languages. Technically speaking it sits just after c and just before java on the Language Spectrum of Science scale you can see if you follow the link below. I do feel that the fact that it is a OO language, that it should lean more towards Java when it comes to the learning of a language.
http://www.codecommit.com/blog/java/defining-high-mid-and-low-level-languages[^]
"Program testing can be used to show the presence of bugs, but never to show their absence."
<< please vote!! >>
|
|
|
|
|
In addition, it is very valuable to learn functional languages like scala or prolog. If exposed only to procedural languages your thinking gets scewed to one direction. One of my favourite books at uni was a book on scala.
Cheers,
Daniel
|
|
|
|
|
I had to learn it many many years ago and why should new COMP SCI be excluded from the joy of sleepless pleasures of dealing pointers.
but then again maybe not... leave all those C++ jobs to me!!
as if the facebook, twitter and message boards weren't enough - blogged
|
|
|
|
|
Yes Its Necessary
Be Simple
|
|
|
|
|
|
Without an understanding of what's really happening underneath it all, programming is just playing with blocks. I'd actually go further and suggest that students learn C and something about compiler technology. That'll help them appreciate all the amazing frameworks out there and what they provide. It also may prevent them from standing around like deer in the headlights wondering what's going wrong when something unexpected happens in a framework.
|
|
|
|
|
It is always nice to know the internals first and C++ provides a nice chance to do this as the memory management and many more things are at the hands of the developer.
Quote: pointers, memory management, linked lists and to-the-metal programming
This is the cream/core and if you want to enjoy truly, of couse C++ is the one to start with
|
|
|
|
|
This is my first language before going to vb.6,vb.net and C#
Programmer's C# { Do it Better;}
|
|
|
|
|
That is one language which can give a strong standards-compliant foundation to object oriented programming and hone our sharp inquisitive problem-solving skills.
Vasudevan Deepak Kumar
Personal Homepage Tech Gossips
The woods are lovely, dark and deep,
But I have promises to keep,
And miles to go before I sleep,
And miles to go before I sleep!
|
|
|
|
|
I didn't study anything computer related myself, but I know several people that did and they all come with the same story: "We had to tell our professors what was going on...". Or professors that still used some prehistoric software because it was all they knew etc. I studied media and my professor didn't know the difference between a Flash application and a YouTube vid (wildly clicking on YouTube vid: "Why doesn't it respond!?")... Perhaps you could get away with teaching the same stuff every year in math or English class, but NOT in programming class.
How can we be educated if the educators don't know?
Anyway, I think every programmer should know a thing or two about memory management, pointers, that kind of stuff.
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
Most of programming teachers even don't know C#, and only the basics of C++. At school we only learn Pascal. There is no question about learning memory management, pointers, or even OOP. If somebody wants to be a real programmer he/she have to learn the most alone. One of my friends is at university, and they've learnt assembly, only 16 bit assembly...
In my school we are still using Office 2003, because the teacher says that we won't be able to use 2010. There still Windows XP on every computer. And if a programming teacher learn only in this level, will he teach the same after he finished school?
|
|
|
|
|
Dávid Kocsis wrote: If somebody wants to be a real programmer he/she have to learn the most alone. An intern who is still at school told me the same
Dávid Kocsis wrote: In my school we are still using Office 2003, because the teacher says that we won't be able to use 2010. There still Windows XP on every computer. Heard that before too.
I know some people fresh out of programming school who don't know OOP. I even read a master thesis that started like "for our final project we are using the Microsoft method, which is object oriented." (yes, you didn't know Microsoft invented OOP!)... The application that went with it did not use inheritance, interfaces, design patterns... It's a joke!
And I get looked down on because I don't have a formal education
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
Yes, to get a grasp on the concept of "Object Lifecycle".
Then, they will enjoy the wonders of Garbage Collectors, but with the habit of thinking a bit more (hopefuly).
|
|
|
|
|
I originally started with FORTRAN, essentially self taught, and seriously mastered VAX FORTRAN. SOmehow I got involved in learning to use the VAX MACRO-ASSEMBLER, primarily making functions that didn't currently exist as the learning tool.
But what an eye opener!
FORTRAN promotes numerical values (at least at that time) without a wince. Little did I know the damage I was doing to my calculations (padding, truncation) until I saw what was happening. Similarly, just seeing the consequences of arguments (pushing/popping stack) taught me when to use global declarations by knowing why.
Perhaps there's no need to go all the way to an assembly language, especially since they're so processor specific, but by going to C or C++, you still get the connection to reality that what you do and how you do it has consequences not only in performance but in the actual final calculation.
If one does plan on doing this stuff for a living, they probably should know that stuff.
"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 |
|
|
|
|
|
At first I thought "yes" they should absolutely be coming out of a CS programming with an understanding of some lower level languages.
Then I thought, "no, not c++", they should be even lower.
Now I think they should learn a lower level language (something I haven't done and am unlikely to do) as part of their CS program, but it doesn't have to be C++. That's like saying they should definitely learn C# as the higher level language. They should learn a higher level language, but it doesn't matter if it's C# or Java or something else (just not VB for the sake of all things holy).
So, yes to low level programming, yes, to high level programming, but the language doesn't really matter, so I ended up voting no.
|
|
|
|