4 ms·
I think any person remotely interested in computers or programming can and should "know" that a byte is 8 bits. But... does it matter? Unless you are working
by brunooliv 4y ago
I think any person remotely interested in computers or programming can and should "know" that a byte is 8 bits.
But... does it matter?
Unless you are working with hardware or in embedded systems more directly, it ABSOLUTELY does not matter at all.
What matters is to have a critical eye for numbers when they matter and/or are "off". That is much more valuable for the day-to-day work.
"Damn, before we could easily hit this endpoint X times per second and after that refactor and library change it's down to X/5? We need to have a look".
Sizes of DB tables, latency of endpoints and being able to properly read stacktraces or logs from a third-party service is much more valuable.
PS: people writing in the comments about not knowing how text encoding works, about sending data trough sockets, etc... Folks, you know how to do these things because they are required from you at your day job, you probably had exposure to proper patterns and got help from experienced people within that particular niche at your company. That's all. Knowing 1 byte is 8 bits is absolutely meaningless knowledge on its own.
I needed to know these "standard sizes" for my CS degreee,sure. Do they matter for my day-to-day work? Not in the slightest.
- Kim_Bruning 4y agoDo you ever inexplicably encounter the number 255 (or 256)?
- brunooliv 4y agoAt my day job? Never happened. Interviewing? Sure. Those LeetCode algorithmic problems have a tendency to sometimes touch upon these well-established values of the underlying architecture of bytes/bits and how memory pages are structured, etc. The thing is: Working with Java and Python in your classical corporate job maintaining a DB schema, creating and/or optimizing endpoints with Flask and/or Springboot, most of these underlying concepts will be shielded from you entirely. Again, in Java, you can specify the load factor for a HashMap when you create it... I bet you 99% of the developers working with Java have never needed to do it or might not even know what it is or how it works under the hood. Maybe they don't even know that internally the hashtable size is managed in powers of two... but again, I don't truly believe this matters for 99% of the work you'll be doing. It's either something that you need to use or fully understand, or something that will always be abstracted away from you. 8 or 2^8 or 2^8-1 are just numbers basically.... It's good to know a bit their intrinsic meaning or why they are relevant just as a general knowledge, but, unless you are doing C programming at a very low level, embedded systems, microcontrollers, etc, this is just knowledge that will _never_ be used.
- Ancapistani 4y agoThat surprises me. The approx. two decades of my career have been in what an embedded systems programmer would call "basic CRUD apps". From my perspective it's quite a bit deeper than that, as most of that time has been spent doing mostly what would be termed an SRE these days, but still - at the end of the day I've been responsible for increasingly complex frontends for databases. The numbers 2^8 and 2^(8-1) come up all over the place.
- brunooliv 4y agoCan you provide some examples and a bit more context? I'm genuinely interested in knowing more! I spend my time writing APIs and optimizing the DB layer all in postgres and springboot and I sincerely need to "squint" to come across those values in a way that directly affects my work so I'm genuinely curious :)
- BrandoElFollito 4y agoI would add that 254/255 also matters in networking, another area to add to your C/microcontroller one.