WhyNot?

English Programming Language

Category: Computer
Responses: 3 (2 in support, 0 neutral, 1 in opposition)
Number of views: 1559
Tracking: Track this idea
Community Rating:Average AverageYour Rating:

Alright... I had this thought last night as I was thinking about assembly.

My programming background isn't that heavy.. mostly consists of some Visual Basic and now learning some 6805 assembly stuff.. but last night I had this thought.

With the advanced (high level or very high level) text manipulation and interpretation that can be performed these days, how come we haven't seen an English Programming Language? :)

Being rooted in BASIC, I understand that this was the idea behind BASIC... a programming language that everyone can learn to understand and use quickly.

But what would be even easier, now that it's likely possible, is a plain english programming language.

By this, I mean the source file would be something like a text file.. and the interpreter would interpret the english language commands and build a program based on it. The commands for the English Programming Language could be something like this (consider this a raw source file):

<begin source>

First, create a window approximately 75% of the screen size. Then, add two menus to the top, one File and one Help. Under the File menu, add Exit. When a user clicks on Exit, the program should exit. Under the help menu, add a simple About option that describes this program.

Now create two buttons in the main window (the first one). The first button should say "Message", and the second one should say "Exit" (without the quotes). When a user clicks on Message, a message box should pop up saying "Hello, World!". When the user clicks on the Exit button, the program should exit.

<end source>

Now, I realize that at first it would be hard to create an interpreter to interpret all the instructions in that English Source Code.. but I'm sure that if it was attempted in steps (first, perhaps in point form.. then expand the interpretation engine to interpret sentences). I think one would find that as the engine is created, it should be easy to spot algorithms and such that could be improved upon, thus making the interpretation a lot better.

I'm not sure how applicable this would be to our society these days.. and how useful it would be. But like I said, I had the thought last night and decided what the heck.. I'll throw it out there to see if anyone else finds the idea as interesting as I do. :)

Either way, it sure would be neat. :)

Dylan

Dteyn, Jul 04 2004

What do you think of this idea or comment?
(You can change your vote at any time)

agree I agree no opinion No opinion disagree I disagree

Users who liked this idea also liked:

Other ideas in category (Computer):

SEARCH ENGINE that PAYS YOU (2 votes) Average
handheld Mouse ala tv remote (2 votes) Average
Dating site that doesn't suck (3 votes) Average
lighted computer keys (1 votes) Average
PC with a rotating stand (2 votes) Average
MEMO PEN (1 votes) Average
Web 2.0 Flashcard Website (5 votes) Strong
Facebook + Craigslist (34 votes) Very strong
Map Directions with Landmarks (5 votes) Strong
BUBBLE SONG STICK (3 votes) Weak
Free bulk email/spamming svc (5 votes) Weak
Ultimate Translator (9 votes) Strong
USB RAM (3 votes) Average
3 Screen Laptop (4 votes) Average
Built in DSL/Cable Modem (1 votes) Average
Pornography Solution Finally (1 votes) Average
Indexed Thesaurus (2 votes) Average
Hibernate button (2 votes) Average
Name dictionary (9 votes) Strong
Protecting Sensitive Info (2 votes) Average
Single Financial Statement (2 votes) Average
Burglar Deterrent Software (3 votes) Average
PCO cum Email sender (1 votes) Average
Keyboard protector (6 votes) Average
Light Emming Stickers (1 votes) Average
1.5 inch mini cds (1 votes) Average
NEW LAN CONNECTOR (2 votes) Average
Scan and Search (1 votes) Average
Printing white (1 votes) Average
UNIVERSAL LAPTOP HANDLE (3 votes) Average
Flag-rare-words feature needed (1 votes) Average
Genate energy from the heat (2 votes) Average
How about a MacBook Light? (1 votes) Average
An Idea for MacBook Light (1 votes) Average
Portable Cable Data Modem (1 votes) Average
Internet pornography solution2 (6 votes) Average
Smart ID Cards (3 votes) Average
FACE ID CARD (3 votes) Weak
www.complaint-here.com (2 votes) Average
LCD PROJECTOR CUM LAPTOP (4 votes) Average
Connectivity on Airplanes (4 votes) Average
DVD WRITER/LABEL PRINTER (1 votes) Average
LAPTOP HANDLE (2 votes) Average
dvd rom changer for laptop (2 votes) Average
ROUND/OVAL SHAPED LAPTOPS (3 votes) Average
USB LAMP (1 votes) Average
USB FAN (2 votes) Average
Programmable Desktop Wallpaper (1 votes) Average
Keyboard protection (2 votes) Average
New Type of Laptop (2 votes) Average
PEN PC (1 votes) Average
MP3 Player Tree (2 votes) Average
PEN DVD (1 votes) Average
PEN SCANNER (1 votes) Average
MEMBRANE MOUSE (1 votes) Average
Obit (3 votes) Average
Street light bulbs with wifi (5 votes) Average
RAM DISK (4 votes) Average
Ultra hip iTunes (1 votes) Average
Email and Spam (4 votes) Average
A keyboard for your lap (2 votes) Average
Web based OS development (1 votes) Average
Password Manager (1 votes) Average
wireless internet in cars (8 votes) Average
Metadata for TV (1 votes) Average
Context Frame (1 votes) Average
A Better Music Solution (2 votes) Average
Commerce Internet (2 votes) Average
User Friendly ideas (3 votes) Average
IE URL QUEUE (3 votes) Average
Hear your TV channel remotely (3 votes) Average
Central Software System (2 votes) Average
An OS of the 3rd Dimension (4 votes) Average
Download from BlackBerry (1 votes) Average
Projectable LCD monitor (1 votes) Weak
Print from Monitor (1 votes) Average
Stop spam forever (4 votes) Average
MIA MEMORY IN AIR (1 votes) Weak
Cooling plates as tower walls (1 votes) Average
MP3 for swimming (14 votes) Very strong
Facebook + Email (2 votes) Average
Wish List (4 votes) Average
Auto Vote (3 votes) Average
GPS ETA Alarm (3 votes) Average
Printer Gauge (2 votes) Average
Watching video tapes (2 votes) Average
Automated Want Ads (3 votes) Average
HOT Labtop to Cool labtop (4 votes) Average
Synchronize email and files (3 votes) Average
Laptop (3 votes) Average
Anti-SPAM Method (4 votes) Weak
Storage challenge (3 votes) Average
SMS ur computer (4 votes) Average
Testing testing (2 votes) Weak
Available apps (3 votes) Average
Ebay (2 votes) Average
VDU safe viewing distance (3 votes) Average
Google Toolbar (1 votes) Average
Google reader beta (1 votes) Average
Ebay natural query (3 votes) Average
Replacing Google Search Result (2 votes) Average
Projecting the screen on air (1 votes) Average
Reading and writing from air (1 votes) Average
Easier Google (2 votes) Average
Data storage challenge (1 votes) Average
GUI design for multiple applic (1 votes) Average
Representing multiple items (1 votes) Average
Search results (1 votes) Average
Program Run Sandbox (2 votes) Average
All Shows on iTunes (2 votes) Average
Wireless mouse switch (2 votes) Average
Net Frame (2 votes) Average
Railroad Communications (4 votes) Average
CPU credit card slots (3 votes) Average
Automatic machine search (1 votes) Average
English Programming Language (3 votes) Average
changing wallpaper (1 votes) Average
SENIOR PEOPLE (HRD,SFT & NET) (1 votes) Average
Decentralized number allocat'n (2 votes) Average
memolinker (1 votes) Average
One Big Computer (distributed) (4 votes) Average
Professional Product Pickers (1 votes) Average
Global (1 votes) Average
NO eBay listing fees (3 votes) Average
telemarketing pronunciation pr (2 votes) Average
Teaching -- Building Web Page (4 votes) Average
open source drivers (5 votes) Strong
A coffee next to your PC? (2 votes) Average
Take note of older users (9 votes) Average
Recognize Voice (2 votes) Average
Web printing (3 votes) Average
Peek around windows (4 votes) Average
P2P as the artists friend (4 votes) Average
Expensive printer cartridges (2 votes) Average
Loafer's Friend (3 votes) Average
Comments from other members:

Add your comment

First of all, programming languages based on English already exist. In Perl, a 'use English' clause will force perl to parse an English-like syntax. Applescript, a scripting language on the Macintosh, is extremely English-like.

The problem with English-like programming languages is that while they're easy to read, they can be hard to write. Applescript programmers will attest to that. English is a wonderful language for expressing human ideas, but is very inefficient for writing computer instructions. There is just too much redundancy in the syntax, and too much variability.

Natural-language programming languages were a fad in the 80s. The fad died off when people realized that it didn't really work - it made them less productive rather than more.

ernestworthing, Jul 04 2004

The best way of doing this, is following Apple's example with their Cocoa framework and Obj-C. Instead of hard to read variables and function names, use descriptive names.

jbrimm, Jul 10 2004

Ok, let's get to the problem this idea is trying to solve: Writing and maintaining software is difficult, error prone, and requires a lot of training. Languages have a long way to go, but becoming English-like isn't the solution to the problem, I think.

I worked with a helpdesk tool that used a "knowledge-base" of information to help you figure out a problem. This was basically just hypertext pages (like HTML) with questions and answers that you clicked until you found your solution. Examples: "What OS are you using?" "Is the printer plugged in?" etc.

This technique could be used as a code wizard to help with writing/generating programs. When a user selects a solution, code is generated and added to the program. I imagine would achive the goal(s) of the original entry more than an English-like language.

This tool would have to be very sophisticated. It would work like a wiki. Users would extend it on-the-fly as they create solutions it doesn't already support.

Example:What type of program do you want to write? (B) GameWhat type of Game? (D) First person shooteryada yada yadaWhen player one hits a wall, what should occur?

Perhaps I should post this as a separate idea. The more I think about it the cooler it gets. However, it could use some refinement.

mikeslattery, Feb 27 2005

Look up the Ruby programming language, especially the Rails development platform ("Ruby on Rails"). Also look at LISP, Scheme, or other artificial-intelligence-inspired languages, as well as object-oriented languages generally. A good source is Wikipedia.

DCDuring, Mar 07 2005

I couldn't see why not either - and that is how KES was born. The main problem I see with AppleScript and previous efforts are: 1) A fixed syntax, one that is not changeable by the community, defeats the entire purpose. The whole point of using English is not having to memorize APIs. This means that the community must be able to improve on the API - to figure out the most intuitive APIs.2) NLP is only useful if human programming patterns can be captured. Having to think like a computer in English is not very helpful.3) It should deal with ambiguity and lack of detail. The whole point of NLP is not having to learn - not having to know - how to program. If you're required to read extensive manuals to know every detail and option that must be set, why bother?

KES is an expert system - a meta language - and it's able to perform these tasks rather well.

Andrew Szczeszynski

Phonon, Mar 12 2005

English is imprecise and ambiguous, not to mention loopholes caused by things you didn't mention.

If you need precise, unambiguous English with no loopholes, hire a lawyer to write the contract for you.

If you need a good program with no bugs, hire a programmer.

The skills are similar, writing something using only words whose meaning is defined, and make sure there are no loopholes. If you don't think English is imprecise and ambiguous, try using one of the automatic translators on the internet.

ChrisF, Apr 12 2006

Take a look at our product here: www.osmosian.com. It's not exactly what you describe, but it actually works. And is robust enough to recompile itself. In less than three seconds.

If you'd like a sample copy for evaluation, write us here: help@osmosian.com.

The Osmosian Order, May 15 2006