|
|
|
|
|
by Swizec
1114 days ago
|
|
> There's a difference between being self-taught, and not even bothering to teach yourself the absolute fundamentals of computing, like binary Been doing this for almost 30 years now, about 15 of those professionally. I think the last time I used binary was in a microcontrollers class in high school. Even in college, yeah we talked a lot about binary, we learned the single most useful thing in my career – truth tables – and we dived deep into how CPUs toss bits around. Did we ever use binary for anything practical? No of course not, that’s what the compiler is for. I mean I guess the real question is: What does “learn binary” even mean? Knowing it exists? That’s easy. Knowing that your code is eventually all binary? Yeah great. Knowing how NAND gates and such work? Well that’s discrete mathematics, bool algebra, quantum physics, circuit design, and whatever field of math talks about translating problems from one to another, not “binary”. Being able to calculate, by hand, numbers from binary to octal and decimal? Meh you can have a computer do that or google the algorithm when you need it. Does “learning binary” mean memorizing the ASCII table so you can read hex dumps or whatever? Maybe, doubt a lot of modern engineers still do that tho. |
|
How to tell people you have never implemented anything performance sensitive in your life without spelling it out bluntly in a nutshell. The code of any popular image processing/decoder/encoder/compression/cryptographic libraries is littered with the use of bit operators because they operate at the fundamental building block level of computing, they are the most efficient and the "sufficiently smart compiler" that supposedly always produces the best interpretation is a lie. You merely need to skim through any implementation of jpeg, of h264 or anything that actually matters in this world to see the practical application of working on bits in the real world.
But sure, understanding computer architecture is meaningless. Trust the compiler. Thank gods I can still see stutters scrolling a web page on a 16 core CPU with 64gb of ram. I don't know how I could live my life if people actually knew how to make proper programs!