|
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.
|
|
|
|
|
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(); }
}
|
|
|
|