GNU   davin.50webs.com/J.T.W
a GNU world order – your home of everything that is free

Main Menu Research Projects Photo Album Curriculum Vitae The Greatest Artists
Email Address Computer Games Web Design Java Training Wheels The Fly (A Story)
Political Activism Scruff the Cat My Life Story Smoking Cessation Other Links
Tutorial 1 Tutorial 2 Tutorial 3 Tutorial 4 Tutorial 5
Tutorial 6 Tutorial 7 Tutorial 8 Tutorial 9 Tutorial 10
Tutorial 11 Tutorial 12 Tutorial 13 Tutorial 14 Tutorial 15
Tutorial 16 Tutorial 17 Tutorial 18 Using Emacs Download Links


Welcome to the home page of

GNU Java Training Wheels! Free Stuff

Computer programming tutorials for the rest of us!

View my poster

Java Logo

I have invented a new programming language called J.T.W. which stands for Java Training Wheels which has all the power of Java but a simpler syntax that is similar to Delphi, Pascal and BASIC and is therefore easier to learn than Java itself. Once you have learned J.T.W., it is a small step to learn Java. The following tutorials on this Web page will guide you through the process of writing code in the J.T.W. language. For many reasons you might even prefer to program in J.T.W. rather than Java. Click on the following link for a book about the J.T.W. language. This document describes Version 2.2 of J.T.W. Since August 2016, J.T.W. has been accepted by Richard Stallman for inclusion into the Free Software Foundation's repository of Free software, so it is now known by the slightly longer name GNU J.T.W.


1. Why learn to use GNU J.T.W.?

  1. The GNU J.T.W. language is supported by a parser that troubleshoots problematic GNU J.T.W. code with clear error messages.

  2. The GNU J.T.W. language compiles to Java in a natural and straightforward way so it is easy to learn Java once you know J.T.W., making for a less steep learning curve than learning Java from scratch.

  3. As proof of concept, a superfor macro is provided for getting enhanced BASIC-style for loops.

  4. Another proof of concept is that file inclusion is supported so that you can spread a class across several files. Natural divisions are methods. Different methods can be placed in different source files for those situations where methods become large and unwieldy.

  5. Pascal-style begin ... end constructs are supported instead of C-style {...} constructs which is more sensible especially for novices.

  6. A simple syntax for the main function: beginMain ... endMain rather than some horrible crud: public static void main(crappy[]code[]).

  7. Class variables, properties, functions, methods and constructors are declared as such much like Delphi which makes your code look clearer. Specifically there are new keywords classVar, property, function, method and constructor.

  8. The Delphi/Pascal/Javascript keyword var for clearer local variables.

  9. The Pascal/BASIC keyword then for clearer if statements.

  10. The BASIC/P.H.P. keyword elseif (...) ... for replacing Java's cumbersome else if (...) ... construct.

  11. The BASIC and C++ keywords and and or rather than some horrible crud: && and ||.

  12. NEW! As of version 1.1, GNU J.T.W. now supports packages.

  13. View a snippet of some GNU J.T.W. code.


2. Tutorials

These tutorials are released subject to the GNU Free Documentation License, which is the same license used by the popular website called Wikipedia. The GNU J.T.W. language itself is released under the GNU General Public License. See the next section for the answers to the questions. Note that the answers are protected by a password. For the purpose of completing these tutorials it is mandatory that you have GNU Emacs installed on your system. See the download links page for other software that you must have installed on your system. It is recommended but not compulsory to use GNU Emacs as your editor although there are two advantages in doing this. The first is that syntax highlighting of GNU J.T.W. constructs and the second is that you get integrated support for indenting GNU J.T.W. code. If you choose to use GNU Emacs it is recommended that you use Davin’s Full Version of GNU Emacs or simply GNU Emacs plus Davin’s jtw-mode.el. Please phone me for more information. My phone number is a Christchurch local number: 339-1145. When calling this number, please ask to speak to Davin Pearson. When calling from elsewhere in New Zealand you will need to add an 03 prefix. When calling from elsewhere in the world you will need to add the following prefix +64-3.

3. Answers to the tutorials

These tutorials have answers but a password is required to access them. Click on this paragraph to enter your password.

Back to Main Menu
This page has the following hit count:
| Main Menu | Research Projects | Photo Album | Curriculum Vitae | The Greatest Artists |
| Email Address | Computer Games | Web Design | Java Training Wheels | The Fly (A Story) |
| Political Activism | Scruff the Cat | My Life Story | Smoking Cessation | Other Links |
| Tutorial 1 | Tutorial 2 | Tutorial 3 | Tutorial 4 | Tutorial 5 |
| Tutorial 6 | Tutorial 7 | Tutorial 8 | Tutorial 9 | Tutorial 10 |
| Tutorial 11 | Tutorial 12 | Tutorial 13 | Tutorial 14 | Tutorial 15 |
| Tutorial 16 | Tutorial 17 | Tutorial 18 | Using Emacs | Download Links
Last modified: Mon 15 Aug 2022 11:24:51 NZST
Best viewed at 1024x768 or above resolution.
© Copyright 1998-2022 Davin Pearson.
Please report any broken links to