Live data from Hacker News

We have used too many levels of abstractions

unixsheikh.com

341–350 of 564 posts

Re: We have used too many levels of abstractions

#341
post #314

As a 15+ years webdev my recent projects in the front-end are almost pure "vanilla JS" (Just JS) + Html, and CSS with only Petite Vue / Alpine on top. I find the modern Vue, React etc. stacks absolutely insufferably complex and prone to breaking in 1000 places each time you upgrade some package, or change som random thing in the already stupidly complex "Tooling/Build" chains people are setting up by default. And it'…

What are you using server side? I've been looking outside the JS world for an alternative for doing full stack dev and Laravel Livewire seems like an amazing alternative for like 80-90% of use cases. Something like Alpine, vanilla, or even Lit for the more sophisticated interactions.

I've used both Laravel and Python Flask. Both are very mature, fast and relatively simple of you strip them down. Though to be honest i'd like to go even more barebones on the backend and have experimented with pure PHP (which is also quite mature these days) + a few symphony - packages but isn't totally there yet.

Re: We have used too many levels of abstractions

#342
I think there needs to be a clearly defined difference here between professionals and experts.

You can be a professional in the field, but until you understand all the layers of abstraction, you aren't an expert. You can't diagnose those deep problems and fix them.

Professionals are paid to work in an area, and are thought to know enough not to be horribly dangerous.

Experts, on the other hand, are supposed to understand and have some competence in all the layers of complexity/abstraction present.

It can take decades to reach expert status in a given area.

A few weeks ago I had occasion to talk with a working computer security professional, and asked him about data diodes[1], and often they are used... he'd never heard of them. Often here on HN, I make comments about capability based security[2], and everyone mistakes it for the permissions flags on smartphones. This tells me there aren't many experts in the field of computer security.

The same is true in other fields, you can be a CNC machinist, but until you know about the Whitworth 3 plate method[3], you're not an expert.

[1] https://en.wikipedia.org/wiki/Unidirectional_network

[2] https://en.wikipedia.org/wiki/Capability-based_security

[3] https://www.wadeodesign.com/flatness-3-plate-method.html

Re: We have used too many levels of abstractions

#343
post #332

I think there is one interesting angle to this problem. I am someone who grew up with the technology, as the levels of abstractions were being added. I am now benefiting from all those accumulated decades of knowledge. As the IT / development world was changing, I had enormous privilege and comfort to learn the things at the pace they were happening. Being able to assimilate changes over long decades. Be a witness to…

I think you may be confusing what you see with the cause. For example: You and I HAD to be willing to go through that, and we were fascinated by it. There are still plenty of great FE and BE young devs who see something and instantly ask "How does this work" and keep going down. The difference is, most people in employment don't HAVE to do this like all people in our early career did. If those shortcuts to getting pa…

Precisely this. Some people have an innate intellectual curiosity. Some do not. I do not enjoy working with the latter.

Re: We have used too many levels of abstractions

#344

Earlier quoted context omitted.

Do you have any ressources to share ? I am a self taught developer, I do stuff at my level (typescript, lisp), also because when you work alone, such high level languages allow you to express things nicely and fast . I kinda know how a cpu works, I understand what is going on when you perform some bare metal programming, but I never barely went down the rabbit hole and performed some low level stuff. I'm in the situa…

For very foundational stuff, Charles Petzold has put out some great books. His book Code is fantastic. He starts at simple battery and lightbulb circuits and builds and builds towards a simple CPU. He also wrote The Annotated Turing which is a breakdown of Alan Turing seminal paper and you only need high school math to get through it. When I was in school my favorite course was compiler design and we used Compilers:…

Thanks !

Ah, I'm interested in parsers these days (I just wrote one for parsing org data, I am a bit unsure about the architecture of the project but at least it does what I needed personally). I am right now at a friend's place that just showed my the dragon book from its shelves, that's a funny coincidence. I will check out Code.

Re: We have used too many levels of abstractions

#345
I see two reasons for these possible pitfalls:

- newcomers to programming reinvent wheels because it is a natural way to learn. That is why we often have alternative frameworks/CMS/languages and so on

- there are many crooks in the industry who thank their earnings mainly to marketing and contacts. They are also the most vocal to deceipt clients and developers alike

The amount of data has increased over the decades, but programming and software hasn't changed over 50 years. We face challenges to manage this workload.

Re: We have used too many levels of abstractions

#346

Earlier quoted context omitted.

Do you have any ressources to share ? I am a self taught developer, I do stuff at my level (typescript, lisp), also because when you work alone, such high level languages allow you to express things nicely and fast . I kinda know how a cpu works, I understand what is going on when you perform some bare metal programming, but I never barely went down the rabbit hole and performed some low level stuff. I'm in the situa…

> Do you have any ressources to share ? Godbolt [0] is an invaluable resource. But simply setting up tasks to yourself and completing them may be the best course of action. Then you'll find whatever resource you need for a concrete objective. For example, if you have a week, I'd suggest to start "in the middle", and move up and down according to your tastes. - Write a hello world program in C, compile it and run it.…

That's a nice recommendation, I have already done this type of stuff, but it seemed to me rather basic, I will check godbolt !

Re: We have used too many levels of abstractions

#347

Earlier quoted context omitted.

I completely agree here. The problem was that there was a shortage of developers, and that most universities still only had CompSci degrees, not Software Engineering degrees, coupled with those degrees were 3-4 years long... So enter the code bootcamp, where you're basically given a hammer, and taught that every problem can be solved with it.. Now those bootcamps aren't all like this, and there were and are good ones…

"and that most universities still only had CompSci degrees, not Software Engineering degrees" Is a Software Engineering degree really a thing? Perhaps outside the US? Can you point to a notable university that has this major? A quick search gives me the impression this is an online correspondence program type of thing. At UCSD in the late 90s we had a Software Engineering class but that was it. Otherwise internships…

UT Austin has an undergrad Electrical and Computer Engineering program, which you can specialize into Software Engineering and Systems. That’s about as close as you’ll get, I think, and since it’s ECE you’ll also have a fair amount of hardware experience - not a bad thing IMO.

They do have a full SWE track as a Master’s program, which I did, and quite enjoyed.

Re: We have used too many levels of abstractions

#348
post #174

Earlier quoted context omitted.

[flagged]

Wait do you also think the saturn V was fake then? doesn't seem like that stance holds up to scrutiny.

no I'm talking about a manned mission to the moons surface including all the cameras and "live" coverage as well as the lander. apparently that tech is lost.

Re: We have used too many levels of abstractions

#349
This is a constant source of pain for me since I started working 12 years ago after finishing college. I noticed when most people came to me with issues it was because they were afraid or just too lazy or didn’t know they could just read the source code or docs and go one level under the abstraction to figure something out.

My entire career so far i spent trying to get onto teams where others were doing the same as me but had more experience. In the years i spent on those teams i learned a lot. But as time has gone on a lot if those people have left into management which just isn’t the same as directly working with them on problems. I actually have also done the same recently.

When i look at almost anyone today they have no desire to understand what is going on with the tools they are using. Further more most of upper management pushes me to enable this by building more abstraction on top of abstraction they do not understand so when it breaks I or my team can fix the actual issue. Ensuring the developers have an easy out for anything that is outside knowing their framework and some basic syntax.

I always wonder if people felt the same way about me if they came from a background where they had to know assembly or other lower layers of the stack. At any rate even in the current environment I haven’t been worried about finding new work if needed. Their seems to be a very short supply of people anymore who know how things work under the hood or even have a desire to figure it out when it breaks.

Re: We have used too many levels of abstractions

#350

I think there is one interesting angle to this problem. I am someone who grew up with the technology, as the levels of abstractions were being added. I am now benefiting from all those accumulated decades of knowledge. As the IT / development world was changing, I had enormous privilege and comfort to learn the things at the pace they were happening. Being able to assimilate changes over long decades. Be a witness to…

Unless you're two hundred years old, you joined the development of this technology in the middle. There was already decades of progress in electronics and telecommunications theory and engineering that everything you listed was built on top of. Your predecessors likely thought it was all newfangled abstractions that obscured more fundamental knowledge, and your successors will think the same about whatever world they…

Exactly. How far should we take this? Should you learn how to build a processor from vacuum tubes before understanding the abstraction of silicon? Build the power plant to power the whole thing and lay the wires?

Specialization always exists in an industrial society.

Post reply on HN