flat assembler
Message board for the users of flat assembler.

flat assembler > Programming Language Design > Plain English Programming

Goto page Previous  1, 2, 3, 4, 5  Next
Author
Thread Post new topic Reply to topic
JohnFound



Joined: 16 Jun 2003
Posts: 3475
Location: Bulgaria
Gerry Rzeppa wrote:
We've already got people in South America working on Plain Spanish, a guy in Portugal looking into Plain Portuguese, and a Russian friend of mine thought that Plain Russian would be a good idea but he doesn't have time to pursue it at the moment. So yes, we like the thought that people everywhere can program as they naturally think, in their native tongues.


Great! And we already have a tool for translating from one language to other: Google Translator. This way, the portability problems will be solved entirely.

_________________
Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9
Post 10 Apr 2015, 19:18
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
codestar wrote:
I'm a very old fashioned programmer. When I was a kid - age 10-11, like 25+ years ago, with an Atari and Commodore 64 - there was no internet, no books or references. Back then, you had to be really good at it. Nowadays, everyone and their grandma does programming. Sadly, it has transformed from "think and write code; be unique, be you" to "look for code to copy and paste; walk the line; don't think for yourself".

I agree and I'm much the same. We see the same sad trend not only in programming, but in things like LEGO. When we were kids, there were a handful of block "types" and the rest was left to our imaginations. Now every piece is different from ever other and there are literally thousands of different "types" -- I have to constantly remind my youngest that he doesn't have to spend time searching for the right piece to "copy and paste", he can make whatever he needs himself from simpler components.

Time was you could master a programming language simply by reading a 100 page reference manual, and then you were ready to create. Small suitcase, large frontier. That's what we designed Plain English to be. Our 120-page manual tells you how to deal with with memory, the screen, the keyboard, the mouse, the disk drives, the printer, the speakers, and the internet, and the rest is up to you. Small suitcase, large frontier.


codestar wrote:
How can "we" (language creators) copy when no one else writes code in our languages?

Can't. And don't have to, fortunately.

codestar wrote:
PS: My favorite language designer is Niklaus Wirth.

Completely agree. We think of Wirth as the original Osmosian Master. ("Osmosian" as in "osmosis" -- you immerse yourself in a particular kind of programming environment and eventually you find that you've absorbed that way of thinking. Have you noticed how differently people reared on PASCAL think about programming compared with people brought up on C-style languages? And the different systems that result? The original Mac versus the new ones, for example; OBERON versus LINUX; simple, efficient, explicable systems versus complex kludges.) You are what you eat.
Post 10 Apr 2015, 19:43
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
tthsqe



Joined: 20 May 2009
Posts: 714
Can we get a language that uses Queen's English?
Post 10 Apr 2015, 19:53
View user's profile Send private message Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
JohnFound wrote:
Great! And we already have a tool for translating from one language to other: Google Translator. This way, the portability problems will be solved entirely.

Actually, we're not concerned with cross-culture portability. In fact, we think it best that different cultures develop in different directions because variety is our best defense against mistakes that become so ubiquitous they can't be easily corrected. We're content with a vision of a world where the French live and die speaking (and programming in) nothing but French, while Germans live and die speaking (and programming in) nothing but German. A society doesn't have to span the globe to be "complete" in every important sense of the word.
Post 10 Apr 2015, 19:55
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
tthsqe wrote:
Can we get a language that uses Queen's English?

One of the most important characteristics of our Plain English compiler is that very little vocabulary and grammar resides in the compiler itself: articles, conjunctions, prepositions, and a handful of state-of-being verbs are about all. The rest is defined by the programmer who is developing an application with our system as he defines new types, variables, and routines. The compiler thus "learns" or "picks up" the "local dialect" of the programmer as he programs.

For example. Our compiler knows nothing about bicycles, tricycles, etc. But once a programmer defines some types like these:

A cycle is a thing with a description and a color and some wheels.
A wheel is a thing with...


and a variable like this:

The inventory is some cycles.

and a routine like this:

To draw a cycle...

He can now say things like:

Allocate memory for a cycle. Append the cycle to the inventory.
Put "Bicycle" into the cycle's description.
Put the red color into the cycle's color.
Allocate memory for a wheel. Append the wheel to the cycle's wheels.
Allocate memory for a wheel. Append the wheel to the cycle's wheels.
Copy the cycle to another cycle. Put the white color into the other cycle's color. Append the other cycle to the inventory.
Copy the cycle to a third cycle. Put the blue color into the third cycle's color. Append the third cycle to the inventory.
Loop. Get a cycle from the inventory. If the cycle is nil, break. Draw the cycle. Repeat.


And if he wants to use a local dialect (maybe he doesn't like that "cycle is nil" statement just above), all he has to do is write a little wrapper routine, perhaps like this:

To decide if a cycle is there: If the cycle is nil, say no. Say yes.

And now he can change the loop to read:

Loop. Get a cycle from the cycle list. If the cycle isn't there, break. Draw the cycle. Repeat.

So the compiler's understanding of the language in general (vocabulary and grammar), and the programmer's local dialect in particular (vocabulary and grammar), grows as the programmer does nothing more than simply program.


Last edited by Gerry Rzeppa on 11 Apr 2015, 05:57; edited 1 time in total
Post 10 Apr 2015, 20:38
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
HaHaAnonymous



Joined: 02 Dec 2012
Posts: 1171
Location: Unknown
Plain "Language" programming can be fun! Especially if you are the type of person who likes to learn new Languages.

    move zero to eax and then add fifty
    multiply eax by variable x, where x is equal to y if y is greater than x, otherwise y equals five
    if error occurred then move one billion to eax, otherwise zero
    return from this function

I guess one can forget syntax highlighting already as it is a book rather than a program. :P

The error messages will be like:
English

    Errors:
    Your sentence is incorrect.
    The pronoun "I" must always be written in upper case.
    Numbers must be written in full.
    Unexpected comma.
    Unexpected end of paragraph.
    Word not found in dictionary.


Portuguese

    Erros, dicas e recomendações:
    Seu texto está gramaticamente incorreto.
    Pronome informal não suportado.
    Acento esperado em vogal.
    Palavra não encontrada no dicionário.
    Palavra não acentuada pode ter outro significado completamente diferente.
    Término de parágrafo inesperado.
    Uso de vírgula incorreto, entendimento foi invertido.
    Números devem ser escritos por extenso.

Functions will now be named chapters. It can also include glossary instead of comments!

It could also be used as a tool for learning other Languages since its forces the user to write books with no mistakes at all.

I apologize for any inconvenience I may have caused.
Post 10 Apr 2015, 21:16
View user's profile Send private message Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
HaHaAnonymous wrote:
Plain "Language" programming can be fun! Especially if you are the type of person who likes to learn new Languages.

That's true. But it's also fun for people who don't like to learn new languages since you can code in the language you already know.

HaHaAnonymous wrote:
I guess one can forget syntax highlighting already as it is a book rather than a program. Razz

The only syntax highlighting we've found helpful is comments (which appear in a subtle, sky-blue hue) so you can see at a glance which parts of your code are operational, and which parts are not.

HaHaAnonymous wrote:
The error messages will be like...

The compiler responds in the first person when it doesn't understand; actual error messages are things like:

"I don't know how to 'draw a widget'."
"I already know how to 'draw a box'."
"I was expecting an indefinite article right about here."
"Dude, you already have a parameter called 'x'."
"We seem to have an invalid unit of measure here."
"You seem to have forgotten a period."


HaHaAnonymous wrote:
Functions will now be named chapters. It can also include glossary instead of comments!

Turns out we still call functions, "functions".

HaHaAnonymous wrote:
It could also be used as a tool for learning other Languages since its forces the user to write books with no mistakes at all.

That's not quite true; the compiler is quite forgiving with regard to bad spelling and syntax since the vocabulary and grammar are defined, in great part, by the programmer himself. The version we're working on now is even more flexible in these areas.

If you want to find out what the thing is actually like but don't want to download and run it (though that only takes a few seconds and does not require installation), you can read all about it here:

www.osmosian.com/instructions.pdf
Post 10 Apr 2015, 22:41
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
KevinN



Joined: 09 Oct 2012
Posts: 161
AppleScript sort of tried to attempt this - and it's predecessors I think. What was that called? Something-Talk? I don't remember.
Post 11 Apr 2015, 07:39
View user's profile Send private message Reply with quote
codestar



Joined: 25 Dec 2014
Posts: 254
KevinN: But Gerry didn't just try and fail. He succeeded in making a real nice English programming language, what we've all dreamed of.
Post 11 Apr 2015, 07:45
View user's profile Send private message Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
codestar wrote:
Unlike most visual artists, I see, acknowledge and respect the "art" in your code Smile

Thanks. I sent a copy to Donald Knuth back in January (he only communicates via snail mail) and he described it as "an elegant proof of concept" and "one of the most self-describing systems [he'd] ever seen." He was especially impressed with what he called "the haiku-like constraint" of getting each topic in the instruction manual to exactly fit on a single page.

codestar wrote:
Programming since 10-11 years old, 26-27 years ago.

There does seem to be something of a "generation gap" in the programming community, similar to the PASCAL vs C gap I mentioned earlier. It sometimes seems that each generation is bent on learning as little as possible from their forefathers. Think about it: in the 1980's I was conveniently typing my thoughts on a what-you-see-is-what-you-get 1-megahertz Macintosh with just 128 kilobytes of memory; now I've got a gigahertz machine with gigabytes of memory, yet I'm composing this post in a primitive, exceptionally inconvenient, non-wysiwyg, edit-here-preview-there-come-back-here-to-make-corrections editor!

codestar wrote:
One of the biggest misconceptions people have is that it's YOUR personal language. I strongly disagree with this. It's just English with real semantics and there's no personal decision involved. It understands whatever you program it to do. Typical programmer's blame the language for their mistakes/fault; in other words, they blame the instrument for their inability to use it correctly.

Yes; like almost anything, if you approach it confrontationally, it's going to fight back; but if you approach it with nothing more than a childlike curiosity, you'll soon get to know and love it for what it is.

codestar wrote:
You should be proud of yourself to have such an intelligent son Smile

Thanks. We've got another "miracle baby", now nine years old, who was born of my wife's very own well-past menopause womb when she was 57 years old. Since we felt like Abraham and Sarah when he was born, being so old and having prayed so long, we named him "Chuckles" (a loose transliteration of the Hebrew "Isaac"). I'm teaching him Plain English, of course.

codestar wrote:
My daughter is 19 years old and she does Java 3D game programming, though I rarely ever see or talk to her Sad I taught her how to program in Borland C++ DOS 3.1 at age 6-7.

I don't see my daughter much either; she manages a couple of warehouses for Amazon in Indiana.

The thing I would like to pass on to the next generation is the kind of "joy" it was to program back when systems were simple enough so you could understand them, top to bottom, without years of study. I'm thinking a stand-alone Plain English system-on-a-stick might fit the bill, especially if the operating system was also written primarily in Plain English. I'm just feeling a little old to start digging back into all that hardware-specific stuff, especially when hardware is such a moving target these days.
Post 11 Apr 2015, 09:11
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
KevinN wrote:
AppleScript sort of tried to attempt this - and it's predecessors I think. What was that called? Something-Talk? I don't remember.

AppleScript was an outgrowth of HyperTalk, which was part of Apple's HyperCard (http://en.wikipedia.org/wiki/HyperCard). I remember writing an entire system for a small printing company is less than a week with HyperCard back in the day. They used it for more than a decade. Great product; I was sorry to see it go. Developed by the guy who did MacPaint and QuickDraw (http://en.wikipedia.org/wiki/Bill_Atkinson), a true Osmosian Master if ever there was one: wrote in PASCAL and assembler, hated scroll bars, loved simplicity, etc.
Post 11 Apr 2015, 09:27
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
Tomasz Grysztar
Assembly Artist


Joined: 16 Jun 2003
Posts: 6872
Location: Kraków, Poland
This is really a fascinating project - I really like when new approaches to programming are designed and implemented in such a beautiful way. As a mathematician I have a inclination to play with cryptic languages (even esoteric ones), but I see and appreciate the beauty in many different approaches. I also have a Pascal background (I learned it much earlier than C, and I learned assembly by writing inline assembly functions in Turbo Pascal) - and I agree wholeheartedly that there is something different in how people reared on Pascal approach the programming when compared to people that started with C-like ones.

Gerry Rzeppa wrote:
I think the artist part sometimes makes us see things that other programmers (more strongly left-brained and mathematically inclined), sometimes miss. For example, almost everyone on programming sites tells me we got the precedence rules wrong in Plain English (ours is left-to-right only). Yet when I ask almost any native English speaker (who is not a trained programmer) what "3 plus 2 times 5" is, they always say, 25 (not 13).
Since you mentioned mathematically inclined programmers I would like to share another similar story about the precedence rules that shows that mathematicians may also not be exactly in the same "category" as the usual programmers of today. There was a controversy over my choice to assign unary minus the same precedence as subtraction - my mathematical background has influenced me there, because for mathematicians it is usually more natural to expect that such minus sign has lower priority than multiplication or power no matter whether there is some other term before it or not (you can see examples of this reasoning here and here). I'm under impressions that the dominance of languages derived from C has made it that most programmers today may have a different intuitions.
Post 11 Apr 2015, 09:52
View user's profile Send private message Visit poster's website Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
codestar wrote:
KevinN:But Gerry didn't just try and fail. He succeeded in making a real nice English programming language, what we've all dreamed of.

The dream, I think, has been apparent for years: the infamous HAL 9000, the computer on Star Trek with the voice of Gene Roddenberry's wife, etc. And now Apple's SIRI and Microsoft's CORTANA and Amazon's ECHO and Wolfram's ALPHA are making systems like that a reality. (See http://blog.wolfram.com/2010/11/16/programming-with-natural-language-is-actually-going-to-work/ for a great article on the subject by Wolfram.) So it's going to happen, is happening.

The difference between our approach those above is that they all assume that the programming has to be done in a language different from the user's. We disagree -- we think the whole thing can be programmed in English (except, of course, for a handful of unavoidable "machine code literals").

That's why our next step is to write a Plain English operating system. Then we'll have a system that will be suitable not only for education, but for professional and other practical uses as well; a system where beginners, experts, and users will all speak the same language.

If anyone here would be interested in helping to develop that Plain English operating system, please let me know (gerry.rzeppa@pobox.com). Perhaps you, Codestar? Surely you'd be happier working on something positive like that than spinning your wheels trying to keep Revolution and John and the rest in line! Smile Keep in mind that I'm only talking "proof of concept" at this stage: something "ridiculously primitive" like a 32-bit DOS on a stick with just enough breadth to allow us to recreate the system we have now -- minus the Windows kludge underneath. The "Gray Matter Glossary" in our instruction manual ( www.osmosian.com/instructions.pdf pages 55 to 114) fully describes the capabilities of our system and, by implication, the kind of functionality we need and expect from an operating system. And I think we could even delete some of that in the interest of simplicity.
Post 11 Apr 2015, 10:01
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
Tomasz Grysztar wrote:
This is really a fascinating project - I really like when new approaches to programming are designed and implemented in such a beautiful way. As a mathematician I have a inclination to play with cryptic languages (even esoteric ones), but I see and appreciate the beauty in many different approaches.

Thank you; I especially appreciate that coming from an expert like yourself.

Tomasz Grysztar wrote:
I also have a Pascal background (I learned it much earlier than C, and I learned assembly by writing inline assembly functions in Turbo Pascal) - and I agree wholeheartedly that there is something different in how people reared on Pascal approach the programming when compared to people that started with C-like ones.

That's reassuring. I was beginning to think I was the only one. Now the question is the old heredity vs environment one: Do these differences arise because people start out different and are thus attracted to the one "style" or the other? or do people start out more-or-less neutral in these matters and and learn, by training and osmosis, to think one way or the other?

Tomasz Grysztar wrote:
Since you mentioned mathematically inclined programmers I would like to share another similar story about the precedence rules that shows that mathematicians may also not be exactly in the same "category" as the usual programmers of today. There was a controversy over my choice to assign unary minus the same precedence as subtraction - my mathematical background has influenced me there, because for mathematicians it is usually more natural to expect that such minus sign has lower priority than multiplication or power no matter whether there is some other term before it or not (you can see examples of this reasoning here and here). I'm under impressions that the dominance of languages derived from C has made it that most programmers today may have a different intuitions.

From a "person on the street" perspective -- a perspective that we Plain English programmers constantly attempt to cultivate -- it's clear that a dash in front of a number is not an operator at all: it's part of the number itself. "Five" is a number, and "minus five" or "negative five" is another, different number. No ordinary person thinks of negative five as a positive five that has been negated; they simply think of it as a different number. I realize this is contrary your choice above, but I think it accurately represents how the "untainted" among us conceptualize the thing. And the syntax we (currently) support for inline expressions in Plain English actually encourages this mode of thought: we (currently) don't allow symbols as infix operators, but (currently) insist on spelled-out words: plus, minus, etc. The Plain English programmer may thus write "-5 minus -3" but it will be clear (we hope) that there are two terms and one operation in the expression; the answer is -2 (which is a number) and not "minus 2" (which is an incomplete expression with the leading term missing). Though I must admit that thinking like an ordinary person (and not a mathematician) I was inclined to think the answer should be -8 ! So clearly more thought is necessary. Probably best to use "ordinary person" precedence when words are involved, standard mathematical precedence when symbols are used; and when they're mixed, lean toward the "ordinary person" precedence since no self-respecting mathematician would mix them. And tell conventional programmers to use lots of parentheses. Too bad we can't convince everyone to simply use reverse polish notation!

I have a degree in math myself -- with honors, no less -- and yet I can't quite bring myself to trust the stuff as others do (though I readily admit its practical value in many areas). Case in point: math tells me that the hypotenuse of a right triangle with one side 3 units long and another 4 units long is 5 units long; but it also tells me that the hypotenuse of a right triangle with two 1-unit sides is a number that no one has ever been able to exactly quantify; a different KIND of number altogether. Yet I know that when I draw such triangles on graph paper, or cut them out of wood with my miter saw, the experience is the same whether the line (or cut) is a simple integer, a real number, an irrational number, etc. So I'm forced to conclude that the mathematical model is defective and thus not to be entirely trusted -- it is, after all, just a model, right? the reality is the triangle on the paper and the wood on the saw.
Post 11 Apr 2015, 11:02
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
Tomasz Grysztar
Assembly Artist


Joined: 16 Jun 2003
Posts: 6872
Location: Kraków, Poland
Gerry Rzeppa wrote:
From a "person on the street" perspective -- a perspective that we Plain English programmers constantly attempt to cultivate -- it's clear that a dash in front of a number is not an operator at all: it's part of the number itself. "Five" is a number, and "minus five" or "negative five" is another, different number. No ordinary person thinks of negative five as a positive five that has been negated; they simply think of it as a different number.
This demonstrates that to some degree everyone is a mathematician now; after all, the concept of negative numbers was introduced by mathematicians relatively late in our history. And the fact that in our algebraic notation we have negation denoted by the minus sign reflects that is in a way derivative of the subtraction. The mathematical point of view that I mentioned comes from the algebra (which was the field I specialized in), where the polynomials and similar algebraic entities are the most commonly encountered - in context of polynomial it is intuitive to treat the minus sign (whether unary or binary) as applied to the entire term, as the term of polynomial is a fundamental unit there. Since programming language also use variables (like polynomials), this analogy is for me more compelling than the one with pure numbers. But, of course, your perspective is no less valid - perhaps it was a similar reasoning that led to the choice of operator precedence in the common programming languages. I just wanted to point out that there may be more that just two points of view here, and that characterization of the current "mainstream" of programming as mathematically inclined may not be fully accurate.

Gerry Rzeppa wrote:
I have a degree in math myself -- with honors, no less -- and yet I can't quite bring myself to trust the stuff as others do (though I readily admit its practical value in many areas). Case in point: math tells me that the hypotenuse of a right triangle with one side 3 units long and another 4 units long is 5 units long; but it also tells me that the hypotenuse of a right triangle with two 1-unit sides is a number that no one has ever been able to exactly quantify; a different KIND of number altogether. Yet I know that when I draw such triangles on graph paper, or cut them out of wood with my miter saw, the experience is the same whether the line (or cut) is a simple integer, a real number, an irrational number, etc. So I'm forced to conclude that the mathematical model is defective and thus not to be entirely trusted -- it is, after all, just a model, right? the reality is the triangle on the paper and the wood on the saw.
Yes, mathematical constructions are always just models that we created to mirror some aspects of our reality. I don't think this should be discouraging - but it is good to remember the underlying assumptions of each model that we want to use. For example, the geometry you used in the above example has an assumption that everything can be scaled and divided ad infinitum - and it the consequence of this assumption that to measure the hypotenuse we may need a number that is only obtainable through infinite calculations. If we used a different model - based on assumptions that perhaps space is quantized (after all, the quantum physics may give us a good reason to think that it is so) and you can get down to basic "pixels" of reality - then you could end up with metrics where every length would be a nice natural number. We simply choose a model that works best for us under the circumstances (including the preference for model that requires less effort). And I think that trusting the mathematics is sensible as long as you are aware of all the assumptions.
Post 11 Apr 2015, 12:05
View user's profile Send private message Visit poster's website Reply with quote
Mike Gonta



Joined: 26 Dec 2010
Posts: 211
Tomasz Grysztar wrote:
This is really a fascinating project - I really like when new approaches to programming are designed and
implemented in such a beautiful way.
I too have been fascinated by this project since 2006 when it was originally released. However, having obtained a
copy without paying for it (Gerry was originally selling it for $100) I felt it wasn't in my best interest to publicize
the fact and I didn't pursue it any further. It was only recently that I decided to "dig it up" and take another look.
I was still a little hesitant until I did some searching and found the it was for some time now freely available at
http://osmosian.com/cal-3040.zip (back then it was the cal-3037 follow by the cal-3040).
Also, I am glad to see that Tomasz "approves" of my posting a non FASM topic (which of course was posted in
the heap).

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com
Post 11 Apr 2015, 13:23
View user's profile Send private message Reply with quote
Mike Gonta



Joined: 26 Dec 2010
Posts: 211
Gerry Rzeppa wrote:
The thing I would like to pass on to the next generation is the kind of "joy" it was to program back when
systems were simple enough so you could understand them, top to bottom, without years of study.
I'm thinking a stand-alone Plain English system-on-a-stick might fit the bill, especially if the operating system
was also written primarily in Plain English. I'm just feeling a little old to start digging back into all that
hardware-specific stuff, especially when hardware is such a moving target these days.

The current CAL-3040 "shebang" is an excellent system. However, a proof of concept would like further development.
Please open source the code with a permissive license. Personally I prefer the free licenses the unlicense or ZLib.
Re-coding the entire system (a clone) from scratch based on the Plain English syntax would be a huge undertaking.
The lack of a license will not only prevent others from participating in development, but in many cases prevent them
from even looking at the source.

The transliterating compiler SudoCode that I am currently working on is based on bootstrap compiling the original
CAL-3040. Even though I don't distribute a modified version of the original CAL-3040 (the instructions are simple)
nor a copy of the SudoCode compiler itself (simply bootstrap compile it from the original), I'm still at the mercy of
the author as far as distributing my original Plain English code for the SudoCode compiler. Also, to produce
executables for a non windows environment would require replacing all the windows specific calls in the noodle with
SDL (for example).

Personally, I would like to produce binaries for small standalone systems (hobby OS, standalone bootable programs,
etc) written in Plain English.

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com
Post 11 Apr 2015, 14:18
View user's profile Send private message Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
Tomasz Grysztar wrote:
This demonstrates that to some degree everyone is a mathematician now; after all, the concept of negative numbers was introduced by mathematicians relatively late in our history.

Granted. But I'm pretty sure ordinary people try to avoid negative numbers as much as possible simply because they're hard to conceptualize (ie, mentally picture). After all, negative numbers are, well, negative; negations; not something "real" or "positive" or "concrete" in the usual senses of those words. I can imagine myself owing you 5 dollars; I really don't know how to picture "having" -5 dollars. Things such as these -- counter-intuitive and hard-to-picture things that are too much "taken for granted" -- are where I believe great iconoclastic advances can be made.

Tomasz Grysztar wrote:
...I just wanted to point out that there may be more that just two points of view here, and that characterization of the current "mainstream" of programming as mathematically inclined may not be fully accurate.

Agreed. The fact that there are multiple persistent points of view on a subject is, to me, evidence that there may be an underlying fault in the concept itself, however handy it may be: fertile ground for iconoclastic investigation.

Tomasz Grysztar wrote:
Yes, mathematical constructions are always just models that we created to mirror some aspects of our reality. I don't think this should be discouraging - but it is good to remember the underlying assumptions of each model that we want to use. For example, the geometry you used in the above example has an assumption that everything can be scaled and divided ad infinitum - and it the consequence of this assumption that to measure the hypotenuse we may need a number that is only obtainable through infinite calculations. If we used a different model - based on assumptions that perhaps space is quantized (after all, the quantum physics may give us a good reason to think that it is so) and you can get down to basic "pixels" of reality - then you could end up with metrics where every length would be a nice natural number. We simply choose a model that works best for us under the circumstances (including the preference for model that requires less effort). And I think that trusting the mathematics is sensible as long as you are aware of all the assumptions.

Indeed. As you've probably guessed I'm a fan of Kronecker ("God created the integers; all else is the work of man"), Wildberger's "rational trigonometry" ( http://en.wikipedia.org/wiki/Rational_trigonometry ), Ed Fredkin's "digital physics"( http://www.digitalphilosophy.org/?page_id=2 ), etc. That's why we (currently) support only integers in Plain English, but are nevertheless able to size and smooth and rotate graphical objects; we even have an all-integer "turtle graphics" library that uses "rise" and "run" in lieu of conventional trigonometry (where you don't turn by degrees -- you "turn 1/8 of the way around" and such like). What I'd like to see (or develop) is a consistent all-integer "pixel geometry" that would work for all the various graphical objects (including fonts) that we need in our development system. If anybody knows of such a thing, please point me in the right direction.
Post 11 Apr 2015, 19:06
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
Gerry Rzeppa



Joined: 10 Apr 2015
Posts: 37
Location: Franklin, KY
Mike Gonta wrote:
The current CAL-3040 "shebang" is an excellent system. However, a proof of concept would like further development.
Please open source the code with a permissive license...

The problem I have with open source licensing in general, and "crowd coding" in particular, is that a program quickly ceases to be what it was intended to be; quickly ceases to be itself. See here ( https://github.com/Folds/osmosian/issues/4 ) for a clear and recent instance involving our system.

For examples closer to home, consider (a) that some of your own Plain English SudoCode IFs span more than one line, (b) that it is impossible on GitHub to insure that every documented topic will fit exactly on a single printed page, and (c) that producing output that requires a post-compiler is contrary to the "stand alone" and "minimalist" concept of the current system.

Now of course you might say that such "practices" or "elements of style" are unnecessarily restrictive or even silly; perhaps they are. But they're two of the "concepts" or "principles" or "characteristics" that make our Plain English system what it is. And, as you can surely imagine, as the masses chip away at such concepts and principles and characteristics -- each person deciding for himself what is silly and what is not -- the uniqueness, the identity of the program inevitably deteriorates and eventually it becomes something else altogether. Only the name remains the same.

Nevertheless...

Mike Gonta wrote:
I'm still at the mercy of the author as far as distributing my original Plain English code for the SudoCode compiler...Personally, I would like to produce binaries for small standalone systems (hobby OS, standalone bootable programs, etc) written in Plain English.

God forbid that I do anything to squelch the creativity of others! I hereby officially grant you, Mike Gonta, my personal permission to do whatever you'd like with the CAL-3040, its source code, and its documentation, for as long as you shall live. Go for it!
Post 11 Apr 2015, 20:01
View user's profile Send private message Send e-mail Visit poster's website Reply with quote
Mike Gonta



Joined: 26 Dec 2010
Posts: 211
Gerry Rzeppa wrote:
The problem I have with open source licensing in general, and "crowd coding" in particular, is that a program
quickly ceases to be what it was intended to be; quickly ceases to be itself.
The Zlib license prevents this from happening. The modified program cannot be represented as the CAL-3040,
attribution must be provided and misrepresentation of originality is not allow.
Zlib license wrote:
Copyright (c) <year> <copyright holders>
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held
liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to
alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
If you use this software in a product, an acknowledgment in the product documentation would be appreciated but
is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original
software.
3. This notice may not be removed or altered from any source distribution.
Gerry Rzeppa wrote:
I hereby officially grant you, Mike Gonta, my personal permission to do whatever you'd like with the CAL-3040,
its source code, and its documentation, for as long as you shall live.
What difference would it make if one or one thousand people distributed bastard versions?

How can you prevent others from modifying my modified version?

You may wish to consider retracting your permission (which I of course will be morally obligated to comply with).

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com
Post 12 Apr 2015, 10:23
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4, 5  Next

< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 2004-2018, Tomasz Grysztar.

Powered by rwasa.