4 ms·
The real failure here is the words "instead of". It's really not hard to learn both and especially good to learn when to use which.
by tybris 17y ago
The real failure here is the words "instead of". It's really not hard to learn both and especially good to learn when to use which.
- deleted 17y ago[deleted]
- jzachary 17y agoMy god. It's truly amazing how any technical or academic topic seems to degenerate into a Java vs C debate. Is there a law for that?
- tetha 17y agoI think the "Java <-> C"-debate is an instance of the problem "Should studying computer science be mindwreckingly hard or should studying computer science make you able to program things?". Plus, you can also bash Java in this special instance, which is always nice coughs. Other instances include "Compiler construction or not?", "Theoretical computer science or not?", "Assembler or not?".
- javanix 17y agoThat would hold up if learning a bit of memory management was actually "mindwreckingly hard".
- DarkShikari 17y agoAfter reading the first sentence of said post, I actually thought he was trying to criticize Java.
- tetha 17y agoAnd then you had to debug something which resulted from corrupted pointers into the stack, partially being still good data and partially being nonsense.
- endtime 17y ago>I think the "Java <-> C"-debate is an instance of the problem "Should studying computer science be mindwreckingly hard or should studying computer science make you able to program things?". Your wording is heavily loaded. In any case, learning computer science should absolutely not be about learning to program.
- javanix 17y agoYou make a good point - I was thinking that Java shouldn't be taught in introductory CS classes for people planning to be a CS major, but obviously didn't get that across. It would be fairly easy for someone to learn Java once they've been taught C. Professors should not have to spend time going over pointers and memory management in an OS class, however.
- Retric 17y agoI think OS classes are the best place to cover pointers and memory management. Assuming you are covering how how an OS works vs an intro to UNIX class. Granted in our OS theory class we spent most of our time using / talking about ASM, but C could also work fairly well.
- Locke1689 17y agoThis course has four purposes. First, you will learn about the hierarchy of abstractions and implementations that comprise a modern computer system. This will provide a conceptual framework that you can then flesh out with courses such as compilers, operating systems, networks, and others. The second purpose is to demystify the machine and the tools that we use to program it. This includes telling you the little details that students usually have to learn by osmosis. In combination, these two purposes will give you the background to understand many different computer systems. The third purpose is to bring you up to speed in doing systems programming in a low-level language in the Unix environment. The final purpose is to prepare you for upper-level courses in systems. This is a learn-by-doing kind of class. You will write pieces of code, compile them, debug them, disassemble them, measure their performance, optimize them, etc. http://www.cs.northwestern.edu/~bmd/cs213-f03/docs/syllabus.pdf http://www.cs.northwestern.edu/~bmd/cs213-f03/docs/syllabus....
- philwelch 17y agoAt my school, between an intro class that did C and a class where we programmed microcontrollers in assembly, pointers and bit-twiddling were already pretty well established by the time we get to OS classes.