Yikes, gadzooks, and shiver me timbers! Yet another "new" programming language? Yes, Virginia, another new programming language. ZeptoN.
So, what the do-while is ZeptoN? Simple, ZeptoN is a simple programming language designed with two objectives...
Simple learning language with common syntax style and structure.
A programming language for quick-and-dirty “throwaway programs.”
As a young boy and a teenager, I cut my teeth learning to program several programming languages. The first was the infamous and ubiquitous BASIC, and the other was Pascal. This was the 1980s, and the home computer revolution was underway. I describe how I got into software here xxx, and getting into programming led me to become a senior software engineer.
Yet, one key feature of BASIC and Pascal was simplicity. Perhaps too simple in some ways, but the simplicity allowed the newbie or “noob” coder to start writing, running, and tinkering with code. I had subscriptions to “COMPUTE!” and bought programming books when I went to the mall. Yet, I could type in a program, run the code, and often, play computer games.
I went so far as to write my own “electronic novel” which was a shameless imitation of some of the popular text adventures from Infocom, Adventure International. Mine was a murder mystery that “borrowed” from some other games, including the role-playing ones from companies like SirTech. The games were first written in BASIC, ultimately reaching GW-BASIC, and later in Turbo Pascal.
This was more for the fun of creating and to impress friends to see if they could find the clues and solve the mystery. From this fascination with text adventures, I learned compiler theory concepts like lexical analysis, syntax, parsing, BNF, etc.
Yet, there was the simplicity of BASIC and Pascal. Both programming languages were simple enough to teach important programming concepts, and often not formally. Then both programming languages were powerful enough and expressive enough to do neat and cool things, like my own text adventure.
Now, when I look at introductory programming courses, powerful programming languages are often used--like Java, C++, and so forth. Great that mainstream languages are utilized that are in demand; there is only one small problem: Java, C++, C#, and Swift languages are very complex as they use the object-oriented paradigm.
For a noob or newb, for a newbie coder, that is a challenging and often frustrating language to learn. I initially experienced that at university, when the computer science department switched from a Pascal curriculum to a C++ one. The big frustration was going from a structured to an object-oriented paradigm.
The simile I use is using Java/C++/C#/Swift/etc. is like learning to fly a plane by learning to pilot a Boeing 747 or an Airbus A330. A powerful aircraft, but overloading in terms of features, controls, and operation. Kernighan [Kerni 1981] even wrote that “Comparing C and Pascal is rather like comparing a Learjet to a Piper Cub — one is meant for getting something done while the other is meant for learning.”
Yet, in this case, ZeptoN is meant for learning. ZeptoN has C/C++/Java syntax, so the most ubiquitous syntax style is used and is familiar, and ZeptoN transpiles or transcompiles from ZeptoN into Java. Thus, ZeptoN leverages Java ubiquity and platform neutrality. Hence, a newb can code ZeptoN on the MacOS, Linux, or Windows platforms.
One problem with BASIC (and to a lesser degree Pascal) was that each platform/computer--Atari 800, Commodore 64, IBM PC, Tandy 1000EX had its own “flavor” of BASIC. Thus, one BASIC program for the TI99/4A was not quite compatible with the TRS-80 BASIC, etc. I often found myself “adapting” BASIC programs to the computer I had at the time.
ZeptoN avoids this by using Java, and having a standard environment of 70+ functions and several standard constants so ZeptoN can run anywhere.
All ZeptoN requires is a favorite JDK vendor, with a minimum of JDK 11 for the transcompiler or code editor, Zeptor.
Moreover, ZeptoN is free (yes as in free beer) and open-sourced using the GNU GPL v3. Hence, no cost and no proprietary or secret “black box” tool to transpile ZeptoN programs into Java .class bytecode.
As a senior software engineer with 30+ years of writing code, I do like to write “test” programs to try something, and then throw them away. ZeptoN’s simplicity makes this possible, so for an advanced coder to the noob coder, ZeptoN is for everyone!
For more details and examples check out the ZeptoN programming language white paper, a 49-page PDF or ePub document, for more details, and some samples of ZeptoN programs.
For more details and examples check out the ZeptoN programming language white paper and some samples of ZeptoN programs.
More about ZeptoN here: https://github.com/wgilreath/ZeptoN and on my home site: https://www.wfgilreath.xyz/ Also the code editor Zeptor: https://github.com/wgilreath/Zeptor
Here's ZeptoN in action and in use on Zeptor on YouTube! Enjoy the zither music... 😉
More articles to follow... 😜 about ZeptoN and Zeptor. Zept to it!
[Kerni 1981] Kernighan, Brian W. "Why Pascal is Not My Favorite Programming Language," Computing Science Technical Report No. 100, AT&T Bell Laboratories, April 2, 1981. https://www.lysator.liu.se/c/bwk-on-pascal.html https://archive.org/details/pascal-not-my-favorite/page/n2/mode/1up
[Gilre 2024] Gilreath, William F. "Begin at the Beginning...My Start in Software Engineering," PDF (60K) https://bit.ly/will_soft_start
[Gilre 2022] Gilre 2022, Gilreath, William F. "ZeptoN Programming Language," ePub (5.7Mb) https://wgilreath.github.io/ZeptonWhitePaper.epub
[Gilre 2022] Gilre 2022, Gilreath, William F. "ZeptoN Programming Language," PDF (5.yMb) https://wgilreath.github.io/ZeptonWhitePaper.pdf