What the do-while is ZeptoN?
Tags: beginners, programming, java, coding
Published: 2024-05-13 11:12:18

## Introducing Yet Another Umpteenth Programming Language

Yikes, gadzooks, and shiver my timbers! Yet another "new" programming language? Yes, Virginia, another new programming language. ZeptoN. 

## Overview

So what the do-while is ZeptoN? Simple, ZeptoN is a simple programming language designed with two objectives...

1. Simple learning language with common syntax style and structure.
2. A programming language for quick-and-dirty “throwaway programs.”

## My Programming History

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 then the other was Pascal. This was the 1980s and the home computer revolution was underway. I describe how I got into software [here](https://bit.ly/will_soft_start), 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 computer games. 

## BASIC Text Adventure

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 then later 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.

## Keep It Simple Silly 

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 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. 

## Learn to Fly with a Jetliner

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 Airbus A330. 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 that the most ubiquitous syntax style is used so 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.

## Back To BASIC 

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-source using the GNU GPL v3. Hence no cost, and no proprietary or secret “black box” tool to transpile ZeptoN programs into Java .class bytecode. 

## Testing Ideas with Throwaway Programs

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.

## Further Reading

For more details and examples check out the ZeptoN programming language white paper, for more details, 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 then the code editor Zeptor: https://github.com/wgilreath/Zeptor

Here's ZeptoN in action and in use on Zeptor on [Youtube!](https://www.youtube.com/watch?v=CYMPlRsGbVU). Enjoy the zither music... 😉 

More articles to follow... 😜 about ZeptoN and Zeptor. Zept to it!

## References

- [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