Originally posted by: CTho9305
[...]
The same is not true of C++ - it would be much more difficult to hand-compile C++ programs. Java removes you even farther from the real system by adding stuff like GC, which results in you knowing *nothing* at all about the memory system.
[...]
which is a good thing imho. you'll notice that programming language tend to simplyfy matters more and more for the programmer, the reason therefore is because someone has done it already before you. I'm not exactly C-knowlegable, but I do know a stuct is akin to an object with just properties and no functions. now if you write your memory implementation yourself, why do that, someone has it done before, it might be able to get done better in teh future, in which case they just change that in the back-end where you dont even see or notice it. etc.
but that's just my opinion offcourse. I do think Structured programming is important to know (they teach us cobol for that -uuurgh-) because as you mentioned it's easier to understand what the machine is doing. but I think the role of the top level programmer (the one that makes apps, not operating systems) is to move away from that and see less of the inner workings. and work with an abstraction of a machine.