This could be a sign of my age…
You know, some languages are funny. And I mean this in a sense that they are full of packages, modules, libraries, yet somehow they are missing the most basic of functions. Let me try to explain.
Back in my programming days, I used to work with CP/M networks and compiled Basic for the programs. It was not the most powerful language in the world, but it got things done. These were the console days. I worked for a small auditors and accounting firm. There were no real programmers, but analyst and coders from other companies that worked on the evenings in these office to make some money on the side. Most of them were programming IBM mainframes in macro Assembler (not the real assembler, but a macro assembler more like COBOL) and the IBM staple of then, RPG. The console input was basic, very basic. Most of the screens were simple input lines, and batches of numbers were inputed to later be printed and verified previous to running the next batch program. This verification meant someone would add all the numbers with a calculator, generate lots of tape, and make sure the computer and the tally from the tape matched. It was ingenious but efficient.
Of course, as the new guy (college student working in the morning and evenings to make ends meet) I wanted to do something different. It took me sometime to get the hang of compiled basic, as it was not Pascal or COBOL, and my assembler was too close to hardware.
File were simple. Basic assumed all files opened were comma delimited files, unless you opened a random-access file. You could then pass the next line of the file to a file record, basically variables in a nice, simple, comma delimited sentence.
It worked well. Not everything needs an SQL database.
The same happened with input from console. I tried and copied some code I saw elsewhere, and got the idea to make my own library of windows and input schemes. After a month I had my own console windows library. I could make the person input data in my nice windows, color coding input fields, validating, making beeps, etc.
And this was Basic. I would type everything using a non-document file in WordStar and later compile and link the files.
Nowadays, I am a little lost. Java has no ncurses libraries unless you go looking for them in the Internet and try to successfully install them. They work fine in Linux, but most don’t work at all in Windows. Ncurses work pretty much the same in Python, where I know by now to serialize objects but I still have no idea how to clear the screen… So Ncurses are things of Unix and Linux, not Windows.
How about reading comma delimited files without having to read through a ton of paper on regular expressions and string manipulation? Again, not all file is a database record for which I need to download and install ODBC drivers. Database binding is simple, but unnecessary for most scientific programs where you want to test a little data.
And to the LAMP crowd, I know you can do this and much more in PHP. But maybe I just want to test a little something in my laptop. Let’s say, a simple tree algorithm in Python to test concomitant behavior in a set of data (concomitant as in cause and effect by analyzing data and checking different variable combinations). Maybe I have a small set of data, let’s say two hundred rows of neatly typed names, ages, gender and income in a worksheet, which I export to comma delimited file format. Maybe I just want to test it to see if it makes sense… I don’t want to go through regular expression hell to do that. Not after I was able to do it so much more simpler in 1988!
Some people will tell me it’s my fault for not fully mastering my language knowledge. I admit that I might be spending too much time studying too many languages, and I have decided to commit to Java and Python. But even so, the topics on most manuals range from ripping MP3 tags to XML node manipulation, when all I want is to put the cursor in column 20, row 15…
Sigh. I better go to sleep. Maybe in my dreams I will recuperate my old C/PM terminal.