I love Handemade Hero, don't you?

Obligatory link: https://github.com/gpc/searchable/pull/3

At the time of posting, the last comment reads:

Long name, yeah. But I'm sure you know what is inside it without opening the file. There is some value on it.

Yes, I do know what is inside it without opening the file. The filename has exactly the same information content as the source code.
I can't count the number of hours I've spent writing getters and setters only to end up using the object as if it was a struct.

Yes. That's when I realized there was something fishy about Object Oriented Programming when I was learning it.

Edited by Carlos Gabriel Hasbun Comandari on
Malarious wrote:

Opening up the debugger and seeing values in memory as they were manipulated was where it really clicked for me.

I felt the same man....rubbish .net and java!

cmuratori wrote:

Learning how to program a game professionally takes many years of practice

I'm glad I read this I nearly give up..!

Opening up the debugger and seeing values in memory as they were manipulated was where it really clicked for me.

I felt the same man....rubbish .net and java!

I think that comment is a bit misinformed. Debugging and being able to see and modify memory values is not something exclusive to C/C++. It exists for many other languages and it works in pretty much the exact same way.

Both Java and .net have debugging tools on par with what you see Casey doing in his streams. The way he debugs code is exactly the same way you would debug Java and .net code. You can set over lines of code, step in and out of functions, change memory values, etc.

The only different being C++ compiles directly into ASM where Java and .net compile to bytecode that gets converted to ASM by a runtime environment.
Nephyst

Both Java and .net have debugging tools on par with what you see Casey doing in his streams. The way he debugs code is exactly the same way you would debug Java and .net code. You can set over lines of code, step in and out of functions, change memory values, etc.

You're right, of course, but proper debugging simply wasn't covered in any of the books I read or classes I took when I was learning Java, and I was relating my personal experience. In class, we spent more time on the "theory" (i.e., drawing flowcharts and UML) than actually coding, and then when we actually got to "real" coding it was a game of copy-pasting instructor-provided methods into place properly.

During my formal programming education, the CPU was a magical black box and we were wizards stringing together obtuse incantations, praying the results we got were the ones we wanted.

Compare that to Handmade Hero, where the debugger is an indispensable tool from the very start and no line of code is inscrutable or left unexplained.

Edited by Malarious on
But can you see how the memory is working in java or net when you are debbuging? I mean in C you can see how the compiler align an Struct(Week 0: Intro to C), can you see something like that in those languges? I think companies are using java plataform because is free and easy and .net who knows...