Low level is easy (2008)
yosefk.com
Low level is easy (2008)
1–10 of 103 posts
Re: Low level is easy (2008)
#2Nevertheless, I chose the path of the frontend (specifically mobile) because it fascinates me when a lot of people see on their screens something that you have built. A lot more than building a system that only the internal frontend devs are going to appreciate (or not).
Re: Low level is easy (2008)
#3I have known this for many years but found it difficult to explain to others. Backends are so much easier to build compared to frontends, and I mean decent and reliable ones. The attitude of the backend people of looking down upon frontend people is really stupid and unsubstantiated. Though scalable backends are increasingly getting their own layers of complexity these days, but still, on the backend you will never d…
Re: Low level is easy (2008)
#4I have known this for many years but found it difficult to explain to others. Backends are so much easier to build compared to frontends, and I mean decent and reliable ones. The attitude of the backend people of looking down upon frontend people is really stupid and unsubstantiated. Though scalable backends are increasingly getting their own layers of complexity these days, but still, on the backend you will never d…
Evidence would suggest otherwise. I can build a decent and reliable frontend with a no code solution. That's not to say frontend is "easy", just that trying to say which is harder is ridiculous. They're different.
I personally don't like working on frontends because it feels like getting on a hamster wheel that spins faster than in any other domain. ymmv though.
Re: Low level is easy (2008)
#5"An operating system," replied the programmer.
The warlord uttered an exclamation of disbelief. "Surely an accounting package is trivial next to the complexity of an operating system," he said.
"Not so," said the programmer, "When designing an accounting package, the programmer operates as a mediator between people having different ideas: how it must operate, how its reports must appear, and how it must conform to the tax laws. By contrast, an operating system is not limited by outside appearances. When designing an operating system, the programmer seeks the simplest harmony between machine and ideas. This is why an operating system is easier to design."
The warlord of Wu nodded and smiled. "That is all good and well, but which is easier to debug?"
The programmer made no reply.
– The Tao of Programming, 3.3
Re: Low level is easy (2008)
#6I think people generally perceive low-level/backend work as more objective, scientific, and rigorous.
Re: Low level is easy (2008)
#7I have known this for many years but found it difficult to explain to others. Backends are so much easier to build compared to frontends, and I mean decent and reliable ones. The attitude of the backend people of looking down upon frontend people is really stupid and unsubstantiated. Though scalable backends are increasingly getting their own layers of complexity these days, but still, on the backend you will never d…
That's interesting, do you have a source for this?
For reference the Qt5 framework only has about 25k publicly documented functions and the shared libs expose ~100k symbols.
Re: Low level is easy (2008)
#8I have known this for many years but found it difficult to explain to others. Backends are so much easier to build compared to frontends, and I mean decent and reliable ones. The attitude of the backend people of looking down upon frontend people is really stupid and unsubstantiated. Though scalable backends are increasingly getting their own layers of complexity these days, but still, on the backend you will never d…
>If you don't believe me, UIKit alone exposes I think about half a million public symbols. That's interesting, do you have a source for this? For reference the Qt5 framework only has about 25k publicly documented functions and the shared libs expose ~100k symbols.
Re: Low level is easy (2008)
#9There was once a programmer who was attached to the court of the warlord of Wu. The warlord asked the programmer: "Which is easier to design: an accounting package or an operating system?" "An operating system," replied the programmer. The warlord uttered an exclamation of disbelief. "Surely an accounting package is trivial next to the complexity of an operating system," he said. "Not so," said the programmer, "When…
I think I understand the intuition behind that... in other words... coding an os kernel seems to have less entropy, less degrees-of-freedom, less subjectivity ... than frontend programming like painting GUI pixels and Javascript-framework-of-the-month.
But there's a lot of subjectivity and philosophical debates about low-level os design:
- the famous "Worse is Better" essay tries to explain difference between "New Jersey approach" (Bell Labs UNIX) vs MIT approach of error handling in a system routine [1]
- famous debate between Linus Torvalds and Andrew S. Tanenbaum about microkernels vs monolithic kernels [2]
- David Cutler (designer of VMS & Windows NT) criticizing UNIX i/o architecture[3]
- even lower level than o/s is cpu design where some criticize RISC-V not having arithmetic overflow traps in the minimum base specification. And in the 1990s, the RISC (MIPS philosophy) vs CISC (Intel philosophy) was a big debate.
[1] https://dreamsongs.com/RiseOfWorseIsBetter.html
[2] https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_deb...
[3] https://retrocomputing.stackexchange.com/questions/14150/how...