Live data from Hacker News

We have used too many levels of abstractions

unixsheikh.com

91–100 of 564 posts

Re: We have used too many levels of abstractions

#92
This could be applied to society as a whole. Currencies are an abstraction on bartering which is an abstraction on doing every task required to support your life and family yourself. Each layer of abstraction creates a specialization and efficiency. Those who consume the abstractions may lack the details, but they have levers long enough to move mountains! Those who provide them have a valuable role. Don't be afraid, we must keep making more.

Re: We have used too many levels of abstractions

#93

Earlier quoted context omitted.

There will be an increasingly important history component in comp sci., software engineering, infosec, and associated fields. I think this is a place where the IT field has done a bad job and, as a result, we've had unbelievable amounts of "wheel reinvention". I'd love to hear from somebody with experience in scientific or other disciplines and IT who could contrast their fields with ours. I only know that I have had…

I've heard that advanced math has a similar problem, that some subjects are quite deep that only a handful of people really understand the topic and passing the knowledge down to younger mathematicians is not a given.

Are there good historical examples of this happening, where foundational knowledge is completely lost?

I know I have read about it in books as a fiction, but I assume it must have already happened here before.

Maybe its an oxymoronic question to ask, seeing as if its lost we might not even know its lost, but more in the vein of "We put the lime in the mortar because this is what we have always done", unaware of the actual properties of lime when interacting with concrete.

Re: We have used too many levels of abstractions

#94

Earlier quoted context omitted.

That's what I mean by "precious few". I am continuously hiring new people, mostly senior devs and tech leads. Maybe one in a hundred has any understanding of what virtual memory is. Or why one process can't access memory of another process and, if you really want it, how to set it up. Two decades ago that was common knowledge. It went away just as the knowledge of how networking works. Currently, if they try to open…

The thing is as someone who twenty plus years ago was able to write the webserver at socket level and so on, if you handed me a keyboard today I have forgotten all the context, the skills - they have pages out of my brain and now have redis and javascript and hadoop.

But you know those things exist and how things relate to each other and affect each other, or could affect each other, and you don't need to already have a mental text book in ram to solve a problem. I don't know you and yet I know this.

Re: We have used too many levels of abstractions

#95

Earlier quoted context omitted.

> spending a decade working with a low level programming language before you jump into high level programming language is simply not an option. Nobody said that. But spending a week is definitely an option to all programmers, and many would benefit from it.

You can get ahead very far with a 16h free course on kernel development https://training.linuxfoundation.org/training/a-beginners-gu... A motivated person can run through it in a couple weeks while working a day job.

Ugh, why do they want me to register to access a free course.

Re: We have used too many levels of abstractions

#96
Having worked for many years in IT in Denmark I would say that the author is right, but many of these are luxury beliefs, since in Denmark people are given alot more time to do their job right than in many places. In many parts of the world developers are not given the time to understand anything, and end up working 8 hours after the job to understand the tools in their own time

Re: We have used too many levels of abstractions

#97
It is all about how much risk do we tolerate in the western world.

People are getting nervous because if a war with China would happen with a rapid de-globalization something akin to the "1970s energy crisis" would happen in the semiconductor and digital world.

Well price of our beloved computers and devices would probably need to go more than 10x and around 100x for things to get really interesting.

If this would happen, your cloud native scalable & hyper convergent smart platform powered by AI would feel like a car that have been designed when oil was $15 a barrel. Not exactly what you need right now.

Company would seek the services and even surrender to the blog author like a life long addict seek help and realize he wants to live once he reached the bottom.

Until this happen, this is just an old man rant.

Re: We have used too many levels of abstractions

#98
The other thing is that we've adopted the wrong abstractions on many occasions. Today, in the software industry, we have an arrogant mono-culture which believes that we're at the end of history and have figured it all out... But in fact, I believe we've gone down the wrong path with many more recent tech. I feel like everything was moving on the right direction until around 2014... Then it's like progress started going backwards and we started using all the same hyped up frameworks. Companies started forcing everyone to use these frameworks and now software development has become both inefficient and demoralizing.

I know the current mainstream state of the art is inefficient for sure because I've built an SDK which I use for my own projects and I'm at least 10x more productive with it than with mainstream frameworks I used during my day job and the code is way easier to read and maintain. I could show the code to a junior dev who doesn't know any frameworks and they will be productive with it. I wrote a no-code BaaS (Back end as a Service) platform in 2 months part time using my SDK. I highly doubt I or anyone else could have done this in 12 months full time using mainstream tools and frameworks.

Re: We have used too many levels of abstractions

#99
post #79

Earlier quoted context omitted.

Im from the new breed. I'd like to know all that but, where do I get the money? It's not like I can spend so much time tinkering without producing. If at least was able to purchease a home I wouldnt have this pressure. I guess in the US is different because people have higher salaries. You have to have the time/resources to dive that deep. Or maybe it's your job, line some of the folks in a local company that work in…

One little-appreciated fact is that many of the most accomplished and knowledgable engineers were tinkerers from an early age. If you start your computing journey at the age of 18 with a compsci degree, you might already be a decade behind some of your peers. It’s not too different from pro tennis players, who typically start playing before the age of 8. For those at the top of the game, computing is a calling as muc…

You might be a decade behind, but there's still diminishing returns kicking in hard even just a few years in. That's disregarding inefficient learning and what else which may close the gap further.

Your latter point is far more important to the matter. Those who treat it as a passion more so than a job, are more likely to be the trendsetters. Growing up and being free from responsibilities makes it easier for that thing to become your passion.

And let's also not forget, a few decades ago, computers weren't exactly a cheap thing for parents with little understanding to let their kids tinker with at will. Being born in a family with enough wealth to get a computer, enough wealth / understanding to let a kid tinker with it, was an immense boon. A long with anything that type of family tends to have going for it alongside wealth. It's not that far-fetched an idea that it's the other things, rather than the early age interest of the kid itself, that got them into such a position later in life.

Re: We have used too many levels of abstractions

#100
"Don't just learn tools, try to understand how the underlying technology works."

Sound advice imho:

"If you understand the nature of the beast, you know what it's capable of."

Rarely -if ever- necessary to know all the gritty details. But it sure helps to understand the structure of what's underneath, or how it uses whatever is underneath that.

For example: I'm no mechanic who knows the outboard ICE on my boat like the inside of his pockets. But I do know it's a 2-cylinder, 4 stroke engine, how those cylinders sit in the engine block, how to unscrew the sparkplugs & check those, what the various other parts & hoses are for, and (roughly) how much fuel it should consume for trip x, y or z.

Imho that's about the level of understanding programmers should have about the tools of their trade.

Post reply on HN