Plain English Programming wrote:Imagine a programming language that:It's Plain English.
- Has keywords like A, AN and THE
Lets you code what you're thinking
Can recompile itself in 3 seconds
Our Sample Application
Imagine a program that can paint:The Complete Package
- Any person, place, or thing you name
In the style of Claude Monet
In 300 lines of Plain English codeFrequently Asked Questions
- Full-Screen Desktop Interface
Super-Smooth Text Editor
Elegant Page Layout Program
Plain English Compiler and Linker
General Purpose Subroutine Library
Over 100 Pages of Documentation
Source Code for All of the Above
What language is it written in? - Plain English.
Does it produce native code? - Nothing but.
Does it need a runtime library? - Absolutely not.
What do I need to run it? - Windows XP, Vista or 7. Yuk.
How big is the download? - About 1 megabyte.
What format is the documentation? - PDF with Plain English source.
Plain English Programming
Plain English Programming
- thepowersgang
- Member
- Posts: 734
- Joined: Tue Dec 25, 2007 6:03 am
- Libera.chat IRC: thePowersGang
- Location: Perth, Western Australia
- Contact:
Re: Plain English Programming
Interesting concept, but just as en experiment.
Programming needs to be too precise to be properly controlled using a "natural" language, especially English.
I foresee a large-ish project in this language being as incomprehensible as legalese, except filled with clumsy terms in stead of precise terms.
Programming needs to be too precise to be properly controlled using a "natural" language, especially English.
I foresee a large-ish project in this language being as incomprehensible as legalese, except filled with clumsy terms in stead of precise terms.
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Re: Plain English Programming
Hi,
Cheers,
Brendan
I think (after looking at the source code for their demo) that it's a strict/formal grammar that can't handle arbitrary English in any way whatsoever. For example, I seriously doubt that "The text has a box and a string." could be written as "There's text and a string, both owned by the box." (or any of the many other ways you could rephrase it).thepowersgang wrote:Interesting concept, but just as en experiment.
Programming needs to be too precise to be properly controlled using a "natural" language, especially English.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Re: Plain English Programming
Really nice artistic work! I had some fun and excitement while reading this. Imagination makes plain world to shine with a lot of colorsmikegonta wrote:Plain English Programming wrote:...
Also I see here an example of an almost ideal self-documenting code. Really useful feature.
But there is a problem - how a code can be efficiently managed when one chunk of it takes 481 kb (as is the case for "the noodle")? And even 33 kb of the "the editor" is a lot of brain-f**k, just because we need to realize in mind a call tree of a size of "too many lines" as is the case, for example, here:
And we need to do such trick for every line of the code. But may be there are some helpful rules, that had assisted you during the obviously long development process? What was a criteria for placing a code in the library (the noodle) and another in the actual program (like "the editor")? How long it took to remember all library procedure names (and there are at least 2000 names in "the noodle")? Or there is some additional documentation like API reference or something alike?to add to some blocks:
create a block.
to create a block:
allocate memory for the block.
to allocate memory:
...
Re: Plain English Programming
Somewhat true. It get's even worse when working with more complex (and stupid) languages, such as Spanish. The "code":thepowersgang wrote:Interesting concept, but just as en experiment.
Programming needs to be too precise to be properly controlled using a "natural" language, especially English.
I foresee a large-ish project in this language being as incomprehensible as legalese, except filled with clumsy terms in stead of precise terms.
Code: Select all
to add to some blocks:
create a block.
to create a block:
allocate memory for the block.
to allocate memory:
Code: Select all
para agregar algunos bloques:
crear un bloque.
para crear un bloque:
asignar memoría para el bloque.
para asignar memoría:
...
Happy New Code!
Hello World in Brainfuck :[/size]
Hello World in Brainfuck :
Code: Select all
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
Re: Plain English Programming
Only if you think that this is ideal documentation:embryo wrote:Also I see here an example of an almost ideal self-documenting code. Really useful feature.
Code: Select all
xyz++; /* Increase the value of xyz by one */
Re: Plain English Programming
I see you spanish sample as absolutely acceptable way of translation the idea to another language.KemyLand wrote:This a grade of magnitude harder to parse than its English equivalent.
After you read the rules the simplicity of parsing will be obvious.
Code: Select all
Alrighty then. Here's how I manage to do so much with so little.
(1) I really only understand five kinds of sentences:
(a) type definitions, which always start with A, AN, or SOME;
(b) global variable definitions, which always start with THE;
(c) routine headers, which always start with TO;
(d) conditional statements, which always start with IF; and
(e) imperative statements, which start with anything else.
(2) I treat as a name anything after A, AN, ANOTHER, SOME, or THE, up to:
(a) any simple verb, like IS, ARE, CAN, or DO, or
(b) any conjunction, like AND or OR, or
(c) any preposition, like OVER, UNDER, AROUND, or THRU, or
(d) any literal, like 123 or "Hello, World!", or
(e) any punctuation mark.
(3) I consider almost all other words to be just words, except for:
(a) infix operators: PLUS, MINUS, TIMES, DIVIDED BY and THEN;
(b) special definition words: CALLED and EQUAL; and
(c) reserved imperatives: LOOP, BREAK, EXIT, REPEAT, and SAY.
The lack of high level structuring power was mentioned in my previous post. But the lack of low level understanding among non programmers seems wasn't noticed by many programmers. So there are a lot of losses in translation.Kevin wrote:Only if you think that this is ideal documentation:embryo wrote:Also I see here an example of an almost ideal self-documenting code. Really useful feature.Usually the job of documentation is to explain higher level concepts, not to describe the code line by line and expression by expression.Code: Select all
xyz++; /* Increase the value of xyz by one */
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Plain English Programming
By the looks of it they essentially "invented" another incompatible flavour of BASIC
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re: Plain English Programming
Sorry for coming late to the game, but I wanted to point out that there already exists a programming language called English (which, like this one, is essentially a BASIC offshoot), and that one is trademarked. It is (or was, I think it has been off of the market for some time) the default scripting language for the Pick operating system, which dates back to the mid-1980s.
EDIT: It seems Pick OS is still around, but due to legal wrangling, they renamed 'English' as 'ACCESS'. I'm surprised that they never sued Microsoft over that, or vice versa. Also, it seems I was mistaken about English being a BASIC derivative; it was a SQL derivative, instead.
EDIT: It seems Pick OS is still around, but due to legal wrangling, they renamed 'English' as 'ACCESS'. I'm surprised that they never sued Microsoft over that, or vice versa. Also, it seems I was mistaken about English being a BASIC derivative; it was a SQL derivative, instead.
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.