I also believe we underestimate how much that costs us too. Yes, it is good that fewer people are breaking their bodies on brutal physical jobs.
But there are many people in the world for whom their physical strength and dexterity are perhaps their most valuable asset. With the loss of those jobs came a loss of an avenue of meaning for them.
I could be wrong, but I have a hunch that the whole manosphere alt-right conservative thing going on in the US is driven in part by a generation of young men who don't find intellectual work to be appealing but don't see many alternatives out there either. It's telling how closely Gamergate is tangled up in that world and how many games are basically simulations of heavily physical prestigious roles.
A recent Onion headline really hits the nail on the head: "'This Here Is Probably Our Bestselling Love Seat,' Says Man Who Would Have Been Powerful, Revered Warrior 4,000 Years Ago"
I basically agree with your "higher level reasoning", but not your statement that we previously only automated muscles.
Also relevant: https://en.wikipedia.org/wiki/List_of_obsolete_occupations
(No, compilers are not deterministic)
Having used, designed, and written compilers, this is news to me. Please, elaborate.
People aren't just using AI for writing code, but for all of their decision making. AI is far from limited to writing code.
Sure. I wrote out specification that described the problem. It compiled that into a description of how to deal with it.
> People aren't just using AI for writing code
Compilers have never been about producing code in particular, though, even if that is where they are most commonly used. A LaTeX compiler, for example, outputs books. To think they are about code exclusively is a grave misunderstanding of what a compiler is.
And what, pray tell, are those books output by TeX? That's right, PDF or PostScript code.
The LLM usage I see from most people has the LLM write out the specification, asking clarifying questions as needed. If you're using LLMs as you describe, you're using them ineffectively.
If the compiler is writing the specification, what purpose does the person serve? That is not what I'm seeing out in the wild, though. Perhaps what is happening in research labs aside, compilers, even those implemented as an LLM, don't do anything until the user specifies their intent.
In fact, you literally recognized that in your earlier comment, asking about my action to specify my problem. Not sure why the story is changing now? There is probably a day where the systems solve your problems before you even know you have them, but we're not there yet. The technology hasn't advanced that much in the span of a couple of hours.
> asking clarifying questions as needed.
Sure. Even the earliest, most primitive compilers would seek clarification if there was something that it felt required more information. That's expected.
> If you're using LLMs as you describe, you're using them ineffectively.
LLMs are just compilers so they can't do anything else. Maybe you're thinking of some technology that is layered on top of a compiler like an IDE, REPL, or something to that effect?
Can you tell me what the last question GCC asked you was, and can you rate its coherence in comparison to your colleagues questions?
I might just not know enough compilers, but didn't you write the specification of how to approach the problem, not just the problem itself?
If we take "write the specification of how to approach the problem" at literal value, you might be narrowly thinking of a low-level compiler, or what sometimes gets called a transpiler? However, compilers encompass a much wider spectrum than that. Generally they enable users to operate at higher levels of abstraction.
Even so, I'd argue that you still have to define how to use those abstractions rather than only the result you'd like to achieve with them. Sure, maybe the abstraction has a ".achieve_the_result()" method, and calling that method is how you achieve it, but often there's a bunch of stuff you fit together to achieve a solution to your problem and the compiler doesn't necessarily do that for you.
I think there actually may be some compilers that get closer to this, for example some problems can be expressed quite elegantly in Haskell or APL and the compiler will do a lot of black magic behind the scenes to get you a performant executable (somehow). But for most traditional compilers you are still going to have to define how to approach your problem, even if only at a higher level thanks to libraries.
But more importantly, if you insist on treating LLMs like compilers, then the source language – natural prose – is the worst programming language ever invented. Coding the world in brainfuck is a better idea than where you lot is suggesting we go.
That’s very generous of you to call it that way.
It’s a parody at best.