Re:First Rust Code Shows Up in the Windows 11 Kernel
by pharmakom on Saturday May 13, 2023 @05:32AM
(#35926890)
We can model programming as search, but programming as humans do it is more like design than search. I mean this in the qualitative and experiential sense.
I don’t sit in front of the screen as candidate programs flash by until I see the one that I want.
I also don’t edit by AST transformations from one valid program to another, like edges in a graph.
I really don’t see the possible program space as all that relevant.
Re:First Rust Code Shows Up in the Windows 11 Kernel
by maxbond on Saturday May 13, 2023 @05:38AM
(#35926913)
I think of design as search too, so I think this is just a difference in the way we think, and that's fine.
Re:First Rust Code Shows Up in the Windows 11 Kernel
by pharmakom on Saturday May 13, 2023 @05:46AM
(#35926949)
Most programmers (including myself) are editing unstructured text and after that text is written the editor will tell them if it’s valid code or not.
Edit: I cannot reply, but there are structured program editors out there you may find interesting!
Re:First Rust Code Shows Up in the Windows 11 Kernel
by maxbond on Saturday May 13, 2023 @05:49AM
(#35926956)
Yes, of course I do too, I live on the same planet, but that's an unstructured interface to changing the AST.
(You can reply to comments when the reply button is hidden by clicking the link to go directly to the post. I consider it a polite request by dang to consider whether a conversation is getting too heated, which I don't think it is here at all. Cheers, I'll try to check those editors out.)
If you cap the number of tokens, the are fewer Rust programs. If you prefer, things that may be done implicitly in Python must be done explicitly in Rust - there are fewer valid choices when constructing a program; or equivalently, as you write a Python program, the options for your to proceed fan out faster.
Really we aren't searching the whole space of programs though. We understand that adding no-ops to a program doesn't move us out of the equivalency class of that program (unless we're actually using those for timing or another side effect, of course, but then they are no-ops in name only). We're only searching through programs that reasonably solve the problem at hand. Maybe that space is infinite, I don't think so.
I think of programming as being a fuzzy beam search (among other ways I sometimes think about programming). Your salience may vary, feel free to drop in a metaphor of your choosing there.