Programming

I want to have a simple programming language ! !

The art of programming has gone to wrong trails !
When the computers were new, they were used to solve problems. We were able to solve mathematical and logical problems by writing programs and running them. The problems were mostly very simple. You could want to go thru a file and change every "this" to "that" or you wanted to calculate polynome "Y = 2*X^3 + 5*X^2 + 7.3*^ + 4.8" and get a simple list of values or even a simple graph to see how the polynome behaves. Possibly you wanted to connect a self made device to your PC and command it to make some funny light show.

Most of the tasks were 'one time only', meaning that you just wanted to have the answers one time. The speed of the program didn't mean anything as didn't the visual aspects of the program. Most of the time spent to the project went to the thinking and the PC was only a calculator to help your work, to get some simple ansvers.

You had a choice of programming languages. The most valuable for a mathemathic or logical problem were Fortran, Pascal and Basic. They had all the tools needed. They were simple enough so that if you could talk English, you could write your first program in about one hour after you had bought your first computer. ( I myself had my first self written game running one hour after I had my first computer on my desk ).
You might spend about a month to invent a new idea, a week to document it, half an hour to write a program and one minute the program, ten minutes to debug it, one minute to re-run it.
Using an ultra fast compiling programming environment you will spend the same month plus a week. Then you'll spend another week to find out how to write a program, one day to write it, one minute to compile, 0.1 seconds to run, half an hour to debug, one minute to re-compile and 0.1 second to re-run.

Fortran was originally meant for the mathematicists anf physicists to solve mathemathical problems. Originally it had no way to give graphical plots, but there were ways for that too.

Pascal was another tool for mathematical problems, but it had more finesses

Basic was meant to be a simple programming tool for everything. Besides the tools found in Fortran, it included some commands to handle character strings.

In those good old days you allways found articles in newspapers telling you how awfull those languages were. They were not modular and structured and they didnt have real subprograms. You were told that they teach you bad habits in programming and they teach you make spaghetti code because they had the dredfull command "GO".
The men writing those articles forgot the original value of the languages: they were simple and fast to edit. The horrible "GO" just helped you make modifications to a program without a need to reorganize the whole thing.

There was even versions of Basic, where you had true subprograms, structured and modular programming environment. Still you could write programs without using them. The last of them was Microsoft QuickBasic 4.5. And the whole packet fitted to four diskettes.

Compiling programs
When the men were iron and the computers plastic, you had to compile your program to get it run faster. If you were to run your program just one time, this didn't matter. If you had to run it tens of times, you wanted to compile it.
Fortran was compiled by its nature: you wrote the source code and left it to your BIG BLUE or mainframe of another brand. The code was set to a queue, compiled and run. You got the results next day.
For Basic you had a choice of compilers. You wrote the code, ran and tested it and then compiled it.

In QuicBasic you wrote the code and ran it. It was ran as so called P-code that was partially compiled but not optimized. When the code was OK, you compiled it and it ran about 10 times faster than the original P-code.
As a joke I got to tell that I ran some tests here. I wrote a program containing slow mathematical parts and optimized it manually. Then I ran it in VIC-20 (1MHz), and in PC (8088, 10 MHz). In PC I ran it as GWBasic, Basica, QuickBasic 2.0, QuickBasic 4.5, TurboC and MSC. The fastest by far was QuickBasic 2.0. The next was VIC-20 ! Then came the rest. GWBasic and Basica were the slovest, as expected. The reason for the good speed of VIC-20 was that the code was kinda P-Code in the memory. It was compiled backwards to the screen when you edited it !.

The test gave another interesting result: the new version of QuickBasic was slover than the original !

C, C+, C++, C# were for the real men writing operating systems. They are awfull, if you want to make something simple.
Java, Perl, Python, PGM, Forth, Logo, ADA, Lisp . . ., they all have their own niches. For example Jave is a kind of version of C written so that it can easily be copied from system to system. Python looks and feels like the old ones: Basic and Fortran, but it is more written for the same task as Java. You can easily copy it from system to system

The big question : WHY ?!
Nowadays the programming environments are for the people who write programs for their daily work. The final product is something to be sold out to customers. The product has be fast, clean, interactive, come in pastel colours and have all the bells and whistles in at least fifteen windows. The executable file is at least two megabytes and the installation program another. The programs, libraries, language packets, advertisements, registration systems, help-files, HTML-pages, video clips, pictures and graphics will fill a CD ROM.

For men writing simple programs once a week there doesn't seem to be tools !

I got a free version of Microsoft Visual Basic a week ago. I made a small installation leaving out the SQL-part. The packet needed a whooping 1.1 GB (1100MB) of real estate. (You remember VIC-20 with 16kb of system and 3.5 kB of RAM ;)
I decided to write a small piece of code to resolve a problem of my customer:

- find a directory full of files endig ".XYZ"
- open a file for reading
- open a new file for writing
- remove all from the beginning of the file until but excluding the word "Code"
- change every occurrence of ":" (colon) to "." (full stop)
- change every occurrence of "." (full stop) to tabulators
- write the changed material to the new file
- close the file

I have written this kind of programs in about every known and some exotic languages. I have even used older versions of VisualBasic.
With the new version I could not even find out how to make a window where I could select the right directory.
I pressed the F1 key to get some help and possibly an example. The help is of no help. The Microsoft nerds use such a language, that I was not sure if we live on the same planet.

After about three hours I closed the VisualBasic, started QuickBasic 4.5. It took me about 10 minutes to write the program including the testing. I made a compiled packet of the program, sent it to the customer via email and went to bed.

email to PTMUSTA