naikrovek
gingerBill
C0D3
I think the problem with software and game is that people do a half-a** jobs with their games,software and tools. They also don't understanding whats happening in the low level.
I completely agree. I think part of the problem is that they expect the compiler or OS to "just handle it". The compiler can optimize basic things but not completely change what algorithm you use.
I don't know what the cause of the problem is. Teaching? Crap blogs? "Best practices"?
- Bill & his rant
"Not understanding whats happening in the low level" and "people doing half-ass jobs with their games, software, and tools" are two completely different things. Neither is necessarily a cause of, nor an effect of, the other. I've seen folks without any low level understanding do ACTUAL MAGIC in Java, and I've seen people who know by heart all the register names and most x86 instructions relevant to their work write code that is absolutely awful. An analogy: knowing how to properly use a screwdriver does not prevent you from stabbing yourself in the eye with it.
I don't agree with this at all and pretty sure if a Java program was actually good then that programmer prob went into C / C++ first because people who go into these high languages first often make the big mistake of error checking and either never error checked or use "try{}" which is a problem when going from something like Java to C or C++.
Of course we all have different opinions of what good software is and by saying something is good can mean it's not good for somebody else. For me, I don't play the game of fanboyism or going with the crowd that usually leads to ignoring the flaws of programs or language. In my experience I have ran into people's code I had to fix because they were thinking of how to program in Java rather than C++ in C++ and it was horrible because it cause memory leaks and caused the program to crash.
Yes, I am a "fanboy" of C and C++ but I know the problems of these languages and how horrible it can be and accept it but at least C and C++ has enough control of what you can do in order to avoid these flaws (if you are a good programmer), unlike not be able to ctrl-c out of a program and not having control of that.
Saying you don't want to understand low level is like a somebody not wanting to learn basic math before going to algebra, because that person thinks you don't need to know the basic because that person is so smart that you can skip ahead and everything will be fine. It's just snobby, IMO. It's the reason why they teach you assembly and basic computer system in Computer Science. You DO need to know some basic low level stuff.