The Malevolent Mathemagician | Natural Language Programming
Posted: Fri Mar 23, 2018 12:28 pm
The Place to Start for Operating System Developers
https://f.osdev.org/
Is it just me or is this article really rambling and vague?mikegonta wrote:https://www.geeksforgeeks.org/the-malevolent-mathemagician-natural-language-programming/
Line slope is often used in place of angles. (and I guess he thinks Euclid was a roofer?)We began by borrowing some ideas from non-mathemagicians, like old-time roofers and ancient explorers. From the roofers we got the idea that angles can be expressed in “rise over run” terms (instead of degrees); and from explorers we got the idea for something more natural than the infamous “unit circle” of the mathemagic world: the compass. This is a picture of our Osmosian compass:
Search skills, maybe?StudlyCaps wrote:Finally when I google Osmosian I just get links to an alien race from a cartoon, so I don't know what the deal with that is.
You should know that that is not the real reason (even if you don't yet know the actual reasons).DavidCooper wrote:It's written by Gerry Rzeppa, the Plain English programming guy. ...
He also dislikes nested loops and nested if-clauses, probably because it's easier to write a compiler if it doesn't have to handle them.
Especially when you read past the first page...StudlyCaps wrote:That manifest sure is something...
I don't like being forced by a programming language to make an unnecessary call to what should simply be an inner loop. It makes it harder to read what the program does, and that's why I don't buy his reason for it. I'm sure there are also times where it is better to do it the way Plain English forces you to, but I want to be able to decide for myself when to do that. It's the same with nested "if"s. However, these issues appear to come down to compiler simplification - it's just a prototype system and not the end product, which also excuses the simple way he's put the machine code fragments into it. It's a proof of concept, and it's an admirable one. The place where I part company with him most though is where he imposes his philosophy on how you have to do things instead of leaving it open for you to make your own decisions. And, as I said before, I learned a lot from looking at his compiler - it gave me ideas about how to automate the generation of parts of programs which I'm now following up. I like Gerry and consider anything he's written to be worth a look. (Many look and some see.)mikegonta wrote:Nested constructs are trivial to implement with recursive decent. While there are some programming languages which don't support
recursion, Plain English is not one of them.
Do you mean unnecessary typing or unnecessary call overhead? As I mentioned previously, an optimizing Plain English compilerDavidCooper wrote:I don't like being forced by a programming language to make an unnecessary call to what should simply be an inner loop.
Factoring the code into separate functions is what makes it easier to read and understand.DavidCooper wrote:It makes it harder to read what the program does, and that's why I don't buy his reason for it.
Sounds a bit too optimistic to me.DavidCooper wrote:(Many look and some see.)
I actually read all three pages, but I kinda switched off when I realized it was ~ style pairing of delusions of grandeur and the old fallacy of "if I don't understand X then it is impossible, because I'm very smart".mikegonta wrote:Especially when you read past the first page...StudlyCaps wrote:That manifest sure is something...