godratiopragmatic_herogodratio
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.
Wow. Go off on a tangent much? No one is saying do all that.
Im saying building your own abstractions.
I have seen the result of y our type of thinking. In the game industry your costing companies a lot of money and man hours.
As a side note someone who has done all that multiple times will come out a much better programmer and given the exceptions where they have bad teamwork ethics I would hire them over anyone with your mindset for game production.
If your building your own indie game... be my guest do what you think is good for you. Maybe your a rust expert and you can build a game super fast that way because your built your own abstractions and do not need a lot of performance or low level customization perfectly fine.
To summarize what I mean to be a Jedi you must build your own lightsaber , if you have not attempted to implement it your self while learning other CS concepts than you can not be a Jedi.
I am not talking about the erroneous concept of coding ninjas in my analogy I am specifically referring to mastery. Programming mastery.
Yes!!! I want to be a JEDI CAT LETS GO YOU PUSSIESSSS.