-4
\$\begingroup\$

One can not simply just write some code and competently believe they know how their little MAIN.exe is getting executed underneath the exposed API functions.

I want to know deeper on how my games are running under the APIs; I want to know how the kernel gets everything going to get my game working, and I want full assurance that everything I code is working with my knowledge of bloat ware.

How can one simply just "write a game with SDL, compile, link, run, i.e., F9" without wondering the abstracted reality of your game's execution?

I know terms in regards to low-level programming, such as without an OS, but the OS makes it even more complicated than just with a bare machine, since there's so many endless modules, programs, and kernel work done that most people have no 100% idea or clue of.

\$\endgroup\$
  • 1
    \$\begingroup\$ Is there an actual question here? \$\endgroup\$ – Brendan Webster Jul 5 '13 at 21:46
  • 1
    \$\begingroup\$ also, off-topic and not really just about games \$\endgroup\$ – Sean Middleditch Jul 5 '13 at 21:48
  • 1
    \$\begingroup\$ Btw, API is just the first turtle. Then it's standard library, system calls, kernel, drivers, microcode... Turtles all the way down. \$\endgroup\$ – drxzcl Jul 5 '13 at 21:51
  • 2
    \$\begingroup\$ I like turtles :P \$\endgroup\$ – Brendan Webster Jul 5 '13 at 21:54
  • 2
    \$\begingroup\$ Abstractions are just that! The kernel developers write their kernel, the graphics vendors write their OpenGL implementation, and the game developers write their games with this implementation, they compile and link. The whole idea behind all this is so graphics vendors don't have to worry about linux init and process scheduling (at least I don't think so), and game developers don't have to worry about their OpenGL implementation. As much as it would be great if everyone knew everything, it will not happen. - Just a few thoughts! \$\endgroup\$ – Luke San Antonio Bialecki Jul 5 '13 at 21:55
1
\$\begingroup\$

"How can one simply just "write a game with SDL, compile, link, run, i.e., F9" without wondering the abstracted reality of your game's execution?"

Simple I do it all the time...

"Why should I write a computer program if I don't know exactly how the program gets run in its entirety?"

You would need to write a computer program in order to learn how it gets run in its entirety. Maybe you could create an OS, then make a game using your OS, that would teach you an awful lot about how your program gets ran in it's entirety

Oh, wait but to understand everything you may want to make the computer from scratch too

\$\endgroup\$
0
\$\begingroup\$

You certainly can just write all your code in machine code and totally understand and control everything. However, it will only run on the one specific hardware setup you developed it for. This is why we abstract things. So we can do our thing, and have the hardware vendors control the details

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.