cross-posted from: https://sh.itjust.works/post/52190045
Microsoft wants to replace its entire C and C++ codebase, perhaps by 2030
cross-posted from: https://sh.itjust.works/post/52190045
Microsoft wants to replace its entire C and C++ codebase, perhaps by 2030
Uhm what? No. That is a stupid thing to say. It is primarily intended for computers to execute, but in a way that humans can understand.
It’s definitely for humans first and computers second. Compiled, machine code is for computers, everything else are tools so that humans don’t have to deal with machine code. An abstraction made by humans for humans to use.
This is one of the issues I see with LLMs for code: instead of engineering and leveraging machine learning for optimizing specific problems, we’re now forcing text prediction engines to write human oriented text that happens to be a programming language.
This is stupid. The whole point of programming is to make computers do things. Before computers, “code” was just hand wavy equations. Sum from 1 to n stuff.
Yes it is designed so that humans can understand it, but the point is to make computers do stuff. Very obviously.
You wouldn’t mind writing machine code then? Ok, I’ll give you assembly. It’s all that’s needed to tell a computer what to do.
Of course I wouldn’t write in raw machine code, or even assembly. We invented higher level languages that are more powerful and easier for humans to use…
But the purpose is still to make machines so stuff!!! I’m not just writing code so that other humans can marvel at my algorithms.
This is so freaking dumb.
And that is my point. The primary purpose for all these abstractions is for humans to use. It’s first and foremost designed to be read and understood by humans, to make programming easier for humans.
@mr_satan @FizzyOrange
That is a far cry from where we started.
“Code is primarily to communicate from human-to-human, and only incidentally for computers to execute”
Make computers do stuff for what purpose?
I joke to my family that I just name things for a living. When you take away all the incidental stuff like files and pointers and ports, that’s really all it is. “This sequence of events with these properties is called <this>, and when you ask our system what to do about it, it does this other sequence of events with these properties which we call <this other name>.”
It’s kinda like those ancient stone tablets that are the first example of writing, and they’re just like “Ramses owes Jeremiah 5 chickens” or whatever. It’s just how we manage abstract concepts moving around our civilization. Yeah there’s math involved, but every endpoint is a human being in one way or another.
For whatever task you’re trying to get them to do. Predict the weather, solve an equation, format a document, etc. Computers can do useful things. We program them so that they do those things.
This is the most ELI5 thing I’ve ever written. If you actually understand programming and you don’t realise that it exists to make computers do things then you’re surely just being deliberately obtuse.