9 ms·
Wow? This is terrible advice. Probably written by someone who didn't get a real 4-year CS degree? I am afraid you don't even know what you don't know. You don'
by dusklight 15y ago
Wow? This is terrible advice. Probably written by someone who didn't get a real 4-year CS degree? I am afraid you don't even know what you don't know.
You don't need to know every single algorithm and data structure, but you definitely do need to know the basics, especially how to evaluate the different algorithms, how to choose the right one for your needs, how to create new ones and how to prove correctness. This is one of the most fundamental of skills for a programmer.
C is actually one of the easiest programming languages to learn, because it is so close to the hardware. It is one of the hardest languages to write real programs in, because of this closeness to hardware, but it is also one of the most important languages to know, and to learn first, because of this. Without a basic understanding of C or assembly, without a basic understanding how high-level code gets compiled into machine code, you won't understand the performance costs of classes and recursive function calls, issues like memory fragmentation, cache misses, etc. Basically unless you never plan to write fast code, you need to know something like C.
Vim and emacs have been around more than 20 years .. They are the old reliable but there are better alternatives now with less of a learning curve and modern innovations. Eclipse, IntelliJ, Visual Studio comes to mind, there are many other IDEs out there. If you are willing to put in the time, emacs is probably better than everything else out there, but if you are still learning to be a programmer there is no reason to be struggling with your editor too. Eclipse is a good free solution that most people can start out with.