Natural Language Programming

Page 9 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.
Status
Not open for further replies.

Rakehellion

Lifer
Jan 15, 2013
12,181
35
91
You realize this when you talk to little kids. I remember watching my friend talk to her son. He was maybe 2 or 3 or something. My friend asked where something was, and her son said it was downstairs. My friend was confused because there was no downstairs. The building has a ground floor and a second floor, but no basement, and we were on the ground floor. The kid thought downstairs was an absolute name of that floor.

You can run into similar problems when talking to a different kind of little kid - most adults. We're all guilty of this. Rather than looking up the true meaning of words, we assume the meaning based on context, and the assumed meaning can be very different from the dictionary meaning. Different than? We very rarely check the actual definitions of words. Or phrases. Or names. Or anything.
Here's a fun game you can try. I want you to ask people what the following words mean:
-dynamic
-static
-redundant
-volatile
-literally
-narcotic
-organic
-queer
-depressant


Select the text below to see what they actually mean. People are free to disagree with me on the meaning of these words. Words can mean different things to different folks:

Dynamic:
This word relates to change. To say I work in a dynamic environment means my environment is always changing.

Static:
The opposite of dynamic. It means things do not change. If I place a brick on the ground and it doesn't move, I would say the brick is static. It's in static equilibrium. What does it mean in programming? It's when something doesn't change.

Redundant:
Redundant means something is not essential. Having a second hard drive to backup data is redundant. I can take the second hard drive out and the computer still works. That doesn't always mean it's bad or useless, but it can. In engineering, redundancy is often a good thing. In writing, it can be a bad thing because it can make things confusing.

Volatile:
Volatile means something quickly evaporates. Chloroform is a volatile chemical. Is it explosive? No. Is it flammable? No. Is it dangerously reactive? No. It just evaporates quickly. Volatile can also means rapidly changing. It doesn't mean bad. It doesn't mean dangerous.

Literally:
Literally means something happened exactly as stated. I shot a guy in the face and his head literally exploded.

Narcotic:
Narcotic means it causes drowsiness or loss of consciousness. Think narcolepsy. Cocaine is not narcotic. Amphetamine is not narcotic. Carbon monoxide is narcotic. Alcohol is narcotic.

Organic:
In biology, organic means it relates to living matter. Space invaders from Mars would be organic. In chemistry, organic means something contains carbon but is not a cyanide, carbide, or carbonate. Table salt is inorganic. Sugar is organic. Oil is organic. Plastic is organic. Heroin is organic. Amphetamine is organic. Nicotine is organic.

Queer:
Queer means strange. This actually makes a lot of sense. If someone is flamboyantly gay, you might say they're a bit strange.

Depressant:
A depressant is something that slows your body's nervous system. Now that you know what this word means, it can radically change the meaning of saying someone is depressed. It means their nervous system is below normal. A lot of "thrill seekers" are clinically depressed. Doing unusually dangerous things is an attempt to get out of a depressed state and feel normal. Putting a non-depressed person in the same dangerous situation would take them from normal to stressed out.


English is a tricky language. A lot of us say things that technically don't mean anything, but people still understand the intended message.
"The burned out light bulb [in a series circuit] is always the last one you check."
Of course it is. Why the hell would you keep checking for dead bulbs after you've already found the dead one? Also, is burned the correct word in that sentence? I think burnt is a word too. I literally checked it close to exactly two seconds ago.

Your definitions aren't wrong, but people's common definitions aren't wrong either. The figurative version of "literally" was even added to MW recently.

That's the problem. Do you want a man eating chicken or a man-eating chicken? Do you have a million things to do today or "a million" things to do? Literally.
 

Sequences

Member
Nov 27, 2012
124
0
76
A good model accurately mirrors reality; it doesn't twist or warp reality to fit a preconceived notion. Asking a ball to fetch itself is nonsense since a ball lacks both intelligence and will. Asking a dog to write a book is nonsense because it is beyond a dog's ability to do so. But asking a dog to fetch a ball is reasonable, because a dog has enough intelligence and will to put such a task within his reach. A good programming paradigm will recognize and reflect such realities; a bad one won't.

So, if I understand you correctly, a good programming paradigm would not allow us to do any sort of modeling of objects that don't exist because such realities don't? Why am I only limited to modeling objects that already exist in real life, and why can't I break those barriers? Why is it bad if I model fictional objects?

Binary searches, finding factorials, circularly linked lists, etc, existed, were well understood, and were conveniently and efficiently implemented in procedural programming languages (like Pascal and C) long before the object-oriented approach was even conceived; so clearly "objects" are not required in these cases.

Clearly. This is why I've asked for your Plain English implementation. From what I have understood of the discussion, one of your primary arguments is that this is easier and more natural to understand. IMO finding factorial or doing a binary search is just a smidge more complicated than the examples so far.

I am curious about what this language may bring, but I need to see examples beyond a "hello world". Are you asking me to learn more about the language before I can see non-trivial examples? Because that seems backwards to me and contrary to what you claim about the language.

In the meantime, here's a traditional "non-trivial" example often used to compare programming languages that shows how the kind of code we develop in Plain English differs from traditional implementations. Specifically, most programming languages are concerned with how something is done; our goal is to allow the programmer to work at a higher level, where he says what is to be done, delegating the how to lower-level "support routines" that may be coded in any suitable syntax.

How can you show that the lower-level "support routines" are correct? Is the whole idea not to touch the lower levels?

And here's the actual Plain English code:

To get a count of prime numbers less than or equal to a number:
Create a list of consecutive integers from 2 to the number. [wiki's step 1]
Get an entry from the list. [wiki's step 2]
Loop. Mark higher multiples of the entry. [wiki's step 3]
Get the entry for the next lowest possible prime. If the entry is not nil, repeat. [ wiki's step 4]
Get the count of prime numbers in the list. [wiki's step 5]

Alright, let me take a crack at it. I assume that this should come naturally to me?
  1. Ok. Where does "the nunber" come from? Is this passed into the method? Can you call the method for me? If this "method" has more than one parameter, do you have to reference them by saying the "nth number"?
  2. Get an entry from the list... which entry? Its not clear to me if it should be the first.
  3. Looping, ok that looks good. When does it end? It is not absolutely clear to me we're still operating on the same list.
  4. Did you define prime somewhere already? Can I see how you did that? Is repeat repeating from the "Loop" step?
  5. Get the count of prime numbers in the list? Isn't this the point of the method? Why is it calling itself again? Isn't the terminating step to count the number of unmarked numbers?
 
Last edited:

BoberFett

Lifer
Oct 9, 1999
37,562
9
81
I don't as yet accept your authority to tell me how to look at things. Also, I never mentioned languages. My commentary is directed at the overall tone of the the thread, and meant to inject an outsider's view into the problems I see in the communication of ideas herein.
Yes, I'm sure real scientists were very threatened by those cold fusion guys. *rolleyes*
 

Gerry Rzeppa

Member
Dec 13, 2013
195
1
76
www.osmosian.com
So, if I understand you correctly, a good programming paradigm would not allow us to do any sort of modeling of objects that don't exist because such realities don't? Why am I only limited to modeling objects that already exist in real life, and why can't I break those barriers? Why is it bad if I model fictional objects?

It's not bad to model fictional objects. Fictional things are part and parcel of our intellectual culture (think of Scrooge and Yoda and the HAL 9000 and "the Force"). What's bad is not modeling reality as it is when we're being asked to model reality as it is.

Clearly. This is why I've asked for your Plain English implementation. From what I have understood of the discussion, one of your primary arguments is that this is easier and more natural to understand. IMO finding factorial or doing a binary search is just a smidge more complicated than the examples so far.

Most of the things most programs do are quite mundane. "Move this over there" and "draw something on the screen" and "write that to the disk". Natural languages work well when expressing things like these. More specialized syntaxes (and often graphics) are required to conveniently and efficiently express other kinds of thoughts. That's why we recommend Hybrid Programming as an ideal, not Plain English by itself. See:

https://www.indiegogo.com/projects/the-hybrid-programming-language

In other words, Plain English is best evaluated in a larger context. Please continue...

I am curious about what this language may bring, but I need to see examples beyond a "hello world". Are you asking me to learn more about the language before I can see non-trivial examples? Because that seems backwards to me and contrary to what you claim about the language.

I'm asking you to see how Plain English works on complete programs (rather than isolated routines). Things like interfaces, file managers, text editors, hex dumpers, compilers, and page-layout facilities. These are all non-trivial programs, and they've all been coded in Plain English. Granted, there are spots in certain routines that would benefit from a bit of Hybrid syntax. But those spots are few and far between. Plain English is well-suited to handle, conveniently and efficiently, most of the stuff in most of such programs.

How can you show that the lower-level "support routines" are correct? Is the whole idea not to touch the lower levels?

The whole idea is to use natural language where it's appropriate, and specialized syntaxes and graphics where they are more appropriate. The point we're trying to make in this thread is that natural language programming turns out to be a good fit in many more instances than most programmers might have previously thought. Case in point: Would most programmers think writing a native-code generating Plain English compiler in Plain English would be a good idea? or even possible? I don't think so. Yet we did it. Conveniently and efficiently. And had fun doing it.

Alright, let me take a crack at it. I assume that this should come naturally to me?

More or less, yes. It comes more naturally to ordinary people who haven't been taught to think in object-oriented or other technical terms. I think you'll have some "unlearning" to do before you're able to see the beauty of it. User friendly, after all, is generally what the user is used to.

Ok. Where does "the number" come from? Is this passed into the method?...

You'd be able to answer most of your own questions if you'd first take a few moments to learn a little more about the language. I recommend our large-type, wide margin, uniquely humorous instruction manual:

www.osmosian.com/instructions.pdf
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
I don't as yet accept your authority to tell me how to look at things. Also, I never mentioned languages. My commentary is directed at the overall tone of the the thread, and meant to inject an outsider's view into the problems I see in the communication of ideas herein.

Like practitioners of any craft we have certain ways of looking at things, sure, and we also have certain standards of credibility. Many of us do this stuff for a living and know what it takes to solve real-world problems. I said this earlier in the thread when Gerry first brought this topic up, that this is probably the least conservative profession there is. I'm working today with at least four technologies I didn't even know a year ago, and at least two of them are considered revolutionary.

Here's the thing though: they aren't bullshit. I don't have to ask over and over for a single non-trivial example of Docker working, or Go, or Python, or Redis, or any of the other tools I use. AngularJS isn't asking me to download a windows .ZIP and take their word for it. They aren't running a $450k indiegogo project, either. The approach is open, it is endorsed by smart people, whether you adopt it or not it is easy to ascertain that it works, and can do largely what people say it does.

Those are an engineer's standards, and unless you are one then, with all due respect, you don't have any idea what you're talking about.
 

crashtech

Lifer
Jan 4, 2013
10,573
2,145
146
I note what seems to be quite a bit of defensiveness, maybe bordering on hostility. This is surprising, given that in my brief initial comment I neither made any claim to special knowledge, nor did I make a value judgement on any programming method. Even so, your reaction reinforces my point, but I think the problem is Mr. Rzeppa's much more than it is yours.
 

Spungo

Diamond Member
Jul 22, 2012
3,217
2
81
Your definitions aren't wrong, but people's common definitions aren't wrong either. The figurative version of "literally" was even added to MW recently.
Humbug. I say they are wrong. The word loses all meaning if it can mean two things that are exactly opposite.
Literally now means:
1) literally
2) not literally

Our language shouldn't turn into crap like this:
 

Gerry Rzeppa

Member
Dec 13, 2013
195
1
76
www.osmosian.com
Online forums are a curious thing. This thread, for example, has been viewed over 8,700 times; yet only 39 people have voted in the poll, and even fewer have contributed posts. It makes one wonder what all those other people think.

Personally, I suspect that some of them, maybe even a lot of them, like the idea -- but haven't said so in votes or posts. Why do I think that? Because we get unsolicited remarks via email from people who download our Plain English development system on a regular basis, and the remarks we get are almost exclusively positive and encouraging. (Curious thing that: lots of negative stuff on forums, almost entirely positive stuff in private communications.) See for yourself. Here are some samples:

"A minor work of genius" - Aaron Gray

"Well I love it!!! Very very unique... Are you looking for an investor?" - Anthony Nystrom

"Good lord, that has got to be one of the strangest things I've ever seen... It certainly has some merit, as you can describe what you want to do 'naturally'. I'll keep playing with it." - Marc Clifton

"Interesting; the source code is easy to read" - Peter Norvig

"It looks like an interesting tool for those stuck in Gatesburg XP." - Neil Freeman

"Thanks Sir. People like you are giving different view to whole thing. Best Luck." - Vijay Sambhe

"If I ever were to use it seriously I would definitely contribute to your project; at this point I was only allaying my curiosity." - Paul van der Walt

"To some extent, I think I owe you an apology. I have been baiting you horribly on CP" - Mystery CodeProject Member

"The interface is pretty cool and would work well for a quite a few apps... All in all a good job... I can see a great market for beginner programmers trying to understand concepts" - Andrew Bleakley

"I have to say I'm quite impressed... keep up the good work!" - Ian Harrigan

"What a wonderful piece of work... the concept is noble, the execution brilliant, the whole thing is quirky and brilliant" - Joe Cherian

"I do like the font and the simplicity." - Edbert P.

"A very unique idea." - Dan Pronovost

"Interesting." - Chris Austin

"Thats a pretty cool thing you have produced." - Chris Meech

"May I know which font do you use. It&#8217;s very beautiful." - Weixiao Fan

"I've seen the sourcecode and it's nothing short of impressive." - elShoggotho

"I am really enjoying my experience with the Plain English compiler. The programs look like well-documented code without the code." - Joel Ashford

"The demo says a lot about the project and I was amazed by it." - V. Girish

"Your manifesto is bang on target and you are right about the fact that we won't go far using traditional approaches." - V. Girish

"I think your work is not so much a 'minor work of genius' as it is a major work of genius. Don't stop." - Paul Frenger

"If that source code was indeed used to create the [sample program] executable, it is indeed pretty impressive." - Nishant Sivakumar

"Frankly, [Gerry's] the only person I know who's achieved what he has on his own power, dime and time. It's truly a lifetime achievement." - Rex A. Winn, Jr.

"I have to agree that Gerry has contributed a lot [to CodeProject]. While he is occasionally controversial, he is always challenging and you had better have facts to back you up in arguments with him because he is very intelligent (and widely read). Back in February I said that I would undertake to write a review of Plain English and submit it here [at CodeProject]. To be honest, three aborted reviews later, I still don't feel that I can do it justice. While it's definitely a niche market, the work he has done with it is truly amazing. He sees it as the starting point to promote natural language programming - and for that, I have to applaud him. For Gerry, Plain English is the start of the journey, and I for one look forward to seeing where it ends up. At times I've found Plain English to be frustrating, and at other times I have found it to be fantastic, but it has never been dull. Now, if only the paying clients would give me enough time, I would be able to give it the justice and time that it needs. So, hats off to Gerry. " - Pete O'Hanlon

"I respect him a lot, he truly is a living legend. There is so much to learn from him. I won't be surprised if tomorrow he is nominated for a noble prize and get it." - Rajesh Lal (Quartz)

"I read his document, which talks about his ideas and approach of taking his language to next level and was impressed. I support him and respect him for his language." - Tarakeshwar Reddy

"I've been using the Plain English language for a couple of weeks now and I must say that it is precisely what I was looking for... I don't need to worry about fighting any needless battles and I can just get on with programming." - Martin Pollard

"I've noticed that there were quite a lot of negative reactions on various forums to what you are trying to do. I can't understand people sometimes, but I guess that's what happens when you offer something truly groundbreaking to the world and people become fearful at the prospect of becoming archaic. Never be discouraged." - Martin Pollard

"An astonishing work, genius! I was looking for something like this for many years. In addition, the Cal-3040 produces fast code. Congratulations! Keep it up. PS: Now I have 'deprogram' my thinking when writing code. I'll have to relearn how to think normally!" - Antonio Navarro Andreu


Perhaps this post will help to balance the scales a bit.
 

Sequences

Member
Nov 27, 2012
124
0
76
You'd be able to answer most of your own questions if you'd first take a few moments to learn a little more about the language. I recommend our large-type, wide margin, uniquely humorous instruction manual:

www.osmosian.com/instructions.pdf

No, this is the reason I'm asking you. I find this topic interesting, but I think my time in this thread is spent as it seems like getting direct answers is unlikely.
 

LevelSea

Senior member
Jan 29, 2013
942
53
91
Online forums are a curious thing. This thread, for example, has been viewed over 8,700 times; yet only 39 people have voted in the poll, and even fewer have contributed posts. It makes one wonder what all those other people think.

Personally, I suspect that some of them, maybe even a lot of them, like the idea -- but haven't said so in votes or posts. Why do I think that? Because we get unsolicited remarks via email from people who download our Plain English development system on a regular basis, and the remarks we get are almost exclusively positive and encouraging. (Curious thing that: lots of negative stuff on forums, almost entirely positive stuff in private communications.) See for yourself. Here are some samples:

"A minor work of genius" - Aaron Gray

"Well I love it!!! Very very unique... Are you looking for an investor?" - Anthony Nystrom

"Good lord, that has got to be one of the strangest things I've ever seen... It certainly has some merit, as you can describe what you want to do 'naturally'. I'll keep playing with it." - Marc Clifton

"Interesting; the source code is easy to read" - Peter Norvig

"It looks like an interesting tool for those stuck in Gatesburg XP." - Neil Freeman

"Thanks Sir. People like you are giving different view to whole thing. Best Luck." - Vijay Sambhe

"If I ever were to use it seriously I would definitely contribute to your project; at this point I was only allaying my curiosity." - Paul van der Walt

"To some extent, I think I owe you an apology. I have been baiting you horribly on CP" - Mystery CodeProject Member

"The interface is pretty cool and would work well for a quite a few apps... All in all a good job... I can see a great market for beginner programmers trying to understand concepts" - Andrew Bleakley

"I have to say I'm quite impressed... keep up the good work!" - Ian Harrigan

"What a wonderful piece of work... the concept is noble, the execution brilliant, the whole thing is quirky and brilliant" - Joe Cherian

"I do like the font and the simplicity." - Edbert P.

"A very unique idea." - Dan Pronovost

"Interesting." - Chris Austin

"Thats a pretty cool thing you have produced." - Chris Meech

"May I know which font do you use. It’s very beautiful." - Weixiao Fan

"I've seen the sourcecode and it's nothing short of impressive." - elShoggotho

"I am really enjoying my experience with the Plain English compiler. The programs look like well-documented code without the code." - Joel Ashford

"The demo says a lot about the project and I was amazed by it." - V. Girish

"Your manifesto is bang on target and you are right about the fact that we won't go far using traditional approaches." - V. Girish

"I think your work is not so much a 'minor work of genius' as it is a major work of genius. Don't stop." - Paul Frenger

"If that source code was indeed used to create the [sample program] executable, it is indeed pretty impressive." - Nishant Sivakumar

"Frankly, [Gerry's] the only person I know who's achieved what he has on his own power, dime and time. It's truly a lifetime achievement." - Rex A. Winn, Jr.

"I have to agree that Gerry has contributed a lot [to CodeProject]. While he is occasionally controversial, he is always challenging and you had better have facts to back you up in arguments with him because he is very intelligent (and widely read). Back in February I said that I would undertake to write a review of Plain English and submit it here [at CodeProject]. To be honest, three aborted reviews later, I still don't feel that I can do it justice. While it's definitely a niche market, the work he has done with it is truly amazing. He sees it as the starting point to promote natural language programming - and for that, I have to applaud him. For Gerry, Plain English is the start of the journey, and I for one look forward to seeing where it ends up. At times I've found Plain English to be frustrating, and at other times I have found it to be fantastic, but it has never been dull. Now, if only the paying clients would give me enough time, I would be able to give it the justice and time that it needs. So, hats off to Gerry. " - Pete O'Hanlon

"I respect him a lot, he truly is a living legend. There is so much to learn from him. I won't be surprised if tomorrow he is nominated for a noble prize and get it." - Rajesh Lal (Quartz)

"I read his document, which talks about his ideas and approach of taking his language to next level and was impressed. I support him and respect him for his language." - Tarakeshwar Reddy

"I've been using the Plain English language for a couple of weeks now and I must say that it is precisely what I was looking for... I don't need to worry about fighting any needless battles and I can just get on with programming." - Martin Pollard

"I've noticed that there were quite a lot of negative reactions on various forums to what you are trying to do. I can't understand people sometimes, but I guess that's what happens when you offer something truly groundbreaking to the world and people become fearful at the prospect of becoming archaic. Never be discouraged." - Martin Pollard

"An astonishing work, genius! I was looking for something like this for many years. In addition, the Cal-3040 produces fast code. Congratulations! Keep it up. PS: Now I have 'deprogram' my thinking when writing code. I'll have to relearn how to think normally!" - Antonio Navarro Andreu


Perhaps this post will help to balance the scales a bit.

Miranda Kerr has sent me unsolicited emails stating she wants to bear my children.

Also, Prince Umagooma-Uzathorne of Nigeria has promised me $273.4 million dollars via email.
 

smackababy

Lifer
Oct 30, 2008
27,024
79
86
Miranda Kerr has sent me unsolicited emails stating she wants to bear my children.

Also, Prince Umagooma-Uzathorne of Nigeria has promised me $273.4 million dollars via email.

Aaron Grey, the first person on his list, as far as I know is an NBA player. Wtf does he know about computer science?
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Miranda Kerr has sent me unsolicited emails stating she wants to bear my children.

Also, Prince Umagooma-Uzathorne of Nigeria has promised me $273.4 million dollars via email.

The funny thing is you could give Gerry all the benefit of the doubt, and assume every one of those emails came from an enthusiastic and knowledgeable user, and it still wouldn't rescue the idea from the wreckage of his approach to it.

Maybe it's the best idea ever to hit the world of software engineering and computer science. Maybe it's like some guy really did invent a 200 MPG fuel injection system, and then chose to put on a plaid coat, pack the product in a patent leather carrying case, and knock on doors at 7:30 AM with a boom box to play motivational music for his pitch.

The world would never know how close it came to paradise.
 

MagnusTheBrewer

IN MEMORIAM
Jun 19, 2004
24,122
1,594
126
The funny thing is you could give Gerry all the benefit of the doubt, and assume every one of those emails came from an enthusiastic and knowledgeable user, and it still wouldn't rescue the idea from the wreckage of his approach to it.

Maybe it's the best idea ever to hit the world of software engineering and computer science. Maybe it's like some guy really did invent a 200 MPG fuel injection system, and then chose to put on a plaid coat, pack the product in a patent leather carrying case, and knock on doors at 7:30 AM with a boom box to play motivational music for his pitch.

The world would never know how close it came to paradise.

I have to admit, a lot of my distaste for the projects few merits comes from the manner in which Gerry Rzeppa presents it. Revival tent evangelism has little place in computer science.
 

werepossum

Elite Member
Jul 10, 2006
29,873
463
126
Those games were pretty awesome, and they had some of the same problems mentioned in this thread.
Example:
https://www.youtube.com/watch?v=STGBWbivpmc&list=UUzMdwhnAoQ4ywzx7dgS-eZg#t=174
The scene contains a frog. If you say kiss frog, it says that's corny. A monster appears. If you try to kiss the monster, it still says that's corny. It would seem that it's only looking for the "kiss" keyword while ignoring everything else. It's not bad programming. It's just a limitation of getting non-programmers to enter commands.

One could argue that the graphical user interface is the future of unskilled programming and automation. I can open outlook right now and schedule something. I can list all of the people who will be there and where it will be. I can tell it to notify me before this event happens. I can look on the calendar to see if it conflicts with something else happening that day. Was that possible 30 years ago? I don't think DOS lets you run multiple things at once. This was a task that even a skilled programmer couldn't really do. You're either in the program or you're not. If you're not in the calendar program, you will not be notified about this meeting. I don't even think home computers had Windows services until Windows XP. If you were using Windows 95, you could maybe create a scheduled task to open a text file saying "you have a meeting at 9am, check your calendar". It's like tying a string around your finger to remember something. It's the most ghetto kind of programming/scripting/automation imaginable. The kind of automation you can do now is unbelievable, and you don't need to know anything about programming because it's all graphical and things can run in the background without killing performance. Am I saying that Outlook and Excel are forms of programming? Yes, I am. It's just a very high level form of programming. Very simplified, yet very powerful.

Here's a nice example of future programming:



We had to do this in electrical engineering. It's called ladder logic, it's used in Programmable Logic Controllers (PLCs), and this is what drives industry. It's really interesting if you think about it. Before computers, the ladder logic would represent mechanical relays and sensors. This is not a graphical representation of some computer language. It's a graphical representation of an electric circuit. All you do is follow the electricity. This switch closes, power goes down wire rung 53 to activate a pump, etc.

OP, there's an idea. You could make a ladder logic program. Your program could compile the ladder logic into an exe. That would be unique.

Coding with graphical software is the future as well. Look at Visual Studio. You type "string." and a menu pops up as soon as you hit that period. That menu is doing what the OP is trying to do. It's making programming easier. Instead of me telling the computer what to do in English, how about the computer uses English to tell me what I can do. Tell me what something is when I put the mouse on it. Suggest things when I start typing. It even underlines things that are wrong. You know the code is broken before you attempt to compile it. This is how we bring programming to the unwashed masses.

I'm always saying that I think Perl is an easy language, but that's only true in Notepad++. Scalars are orange, arrays are pink, hashes are a light color I can't describe, keywords are blue, comments are green. Things in back quotes are yellow with a dark background. It's a lot easier to see what's going on when it's color coded. Pasting the exact same script into regular notepad makes the code virtually unreadable. It feels difficult when it's all the same color. Computing can be made easy just by changing the colors of words and remembering the names of variables defined earlier in the code. Unlike making a new language, helping visualize things will never go out of style. Think of the first person to indent things. That was a huge step forward, it applied to all languages, and it will still be important 10 or 20 years from now.

Anyway, I think the OP should work on the presentation of language rather than the language itself. One way to help is to actively support things like Notepad++. Contribute some code, add some plugins. I think it would be really nice if every language was as well supported as Python:


It seems like programmers always have nice grammar. Look at that use of a comma and semicolon. The comma is used to separate a condition from the rest of the clause. A semicolon is used to start a new clause related to the same topic.
The people who would have trouble writing in C# due to syntax are the same people who would have trouble writing English.
Excellent points, and every one of us who replaced discrete relay/timer controls with ladder logic would happily buy a night's worth of drinks for anyone involved in its creation. Excellent points about graphical object manipulation as well.

As a virtual layman to the world of programming, one thing that seems evident from reading this entire thread is that those who have spent significant amounts of time learning their craft will not take kindly to something which seems to trivialize all that effort.
It's not that, it's that having spent all that time they see the limitations rather than the advantages. Everybody can work a shovel, but a backhoe operator ain't gonna go looking for one when it's time to dig a pool. Yes, it would work, and yes, everyone can do it, and yes, it would be simpler - but it will never be as powerful. All that language and syntax represents an enormous amount of power - I don't have to tell the program all the things that the syntax represents because the compiler/interpreter and I have agreed on those constraints and meanings long before I wrote this particular program. Natural language is inherently ambiguous, and English is especially bad. Programming languages are written to eliminate ambiguity. That is one reason we have programming languages, the other being their power.

I am not a programmer, but occasionally I have to write a program, and many more times I'd like to write one but can't spare the time to review the language and syntax. Thus I can easily see the advantages of such a programming approach, for often what we want to do is relatively simple. However, programmers don't generally make livings writing simple programs that are "good 'nough" for the moment. Programmers generally make livings writing programs that are not simple, but complex, and often severely constrained in the resources they require. Looking at this concept, a non-programmer sees the advantages, but a programmer already knows all those things by heart. Thus, a programmer is going to see all the things that natural language programming would do worse, and they are legion. The same things that make natural language programming easier for neophytes make it worse for experts. Imagine trying to create and manage a huge multi-user database using only English commands. Now imagine coming behind that programmer and trying to figure out what she's done - especially if she didn't properly comment it since it's only English, after all. That's the down side, and it's huge. Now imagine needing a simple program to recover, say, profit over a seventeen month period and graph it against interest rates. That's the upside. Programmers scoff at that upside because to them it's a trivial exercise, not because they are threatened.

I have to admit, a lot of my distaste for the projects few merits comes from the manner in which Gerry Rzeppa presents it. Revival tent evangelism has little place in computer science.
Isn't that pretty much a given though? If one is trying to sell a new language one demonstrates its various concrete advantages. If one is trying to sell essentially a whole new way to teach and practice programming - even with the given that it's never going to replace every or even most languages - one must needs become an evangelist for it, for one cannot show advantages for particular non-trivial tasks and must only sell the advantages as a whole.
 
Last edited:

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Isn't that pretty much a given though? If one is trying to sell a new language one demonstrates its various concrete advantages. If one is trying to sell essentially a whole new way to teach and practice programming - even with the given that it's never going to replace every or even most languages - one must needs become an evangelist for it, for one cannot show advantages for particular non-trivial tasks and must only sell the advantages as a whole.

Maybe, but we're not talking about tweaking an effective strategy here. This subject first came up over a year ago when Gerry posted a link to a zip file of his compiler and I removed it. Since then he has received a lot of good advice about how to approach a project like this and he has ignored all of it.

He allowed the source to be posted to github and then removed the project when he didn't like the comments he received on the first commit, replacing it with a $450k indiegogo project. Yes, $450k to develop a programming language. Bjarne Stroustrup did most of the first versions of C++ in his spare time at work for AT&T.

He has continued to resort to abstractions, generalities, philosophy, and unproven claims, all seasoned with a more than liberal dash of missionary zealotry and single-minded obstinacy. Yes, I recognize that this could be genius. I don't immediately write off nuts when I meet them. But this has gotten ridiculous and almost comedic. If he has a drop of programmer anywhere in him he can open up his stuff and show people how it works, communicate with practitioners in their language and on their level, with evidence that they can respect, or take a hike. I really don't have a preference at this point which path he chooses.
 

MagnusTheBrewer

IN MEMORIAM
Jun 19, 2004
24,122
1,594
126
Originally Posted by werepossum
Isn't that pretty much a given though? If one is trying to sell a new language one demonstrates its various concrete advantages. If one is trying to sell essentially a whole new way to teach and practice programming - even with the given that it's never going to replace every or even most languages - one must needs become an evangelist for it, for one cannot show advantages for particular non-trivial tasks and must only sell the advantages as a whole.
The only thing I'm willing to take on faith is God. When it comes to computer science, I need a demonstration of useful technology not, "take a look at this, it's so cool!"
 

Gerry Rzeppa

Member
Dec 13, 2013
195
1
76
www.osmosian.com
The only thing I'm willing to take on faith is God. When it comes to computer science, I need a demonstration of useful technology not, "take a look at this, it's so cool!"

I suspect that part of the miscommunication here is that we each mean different things by "useful technology". Even if we agree that "useful technology" simply means "tools that help us get our jobs done," we're still going to see different things as useful (or not) because we've got different jobs to do.

Here's an example. I like to program, and I like to draw, and I like to teach kids. So I used our Plain English compiler to write programs to analyze English-language lexicons of various sorts, and then I used both the compiler and the wysiwyg page-layout program that we previously wrote in Plain English to author and illustrate (and in great part, generate) a teach-your-kid-to-read course (www.rhymingreader.com). Useful technology? Useful to me, that's for sure.

Another example can be found in the initial post of this thread. My elder son and I wanted to know:

1. Is it easier to program when you don’t have to translate your natural-language thoughts into an alternate syntax?

2. Can natural languages be parsed in a relatively “sloppy” manner (as humans apparently parse them) and still provide a stable enough environment for productive programming?

3. Can low-level programs (like compilers) be conveniently and efficiently written in high level languages (like English)?

And so we set about developing our Plain English compiler in the interest of answering those questions. And we can now answer each of those three questions, from direct experience, with a resounding "Yes!" Useful technology? Useful to us.

One more example, this time from Argentina: "I'm a professor of Computer Architecture and Programmable Logic, doctorate student in microelectronics and both an Information Systems Engineer and Electrical Engineer... I would like to write a compiler in Plain English for Plain Spanish (and that will become Programación en Español Simple). Then I could write a Plain Spanish compiler in Plain Spanish and a course/book, 'How to build a compiler in Plain Spanish.' It's really an exciting project." Useful technology? Useful to him.

So, is our Plain English development system useful technology? Well, it's proven useful to me, my family, and others in faraway places. Is it useful for you? I wouldn't know. But surely we can all see that "not useful for so-and-so at this point in his life" isn't the same as "not useful at all."
 

LevelSea

Senior member
Jan 29, 2013
942
53
91
I suspect that part of the miscommunication here is that we each mean different things by "useful technology". Even if we agree that "useful technology" simply means "tools that help us get our jobs done," we're still going to see different things as useful (or not) because we've got different jobs to do.

Here's an example. I like to program, and I like to draw, and I like to teach kids. So I used our Plain English compiler to write programs to analyze English-language lexicons of various sorts, and then I used both the compiler and the wysiwyg page-layout program that we previously wrote in Plain English to author and illustrate (and in great part, generate) a teach-your-kid-to-read course (www.rhymingreader.com). Useful technology? Useful to me, that's for sure.

Another example can be found in the initial post of this thread. My elder son and I wanted to know:

1. Is it easier to program when you don’t have to translate your natural-language thoughts into an alternate syntax?

2. Can natural languages be parsed in a relatively “sloppy” manner (as humans apparently parse them) and still provide a stable enough environment for productive programming?

3. Can low-level programs (like compilers) be conveniently and efficiently written in high level languages (like English)?

And so we set about developing our Plain English compiler in the interest of answering those questions. And we can now answer each of those three questions, from direct experience, with a resounding "Yes!" Useful technology? Useful to us.

One more example, this time from Argentina: "I'm a professor of Computer Architecture and Programmable Logic, doctorate student in microelectronics and both an Information Systems Engineer and Electrical Engineer... I would like to write a compiler in Plain English for Plain Spanish (and that will become Programación en Español Simple). Then I could write a Plain Spanish compiler in Plain Spanish and a course/book, 'How to build a compiler in Plain Spanish.' It's really an exciting project." Useful technology? Useful to him.

So, is our Plain English development system useful technology? Well, it's proven useful to me, my family, and others in faraway places. Is it useful for you? I wouldn't know. But surely we can all see that "not useful for so-and-so at this point in his life" isn't the same as "not useful at all."
Why do you need $450,000?
 

Gerry Rzeppa

Member
Dec 13, 2013
195
1
76
www.osmosian.com
Why do you need $450,000?

Right now, my elder son, Dan, makes about $100,000 a year programming and needs that to support his family of six. I'm retired and my family of three can get by on less, but we're going to have to move from Franklin, Kentucky to Ontario, Ohio so Dan and I can work together in our usual way, described previously:

"It took us a little less than six months to create our complete development system in Plain English: interface, file manager, editor, dumper, compiler/linker, and page-layout facility. 25,000 lines of code plus 120 pages of illustrated documentation. We worked together the whole time, side-by-side, on a single machine connected to two monitors. One of us would run the mouse (and direct the coding) while the other would enter the code on the keyboard. So every line was agreed to, and checked twice, before it was ever run. We'd never code more than a dozen or so lines without testing. And we started every day by deleting something: cleaning up, simplifying, finding better and shorter ways to do what we had done the day before."

I figure our Hybrid Programming Language project will take about a year of full-time effort. So, $450,000 minus taxes, IndieGoGo's percentage, Paypal fees, and the 15% of pledges that typically bounce, leaves us with about $250,000. Just enough for me to move my family, and to provide for both our families, for the duration of the project.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
The website I linked in an earlier post, https://law.kipglobal.com, was built by two of us. I live in northern New Jersey. The other guy lives in Miami. Our founder/check-signer/domain expert lives on Long Island. None of us needed to move our families. The vast majority of large, complicated software projects are built by distributed teams these days. And yet you need to net $250k from the public in order to move your family to Ohio. I'm too weary of this whole conversation to explain to you yet again how whacked that sounds. As far as I am concerned it's not much better than a scam. However, since the current level of funding shows a singular lack of any victims, I don't really care. Good luck with it.
 

smackababy

Lifer
Oct 30, 2008
27,024
79
86
What I am struggling to understand is why does this require a programming language? Wouldn't a compiler that could interpret or an IDE that could convert "natural English" to something like C++ code be a much better instructional tool?

Also, Gerry, I'd really work on your sales pitch, especially with regards as to what you need the money for. And, I'd invest in some kind of screen sharing program. It is a lot cheaper than moving to Ohio.
 
Status
Not open for further replies.
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |