The Malevolent Mathemagician | Natural Language Programming
-
- Member
- Posts: 232
- Joined: Mon Jul 25, 2016 6:54 pm
- Location: Adelaide, Australia
Re: The Malevolent Mathemagician | Natural Language Programm
Is it just me or is this article really rambling and vague?mikegonta wrote:https://www.geeksforgeeks.org/the-malevolent-mathemagician-natural-language-programming/
There seems to me to be zero connection between the strange anecdote in the intro and everything else except a odd anti-intellectualism contrasting "natural" and "rational" stuff with "mathemagic".
- DavidCooper
- Member
- Posts: 1150
- Joined: Wed Oct 27, 2010 4:53 pm
- Location: Scotland
Re: The Malevolent Mathemagician | Natural Language Programm
It's written by Gerry Rzeppa, the Plain English programming guy. He doesn't like some aspects of reality, such as numbers that can't be expressed as whole numbers, and yet he uses fractions happily enough in his code. 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. He doesn't like OOP on the basis that some parts of the way it's done are irrational, so he throws out the baby with the bath water. He's interesting though - I've learned a few things from seeing his mistakes, and he's helped me to see through what was a thick patch of fog.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c
MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
-
- Member
- Posts: 232
- Joined: Mon Jul 25, 2016 6:54 pm
- Location: Adelaide, Australia
Re: The Malevolent Mathemagician | Natural Language Programm
That explains a lot, this in particular is a head scratcher:
And I have no idea why the compass is considered an alternative to the unit circle, which illustrates points on a circle by their slope instead of degrees, which I guess is bad now. I also like the ultra convenient 384 degree compass he draws below, I guess he doesn't know 360 degrees was chosen due to how easy it was to factorise, something that seems like it would fit very well with his integer ratios only kinda deal.
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.
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:
And I have no idea why the compass is considered an alternative to the unit circle, which illustrates points on a circle by their slope instead of degrees, which I guess is bad now. I also like the ultra convenient 384 degree compass he draws below, I guess he doesn't know 360 degrees was chosen due to how easy it was to factorise, something that seems like it would fit very well with his integer ratios only kinda deal.
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.
Re: The Malevolent Mathemagician | Natural Language Programm
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.
On the second page (with the default 10 results per page) there is a github link to a fork of the original Osmosian Plain English compiler.
The 4th page has more related links, including the The Osmosian Manifesto.
Funnily enough, Forest Gump thought that Apple was a fruit company.
A google search for apple produces 10 pages before anything fruit related.
-
- Member
- Posts: 232
- Joined: Mon Jul 25, 2016 6:54 pm
- Location: Adelaide, Australia
Re: The Malevolent Mathemagician | Natural Language Programm
That manifest sure is something...
Re: The Malevolent Mathemagician | Natural Language Programm
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.
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.
Re: The Malevolent Mathemagician | Natural Language Programm
Especially when you read past the first page...StudlyCaps wrote:That manifest sure is something...
- DavidCooper
- Member
- Posts: 1150
- Joined: Wed Oct 27, 2010 4:53 pm
- Location: Scotland
Re: The Malevolent Mathemagician | Natural Language Programm
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.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c
MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
Re: The Malevolent Mathemagician | Natural Language Programm
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.
will eliminate the overhead by nesting the output. If it's typing you're concerned with, then maybe brainf*ck would be a better choice.
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.)
-
- Member
- Posts: 232
- Joined: Mon Jul 25, 2016 6:54 pm
- Location: Adelaide, Australia
Re: The Malevolent Mathemagician | Natural Language Programm
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...
Anyway I think the article (and manifesto) are poorly written, and I don't think much of their ideas, but I'll duck out now and let the people who are interested discuss it.