IF you want to become a Jedi you better learn to make your own fucking lightsaber.
You can remain a padawan for the rest of your life fine by me. Means I have the competitive advantage. Thanks.
I'm sure that in your realm of starwars fanfics everybody is awarded a golden star for effort.
I sure hope more indies buy into this idea of Jedis and Ninjas and how cool it is to write games in C (or better yet "modern" C++) and use Vulkan (totally Jedi power level) and uninstall themselves from the already crowded indie market in the process. Thanks.
Oh how I wish I could side-track those pesky little gamemaker, unity, Java, Csharp slinging padawans into writing yet another platform abstraction for getting all files in a directory.
Have them waste time writing yet another buggy, incomplete C parser to add basic reflection and meta-programming capabilities to C. Have em write all sorts of different macro-based hashmap implementations, dictionaries, stringpools, red-black trees and whatever the fuck else is there in every other programming language out there.
Did you know that ye ole' Yoda master uses Vim and GDB? You better get crackin!
We could also sucker them into creating and maintaining some sort of elaborate build system that holds together that house of cards. Ideally something with a true 1970s unix heritage, with cryptic rules and bizarre, inconsistent syntax. Like autotools and makefiles. Something hacky and nonsensical. As Unix is to C, C is to Unix.
Convince them that punching commands in VT100 emulation is peak of human-computer interface.
Because that's what "real" programmers use and that there's an unbounded explosion of productivity and power once you've mastered them.
It is not the way of the Jedi if every line of code doesn't bend their minds in eight dimensions at the same time:
1. How many cycles is this going to waste?
2. Is this undefined behavior? What does the C standard have to say about this?
3. How is this going to affect the size of the binary? Will it fit on 1.44?
4. How is this going to explode the compile times (and it is going to because it's C/C++ we're talking about)
5. Am I trashing the cache, and how many bytes i'm wasting per cache line read
6. Who owns the memory, how i'm going to allocate it, free it, etc
7. Am I corrupting the memory or having a race condition (without ever knowing for sure)
8. What would Mike Acton think (this is important)
Make em run linters and memory sanitizers, watch their hair color waiting for it all to build.
In the end it's all going to be worth it - because your textured cube will run at over 9000 FPS.
That's what makes you a true Jedi Knight!
Since I don't have to do any of that. Means I have a competitive advantage*. Thanks.