I wasn't saying that Amazon doesn't have a lot of code in its systems. I was saying that most of that code does simple stuff like "move this over there" and "show that on the screen" -- things that can be conveniently expressed in a natural language. But let's consider an example we can examine in detail:So, Amazon is a simple site. Good to know. Certainly, minimal degree of difficulty in running one of the largest marketplaces on the internet.
You and your son are wrong. I'll just go ahead and assume that you mean to include him in your pronouncements, since you won't drop this "we think" and "our heads" crap, and he's the only other person using it, if in fact he is using it.And that's why we say that most of what most programs do is easy stuff, stuff that can be conveniently expressed in a natural language. And that, in turn, is why we like programming in Plain English: the thoughts in our heads are typed in as Plain English "pseudo code" and, with a tweak here and there, that pseudo code actually compiles and runs. And is self-documenting, to boot.
No, I just told you. It's terrible. For me. As a user. You don't get to tell me what works for me. Grouping menus by function makes sense. Microsoft's grouping may leave much to be desired at times, but the concept is correct.It's like the index in the back of a book. And it works. For beginners and experienced users.
Gerry is like the guy who invented Esperanto, or Edison on the subject of DC vs AC, or Richard Stallman. I've put him in better company than his ideas deserve, obviously, but that's a matter of degree. Such people can never accept that the world has evolved a way of doing things that is less optimal than their own preferred solution.Grouping menus by function makes sense. Microsoft's grouping may leave much to be desired at times, but the concept is correct.
Exactly, never had a problem with the language. Trying to figure out how I am going to accomplish something is the toughest part.Well, you are simply wrong and ignorant of what makes programming hard. Abstraction and logic are the two things I've seen new developers struggle with the most. What they don't struggle with are the various language features and syntactical anomalies. Gerry, this is what you don't understand and what has been brought up, numerous times, in this thread.
More BS. You realize we are all programmers here right? Your BS will not work here.I haven't had those problems with any of my students, many of whom have gone on to lucrative careers as professional programmers.
Okay, then, here's what that kind of thing looks like in Plain English. This is the essence of a pong-like game I wrote with a six-year-old where you try to stop a moving bird with a baseball bat:
To do it:
Draw the screen's box with the black color.
Move the bat. Draw the bat's picture.
Move the bird. Draw the bird's picture.
Check for collision.
Draw the score.
Refresh the screen.
If the escape key is not down, repeat.
To move the bat:
Put the mouse's spot into a spot.
Put the screen's right minus 1 inch into the spot's x.
Center the bat's picture on the spot.
To move a bird:
Move the bird's picture right the horizontal bump.
Move the bird's picture down the vertical bump.
If the bird's right is greater than the screen's right, play the pop sound; subtract 1 from the score; negate the horizontal bump.
If the bird's left is less than the screen's left, play the boink sound; negate the horizontal bump.
If the bird's bottom is greater than the screen's bottom, play the boink sound; negate the vertical bump.
If the bird's top is less than the screen's top, play the boink sound; negate the vertical bump.
To check for collision:
Put the bird's picture's center into a spot.
Put the bat's picture's box into a box.
If the spot is not in the box, exit.
Add 1 to the score.
Add 1/64 inch to the horizontal bump.
Add 1/64 inch to the vertical bump.
Negate the horizontal bump.
Negate the vertical bump.
Move the bird's picture left 1/2 inch.
To draw the score:
Put the score into a string.
Put the green color into a color.
If the score is less than 0, put the red color into the color.
Draw the string in the center of the screen's box with the color and the font.
There's more stuff, of course, like type and variable definitions and some initialization code, but that's the gist of it.
Here are a couple of lines from another thread here:There is also nothing self-documenting about your code.
//get the existing pixel: pngpixel * pixel = GetPixel(x,y);
Exactly the opposite. Our premises are based on observations of actual human behavior. We arrange our menus like the index of a book (rather than a table of contents) because we have observed that most people, most of time, resort to the index when they're looking for something in a book, not the table of contents.Your entire premise seems to be based on telling people that what they think is wrong...
It's not nice to call people liars, especially when they're not lying. Isn't there a forum rule against that somewhere? Boy, oh boy, you can never find a moderator when you really need one!More lies. Post the entirety of the code that makes a working game in your compiler. Not the trimmed down BS that will not work at all.
It was a program for a six-year-old. But any desired angle of movement can be had simply by adjusting the horizontal and vertical bump variables appropriately. It's not a big leap.It also seems the ball in his pong game only ever moves at 45 degree angles. Depending on the velocity of your paddle at the point of contact, a ball in pong can bounce at various angles.
True; again, it was a game for a six-year-old on his personal computer. If we needed special timing, it would have been easy to add. Autoscrolling in our file manager, text editor, and page editor, for example, are restricted to reasonable maximum speeds.He also doesn't seem to have timing in his game. Looks to me like it would run as fast as the computer can process the statements.
Yes, we rely on the sound card to process sound -- isn't that what it's for? And isn't that what all the other languages do as well? There simply isn't time to reinvent every wheel in the universe. But we do contend that there isn't a single line of code on that sound card that couldn't have been written, as conveniently and efficiently, in our Hybrid Programming language; and we also contend that many of those lines -- perhaps most -- could have been written as conveniently and efficiently in straight Plain English.There's no sound processing, so somewhere in the background there are things to handle sound card drivers. Oh no wait, he still relies on the painted whore to do all the real work, using their libraries via more complicated real code in his "noodle".
So the "real work" is done at the lower levels only? I don't think so. I think real work is done at all levels, and none is more or less important than another. Our page editor, for example, couldn't do it's job if there wasn't a routine somewhere in the bowels of the graphics card to set a pixel to a certain color; but that graphics card, by itself, won't let us "Autoscroll the page to the cursor" in a wysiwyg document either.He says it's the gist of it and that there's "more stuff" as he does in every other example. He completely fails to note that the "other stuff" is where all the real work of the program is.
Not so; the programmer who works at a high level faces most of the same design and implementation problems as the programmer who works at a lower level. But sure, we need to use other people's code from time to time simply because no one will ever live long enough to code everything from scratch.All he seems to be proving is that with enough hidden code, programming is easy.
Take the last project you worked on and analyze it the way I analyzed our compiler code above. I'm pretty sure -- real sure, in fact -- that you'll find that most of your code does easy stuff like our compiler (or any other program that has ever been constructed, for that matter).Kind of like the way he boils down Amazon to "Display the product" and then brags about how easy it was.
I refer you again to the examples in blue above. I really can't imagine a more natural, convenient, or self-documenting way of conveying those thoughts to the computer. Perhaps you can, and perhaps the future of programming will look more as you imagine it. But my experience has been that in the long run, it's the most natural, convenient, and self-documenting modes of expression that overcome. I hasten to add that I'm an optimist in many ways; but I'm realist enough to know that the innate foolishness of men can drag anything down to a lower common denominator: it may very well be that the end that's in store for all of us "under the sun" is much different from the bright and cheery picture I've been painting. But hope floats. God forbid that I be one who tries to sink it!It's all smoke and mirrors, lots of hand waving but no substance. I still say the work is interesting, but not to the extent he wants to pass it off as the future of programming.
This is why everyone here is irritated by you.I hasten to add that I'm an optimist in many ways; but I'm realist enough to know that the innate foolishness of men can drag anything down to a lower common denominator: it may very well be that the end that's in store for all of us "under the sun" is much different from the bright and cheery picture I've been painting. But hope floats. God forbid that I be one who tries to sink it!
Were you thinking of Python 2 or Python 3? But let's look at some of our options:...at least to me would be easier and less ambiguous if it were just Python or any other higher level scripting language.