yazaddaruvala
Joined 13 years ago
Joined 13 years ago
I think the best bet is to let a hundred developers play at it for a bit. There will be a lot of bespoke domain specific declarative languages. They will over time learn from each other to be better and better.
Experiments like GoogleSql’s pipe syntax https://docs.cloud.google.com/bigtable/docs/reference/sql/pi... getting pushed even further and further. That’s where I’d put my money. Cloudflare might be another candidate for building such a programming language for the distributed compute and memory “machine”.
(Also once we are there) I think there will be even better questions: What does programming CRDTs like a blockchain that reconcile across Mars and Earth look like? and in that way, LLMs will constantly be useful helpers to explore the state/latent space.
We need “a declarative language flexible enough to do what the product requires”
Very few developers look at the underlying “source code” that this SQL compiles into. Very few people even read the “source code” that tsc outputs.
The reality is the lowest level checkpoint worth looking at and understanding is the highest possible abstraction layer which preserves 100% of the needed precision and flexibility that the product being built requires.
Also, you’d just use something like sscache or just .o files to speed up compilation. It’d be unusual to store compiler MIR/LIR in git.
I think the important part will be figuring out what we need from the higher level language that achieves 100% of the precision and flexibility of Rust for the product being built.
https://aws.amazon.com/blogs/storage/how-automated-reasoning...
Likely, a proliferation of experimental languages all somewhat akin to Typescript for SQL with significantly more nuanced operators to tersely capture the same outcomes as imperative languages.
They’ll compile down to be able to run performantly for game development or even for the Linux kernel (as if Linus would ever agree lol) but also they’ll be able to run on distributed execution engines with effectively a shared memory space, etc.
Allows for significantly more terse artifacts. Lower chance of hallucination, fewer output tokens, fewer thinking loop iterations and concise enough for humans to review (for domains that need it).
On top of that, additional theorem like syntax to drastically limit the ability of functions, etc. likely some sort of higher level effect system for verification. Used for many things like “constant time compilation for crypto functions”, and also “ensure acid compliance” for writes and reads in a local context, and things like “ensure only once delivery” for functions on a distributed execution engine.
At which point every program will be formally verified by default. You could think of it as AdaErlangSQL+++
Purpose rebirth is the re-finding of play in the thing we choose to partner with AI (likely with a paycheck attached) to do N hours a week.
I think you’re right that mechanically I’m saying the same thing as they are saying “use AI to build your dreams”.
I think the psychology is the difference. Specially, “oh it can now do that too” has to be met with “finally” rather than “no way! That was supposed to be human only”.
eg “what are we after?” Is also likely a question that will be solved by AI in N years after mathematicians chip at it for all that time.
Any and every singular focus will be eliminated. There will be more tho to work on - that’s where the purpose rebirth is. I think.
Maybe said differently, I think one day these same authors will write the post - “more of math is handled by AI. It doesn’t matter. We will work on the infinite amount of it that’s left. Whatever that happens to be, even when we are surprised it wasn’t what we tried to control it to be.”
That will be acceptance. That we’ll be purpose rebirth.
Maybe reread my comments in both contexts.
Capitalistic acceleration will most definitely keep trampling on anything in front of it. Because, the humans with capital will steer it that way.
Eg OpenAI steering the “AI the tool” at Navier Stokes on a rumor (inaccurate as we found out) of Anthropic having solved it.
Meanwhile, I really don’t believe the narrative about fewer jobs.
As long as you’re curious, as long as you continue learning, the new tools and focus on the parts of your current job that involve judgment you will continue putting food on your table as long as you are alive.
Use any and every tool you have to save the people around you time, and the C level will continually fight to keep you.
When AI gets good at something you are good at - great use the time (accelerated by using AI for self help) to find another thing you’re good at the AI isn’t yet. Make sure you have 3-4 things you’re good at at any given time so as AI gets good you have redundancy.
What I want tho would be Rust+Akka for example. There has to be a distributed execution mechanism that is as seamless as Java’s GC. Then the distributed execution mechanism needs to evolve to also be as light weight and “zero cost” while being seamless like Rust’s compile time memory management.