LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 03-05-2013, 04:56 PM   #151
Gerry Rzeppa
Member
 
Registered: Feb 2013
Posts: 66

Original Poster
Rep: Reputation: Disabled

Quote:
Originally Posted by 273 View Post
May I ask whether your manager has given you a task such as described earlier by suicidaleggroll to be completed yesterday? Or, indeed, whether you've had to use your language "in anger" so to speak to solve a problem?
Your language seems to work and may make it easier for people to see whether they like programming but has it actually solved a real world problem whilst operating under a deadline?
It seems you've caught me looking out the window of my "ivory tower". As I mentioned in a previous post, I made a great deal of money with a database design methodology I developed in my youth (www.era-sql.com) and spent the next 30 years investing that money in independent research (and a variety of interesting people, but that's another story). So I haven't had a "manager" in so long that I find it hard to remember what it's like to have one. But if I had a manager, and he gave me an assignment with a deadline that was within Plain English's scope, I wouldn't hesitate for a minute to attack the problem using it.

My elder son, who wrote the compiler with me, is currently developing a restaurant system for a wealthy investor using HTML5, CSS, and Java (since the thing has to work with browsers). The telling thing is that he uses Plain English as his language of choice when he need to write experimental or prototype or conversion programs "behind the scenes".

Speaking of HTML, if you use the "Open as Text" command in our IDE to view the instructions that come with it (not the PDF instructions, but the native version) you'll get a good look at our own, simplified "page description language".
 
Old 03-05-2013, 05:08 PM   #152
273
Senior Member
 
Registered: Dec 2011
Location: UK
Distribution: Debian Sid AMD64&i386, Raspbian Wheezy, various VMs
Posts: 3,230

Rep: Reputation: 759Reputation: 759Reputation: 759Reputation: 759Reputation: 759Reputation: 759Reputation: 759
Sorry, that wasn't a dig by the way -- the point was more that unless the language has been used "in anger" to solve something it's hard to say whether it works or not. I know a lot of crap was written in VB, for example, but it was written fast and it did the job demanded of it.
 
Old 03-05-2013, 05:22 PM   #153
Gerry Rzeppa
Member
 
Registered: Feb 2013
Posts: 66

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by 273 View Post
Sorry, that wasn't a dig by the way -- the point was more that unless the language has been used "in anger" to solve something it's hard to say whether it works or not. I know a lot of crap was written in VB, for example, but it was written fast and it did the job demanded of it.
No offense taken. And Plain English is great for writing "angry" code. After all, what other language lets you write -- and compile and run -- actual statements like these?

Initialize the slow and cumbersome and generally poopy memory manager.
Convert the horribly convoluted JPG file to a gosh-darn bitmap.
Clear the freaking screen.
Draw the gosh-darn bitmap on the freaking screen.
Get out of this God-forsaken town.


 
Old 03-05-2013, 05:54 PM   #154
Gerry Rzeppa
Member
 
Registered: Feb 2013
Posts: 66

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by suicidaleggroll View Post
Clearly your language is superior to all other programming languages and has absolutely no downsides. Good luck with your development.
Thanks! Can I quote you?

But wait... Are you being sarcastic? I don't think there's any syntatic way to tell in this case. Wow! These natural languages really are hard to interpret!

Help, Sergei! Help!
 
Old 03-05-2013, 10:06 PM   #155
ntubski
Senior Member
 
Registered: Nov 2005
Distribution: Debian
Posts: 2,396

Rep: Reputation: 814Reputation: 814Reputation: 814Reputation: 814Reputation: 814Reputation: 814Reputation: 814
Quote:
Originally Posted by Gerry Rzeppa View Post
But that, of course, brings us to a particularly salient example of what I said a moment ago ("sometimes you want them one organized way, sometimes another") -- for some folks, in trying to understand the thing, would prefer a "depth first" search; while others would think "breadth first" made more sense; while still others would combine both kinds of search as things seemed interesting or not. Which is why we use arbitrary (or alphabetical) ordering in conjunction with the Find command, rather than mount a futile attempt to sequence the routines in a fashion that will be pleasing and meaningful to all.
So you couldn't put things in a perfect order, therefore you put them in the worst order?

Quote:
Originally Posted by suicidaleggroll View Post
As far as I can tell, you are using a language that is so ambiguous it requires significantly more text and explanation to get the point across clearly than any programming language that currently exists.
What they have now is not ambiguous at all, it transliterates into C quite straight forwardly.

Quote:
Originally Posted by Gerry Rzeppa View Post
Our argument is that current theories of programming languages are neither entirely correct nor as simple as they could be. (We reject, for example, most of the object-oriented paradigm; we think case-sensitive naming is unnatural and unhelpful; etc.)
So many things are called "object-oriented" that it's hard to tell what it actually means (see: Alan Kay's famous C++ quip); case (in)sensitivity has approximately nothing to do with programming language theory.
Quote:
Like a couple of kids who build a model airplane to gain an understanding aerodynamics (since the construction of a Boeing 747 in the back bedroom is not feasible). At present we've got a third-generation model plane in the back yard, capable of actually flying the two of us (and our friends) from place to place.
It's kind of like you built a model airplane and then started painting pretty pictures on the wings instead of learning about aerodynamics.
 
Old 03-06-2013, 01:24 AM   #156
Gerry Rzeppa
Member
 
Registered: Feb 2013
Posts: 66

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by ntubski View Post
So you couldn't put things in a perfect order, therefore you put them in the worst order?
As I mentioned before, we didn't much care what order the routines ended up in. (Wow! Two prepositions at the end of a sentence! Call the grammar police, quick! I mean, quickly! Whoa. Getting a little punchy here...) Anyway, we typically kept the types, globals, and routines we were working on at the bottom of the file, close together, and without regard to their hierarchical relationships (short-term memory); once they were working we didn't give them any more conscious thought and they just "floated up in the file" (long-term memory) as we added more new stuff at the bottom . It appears we file stuff in our brains in much the same way. And being in the habit of simply finding what we needed with the editor's incremental find command, it never posed a problem for us. The "sort routines alphabetically" feature was simply an experiment. But the ideal, I still think, is what I proposed previously: a variety of sorts to suit each user and purpose.

Quote:
Originally Posted by ntubski View Post
What they have now is not ambiguous at all, it transliterates into C quite straight forwardly.
Or even executable machine code! We think it's striking that one can draw such a relatively short and straight line from the high to the low.

Quote:
Originally Posted by ntubski View Post
So many things are called "object-oriented" that it's hard to tell what it actually means (see: Alan Kay's famous C++ quip)...;
Here are a number of memorable quotes on the subject: http://harmful.cat-v.org/software/OO_programming/. The "Why OO Sucks" article by Joe Armstrong (link on the quote page) is also good.

Quote:
Originally Posted by ntubski View Post
...case (in)sensitivity has approximately nothing to do with programming language theory.
Except, of course, that the designer(s) of every programming language ever developed have had to decide what to do about it!

Quote:
Originally Posted by ntubski View Post
It's kind of like you built a model airplane and then started painting pretty pictures on the wings instead of learning about aerodynamics.
Don't be silly; the thing flies, and flies quite well -- we must have learned something about aerodynamics! But it's interesting that you should mention painting, because art is another subject that interests us greatly. Not only does our sample program (which is fully explained in the documentation) paint pretty pictures of pretty much anything you can name (in the style of Claude Monet), but I developed a watercolor painting course a couple of years ago to demonstrate that anyone can learn to paint. You can see some of my works here (mixed in with some of Blair Rusin's stuff; scroll down the page a bit): http://www.veinguide.com/about/30/su...-buffalo-.aspx. And if you'd like the lessons, so you can quickly and easily learn to do the same, just write me.
 
Old 03-06-2013, 10:03 PM   #157
ntubski
Senior Member
 
Registered: Nov 2005
Distribution: Debian
Posts: 2,396

Rep: Reputation: 814Reputation: 814Reputation: 814Reputation: 814Reputation: 814Reputation: 814Reputation: 814
Quote:
Originally Posted by Gerry Rzeppa View Post
The "sort routines alphabetically" feature was simply an experiment.
You didn't need to distribute the source sorted though: it's easy to run the command and get the sorted version, but it's impossible to recover the previous order which probably would have been more useful.

Quote:
But the ideal, I still think, is what I proposed previously: a variety of sorts to suit each user and purpose.
I think something less one dimensional like Code Bubbles would be the ideal, but in the meantime not having the ideal doesn't mean we should just give up.


Quote:
Except, of course, that the designer(s) of every programming language ever developed have had to decide what to do about it!
Every plane designer had to decide what colour the wings would be, but it has nothing to do with aerodynamics.

Quote:
Don't be silly; the thing flies, and flies quite well -- we must have learned something about aerodynamics!
You can copy something without understanding it, although sure, you probably learned something.
 
Old 03-08-2013, 12:48 PM   #158
PTrenholme
Senior Member
 
Registered: Dec 2004
Location: Olympia, WA, USA
Distribution: Fedora, (K)Ubuntu
Posts: 4,147

Rep: Reputation: 330Reputation: 330Reputation: 330Reputation: 330
Quote:
Originally Posted by ntubski View Post
...
Every plane designer had to decide what colour the wings would be, but it has nothing to do with aerodynamics.
Just to be pedantic, that assertion is not often true. The colour of the wings (and rest of the plane) is almost always a decision of the plane owner, not the designer. What the designer would usually specify, if necessary, would be the maximum weight of the wing paint, and the paint's aerodynamic characteristics.

Consider, for example, the different colours of various commercial airline's planes, often products of the same manufactures using the same aeronautical design.

As a more general comment, it's often a mistake to confuse the "look and feel" of a product with the product's functionality.
 
Old 03-08-2013, 01:45 PM   #159
Gerry Rzeppa
Member
 
Registered: Feb 2013
Posts: 66

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by PTrenholme View Post
As a more general comment, it's often a mistake to confuse the "look and feel" of a product with the product's functionality.
I have two circular saws. One is nice and quiet while the other screams like a banshee. Functionally, some would say, they're identical, since they both cut boards with the same efficiency and precision. But I know they're not functionally equivalent, because the one is frequently used while the other sits on a shelf in the garage and rusts. The screaming saw -- in the real world, the user's world -- doesn't function at all. The designer apparently forgot that carpenters have ears; or, more likely, didn't consider ears to be part of the science of "saw-o-dynamics".

The design of a thing (like an airplane or a programming language) should consider all aspects of the matter that might influence the user. The color of the wings, and the case sensitivity of names, are thus legitimate design issues (whether or not they are technically classified as "aerodynamics" or "computer science"). Great engineering seeks a balance between competing objectives: "look" and "feel" are two of those competing objectives.

Quote:
Originally Posted by PTrenholme View Post
(in his signature): Assiduously eschew obfuscation.
Well said. I like the addition of the adverb "assiduously" -- I've always seen it with just the last two words.
 
Old 03-09-2013, 03:00 PM   #160
sag47
Senior Member
 
Registered: Sep 2009
Location: Philly, PA
Distribution: Kubuntu x64, RHEL, Fedora Core, FreeBSD, Windows x64
Posts: 1,418
Blog Entries: 33

Rep: Reputation: 355Reputation: 355Reputation: 355Reputation: 355
Quote:
Originally Posted by Gerry Rzeppa View Post
The designer apparently forgot that carpenters have ears; or, more likely, didn't consider ears to be part of the science of "saw-o-dynamics".
Hearing protection/ear muffs. There's no such thing as a quiet saw.
 
Old 03-09-2013, 08:06 PM   #161
Gerry Rzeppa
Member
 
Registered: Feb 2013
Posts: 66

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by sag47 View Post
Hearing protection/ear muffs. There's no such thing as a quiet saw.
The thing that makes most circular saws banshee-like is the "universal" motor that's typically used; circular saws with induction motors are harder to find but are significantly quieter (here's a nice one: http://healthtool.en.china.cn/sellin...6922010_1.html). But again, it's the balance between competing objectives (like cost, size, weight, power, and noise level) that determines the overall quality of a product: induction motors are typically larger and heavier than power-equivalent universal motors.

Seems it's hard to keep you guys on topic...
 
Old 03-09-2013, 09:03 PM   #162
psionl0
Member
 
Registered: Jan 2011
Distribution: slackware_64 14.0
Posts: 510
Blog Entries: 2

Rep: Reputation: 68
Quote:
Originally Posted by Gerry Rzeppa View Post
The design of a thing (like an airplane or a programming language) should consider all aspects of the matter that might influence the user. The color of the wings, and the case sensitivity of names, are thus legitimate design issues (whether or not they are technically classified as "aerodynamics" or "computer science"). Great engineering seeks a balance between competing objectives: "look" and "feel" are two of those competing objectives.
This just isn't true. One of the greatest sources of problems between designers (not just software designers) and customers is that the designer decides what the customer should have instead of finding out what the customer wants. (Windows 8 is a classic example). The end result is more often than not a product that does not fit the customer's needs. (Do you really think you should be saying, "too bad" if your customer wants yellow wings instead of red wings?)

When designing a GUI program that runs in a window, you need to answer a bunch of questions before you even start coding:
- What position is the window?
- What size is the window?
- Can the window be resized?
- Can the window be covered by other windows?
- Can the window be made invisible?
- Is the background transparent/monocoloured or a picture?
- Does the program continue running if the window is covered?
- Can the user end the program by clicking the "close window" button or should that button do something else?
- etc etc etc

The answers to these questions and many others invariably results in long winded data structures and hundreds of methods and variables that have to be learned. This is what makes GUI programming difficult rather than the syntax of the programming language.

Of course, a lot of this can be simplified somewhat if you have default values for most of these things. But if the user can not change the default values then the programming language will have limited application.

You can dumb it down even further by decreeing that your programs will capture the whole screen but if the user doesn't want to do this then your language has no further applicability.

Last edited by psionl0; 03-09-2013 at 09:05 PM.
 
Old 03-10-2013, 01:11 AM   #163
Gerry Rzeppa
Member
 
Registered: Feb 2013
Posts: 66

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by psionl0 View Post
One of the greatest sources of problems between designers (not just software designers) and customers is that the designer decides what the customer should have instead of finding out what the customer wants.
In case I haven't been clear, I'm in favor of the customer and the designer coming to agreement regarding the solution to a problem; typically there are aspects that neither fully understands until they really talk things out.

Quote:
Originally Posted by psionl0 View Post
(Windows 8 is a classic example). The end result is more often than not a product that does not fit the customer's needs.
I think products like Windows 8 are the result of superficial studies of "what customers want". Sometimes people think they want one thing, when they really want another. Case in point. I was in a meeting with a guy the other day and he was working real hard at typing notes on his iPad's virtual keyboard. I asked him if that was working better for him than his old laptop -- and he admitted it wasn't. Unfortunately, it was too late; he had already made the investment.

Quote:
Originally Posted by psionl0 View Post
(Do you really think you should be saying, "too bad" if your customer wants yellow wings instead of red wings?)
Of course not. But I do think, as an advisor, that I should be explaining the pros and cons of different wing colors to my client so he can make a fully informed decision.

Quote:
Originally Posted by psionl0 View Post
When designing a GUI program that runs in a window, you need to answer a bunch of questions before you even start coding:
- What position is the window?
- What size is the window?
- Can the window be resized?
- Can the window be covered by other windows?
- Can the window be made invisible?
- Is the background transparent/monocoloured or a picture?
- Does the program continue running if the window is covered?
- Can the user end the program by clicking the "close window" button or should that button do something else?
- etc etc etc

The answers to these questions and many others invariably results in long winded data structures and hundreds of methods and variables that have to be learned.
I think you mean, "depending on how these questions are answered, you may or may not have to deal with long winded data structures and hundreds of methods and variables that have to be learned." Following Albert's advice, I suggest we strive to make our systems "as simple as possible, but no simpler."

Quote:
Originally Posted by psionl0 View Post
This is what makes GUI programming difficult rather than the syntax of the programming language.
If by "this" you mean unwise design decisions, I fully agree with you.

Quote:
Originally Posted by psionl0 View Post
Of course, a lot of this can be simplified somewhat if you have default values for most of these things. But if the user can not change the default values then the programming language will have limited application.
I'm not sure what you mean by "limited". Obviously, no interface can serve every kind of customer and every purpose equally well. The iPhone's restricted one-thing-at-a-time take-over-the-whole-screen approach, however, works very well for a very large number of people and applications; Oberon's multiple-resizable-windows-that-never-overlap works well for another group; our own multiple-fixed-size windows approach does the job for yet another group of individuals. I'm pretty sure, however, that the full flexibility of, say, Windows -- including 15 different ways to close a window, 13 ways to resize it -- was every required by anyone.

Quote:
Originally Posted by psionl0 View Post
You can dumb it down even further by decreeing that your programs will capture the whole screen but if the user doesn't want to do this then your language has no further applicability.
Sometimes "dumbing things down" is exactly what is called for. Think, for example, of the tremendous success of the "___ for Dummies" book series. Think of all the functions that are available on peoples' phones that they never use. Think of all the people who never would have become programmers if their first experience was with something like Apple's Objective C rather than Apple II Basic.

But are we really disagreed here? All I've been saying is that great engineering requires a balance between competing objectives (including, of course, the objective that a product should be tailored to its intended audience).
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Time to Get Open Minded About Open Source LXer Syndicated Linux News 0 10-14-2008 07:10 AM
Programmer/Hacker wanted ClassicV Programming 1 06-30-2004 08:20 PM
Programmer wanted for video capture tweak ClassicV Linux - Software 0 06-17-2004 04:23 PM
programmer wanted. Ciccio Programming 57 01-11-2003 01:28 PM
Business minded yes...Linux minded no acid_byte Linux - Newbie 2 09-24-2001 01:56 AM


All times are GMT -5. The time now is 02:48 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration