4 ms·
After spending my career working in higher level languages, I'm always impressed by what people can do with languages like C. It's not just for drivers anymore.
by quaffapint 5y ago
After spending my career working in higher level languages, I'm always impressed by what people can do with languages like C. It's not just for drivers anymore.
- bcjordan 5y agoPutters, too!
- pjmlp 5y agoOnce upon a time such kind of games used to be done in C, after being done several years in Assembly, hardly anything to be amazed.
- hnlmorg 5y agoIt used to be the norm to write games in C. In fact it used to be the norm to write them in assembly, C was seen as a higher level abstraction that sped up games development once upon a time.
- deagle50 5y agoThere's a good Diablo 1 "making of" video, the lead developer talks about learning C while coding the game in assembly. I'll try to find it.
- foldor 5y agoYeah, I'm pretty sure most game devs of that era were doing something similar. It seems that once games went 3D, it was too impractical to do assembly anymore. So basically a lot of early PS1/N64/Saturn games were likely some pretty rough C code if I had to guess.
- meheleventyone 5y agoIt's less that but that the C tooling matured to the point where it was actually good enough to use. Particularly in terms of good enough output. Tight loops and often called functions were and sometimes still are (in SIMD terms) written in assembly so they could be hand optimized. More exotic hardware also relied on the vendors providing a C compiler and the quality there could vary wildly.
- queuebert 5y agoIt was never just for drivers. Most of what you use in high-level languages is just syntactical sugar for things that might take three lines in C instead of one line in your usual language.
- samatman 5y agoThree uncorrelated lines, two of which take a buffer, length pair which is also uncorrelated, calling something with undefined behavior if the buffer and length aren't the correct pairing. But yes.
- deleted 5y ago[deleted]