[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=intro-to-c title="Intro to C on Windows - Day 5 Q&A" vod_platform=youtube id=rFA1SzRCRWc annotator=jacebennett annotator=theinternetftw] [0:36][At some point, Casey might do a real multi-week intro to C for non-programmers] [1:46][Have you ever found a use for bitfields?] [2:32][,b lets you see binary in Watch window of Visual Studio \[n.b. this is in newest version only\]] [3:17][More clarification on Virtual Memory (is page table itself virtual?)] [5:26][Clarification on where the stack lives, and on the CPU's i-cache and d-cache] [6:36][Clarification on undefined behavior (casting structs from day 4 of C stream)] [7:51][Can you make the OS load all of your code into memory at once instead of mapping the file?] [9:10][Is the C Runtime Library different from the C Standard Library?] [9:45][Why do you prefer K&R style brackets? (and other neat bracket style annecdotes)] [10:49][Do different bitwise operators differ in performance? (And other performance musings)] [14:18][How much bit-fiddling do you do on real code?] [14:37][Will you be writing your own allocator?] [14:43][More talk about showing vars in binary in Visual Studio] [15:30][Can you show us how to open a blank window using the WinAPI?] [15:44][What do you think of RAII? (Musings on robustness and error handling)] [20:52][Do you think a four-year CS degree is a waste of money?] [21:00][Are you going to use structs instead of classes?] [21:07][How will you handle polymorphism? (Rant against inheritance, instead promoting mixins)] [22:57][Will the game be in C++ or C? If the latter, why all the .cpp files?] [23:47][What are the differences between references (int &v) and pointers (int *v)?] [25:19][Will the code be backwards compatible with C?] [25:52][Short Circuiting] [28:20][More on entry points (main vs WinMain), how programs are init'd \[n.b. Code::Blocks is an IDE\]] [32:58][How big is the community? What are your preorder stats?] [34:15][Will you show how to look for i-cache misses in the main stream?] [35:31][Do you use a lot of advanced algorithms? Do you worry about Big O?] [35:48][The DuckHorse question (Muses on duck trustworthiness, Rants against horses)] [36:55][What OS is your PC?] [37:03][Did you talk about pass by val / pass by ref yet?] [37:25][Do you have an opinion on Data-oriented design?] [37:46][Talks about Stack Overflows] [38:19][Are you going to use OpenGL / DirectX?] [38:40][More talk about showing binary in VS.] [38:56][Can I follow along in Linux?] [39:42][Will * do << instead if it's faster? (Bit about Strength Reduction)] [40:42][Will the allocator be lock-free / thread-safe?] [41:31][How much dependency injection do you use?] [41:56][Do you feel the same about using RAII for public APIs?] [42:18][Why are you using struct{} instead of class{}?] [44:09][Explanation of Mixins] [45:57][Other operators (Comma, goto)] [46:48][How do I get the art and music for the game?] [47:03][Do you use goto ever in C?] [47:12][Are you Ben Cousins?] [47:22][Will be showing the creation of any tools (e.g. level editor)] [47:46][Have you ever made anything for the demoscene? Know anyone who has?] [48:51][Why don't you use a platform-independent library?] [49:00][What is the general plan for making the game?] [49:39][Drink Suggestions. Fractals? (No.) Dependency Injection Joke.] [50:12][Can a struct have a constructor? (More struct==class rant, Positivity musings)] [51:51][Will the game include old-school passwords for saving?] [52:05][What about Game Design? (best ways to prototype, how to learn it vs. this stream)] [53:26][How much money do game devs make? (General career and skills musings)] [55:27][Will the source downloads be under version control?] [55:53][Trolls exist :D] [56:03][What's your current day job?] [56:08][More pay discussion (how location, company factor in)] [57:01][More on RAII] [57:25][Will you use any libraries to make the game?] [58:24][What's your life story? How did you learn programming? How'd you get an internship at MS?] [58:51][Early years, Programming with Dad (who worked at DEC)] [59:58][Learned 3D math out of Foley and van Dam \[n.b. this is how Carmack learned 3D too\]] [1:01:46][Getting the Microsoft Internship (Luck, and the right kind of skill)] [1:06:22][The Internship - Old MS Culture, Blowups] [1:09:47][The Internship - Casey's job at MS] [1:12:29][The Internship - Microsoft Money] [1:14:53][The Internship - Getting lucky again, because he couldn't cook or rent a car] [1:21:38][The Internship - Meeting Chris Hecker and the WinG group] [1:24:45][Starting out in Games - Chris Hecker and Friends] [1:25:51][Starting out in Games - Learning to Program For Real (RAD)] [1:27:57][Leaving RAD - Trying (and Failing) at Game Design] [1:29:14][Present Day - More Game Tech (Larabee, Bink 2, Moustache, The Witness)] [/video]