I’m an old retired programmer that would like to fart around writing an occasional computer program. For almost twenty years before I retired I wrote ASP/VBScript/SQL Server code for IIS. It’s not something I’d use just for fun. Actually, my brain is old and I don’t want to stress out a bunch of brain cells studying something hard. I just want to whip out small personal applications. Years ago, Visual Basic was a very easy to use tool for creating programs to run on Windows. Microsoft still supports Visual Basic, and even has a free edition with Visual Studio Express 2013 for Windows, but modern Visual Basic isn’t the fun and easy tool it once was.
Many sites on the internet promote Python as the current easy to learn, quick and dirty programming tool. Python is free, works with Windows, OS X and Linux, and its well respected. Python offers a lot of room to grow. My worry about Python is it’s not a GUI programming language even though you can get all kinds of libraries to write graphical programs.
In the early days of microcomputers – does anyone call them that anymore – the interfaces were text based, and much easier to program by newbies and do-it-yourselfers. Adding a graphical front end and a mouse made programming far more complicated for amateurs. That’s why the old Visual Basic was such a wonder. We now have a bunch of graphical user interfaces to deal with: Windows, OS X, iOS, Android, Gnome, KDE, etc. Python and Java have tools that let programmers write cross platform applications, but to be honest, I think they’re all ugly. And the variety of possible tools is overwhelming, just look at the GUI programming offering for Python.
If you want beautiful applications and apps you need to write native code that’s best for each GUI. Goddamn Apple came out with Swift today. It could become the Visual Basic of 2014 if you own a Mac, which I don’t. How cruel of Apple to tempt me so. Swift is meant to be easy, fun, beautiful, elegant, and fast. Makes me want to stop writing this essay and go buy a Mac – but that’s not going to happen.
Back to my problem. What’s a good programming language to write quick and easy programs for a GUI that can be shared across platforms?
Duh! What about HTML. HTML is for web apps, but why not use it for desktop applications too? It provides a common programming system for writing a common graphical interface, especially when you think about HTML 5 and CSS 3. And it’s even possible to work with a fun language like Python with a web framework. This might be a great idea, but it’s not quite what I want. Visual Basic was a single program that made it easy to write programs that ran under Windows, at first with a runtime, and later as a binary executable. Many of the widgets were drag and drop requiring little or no code.
What I want is a programming language that’s equivalent to a hammer, saw, pair of pliers and couple of screwdrivers. Just the basic toolkit to get handyman programming done. I don’t want a whole workshop of tools to build fine furniture or rebuild a 1968 Porsche. I just want to computerize some of my daily tasks, like managing my book collection or organizing my computer files.
I could take a step backwards and give up on having a GUI and mouse with my programs, in which case Python is probably the answer. Whenever I play with R, the statistical programming language, it reminds me of the old days of mainframes, mini-computers and GW-BASIC. Maybe a GUI requires power tools, and I should just give up on programming for a graphical interface. COBOL and FORTAN used to do some amazing things with only green bar paper output.
However, is going old school really the answer?
I could do what I wanted with PHP and SQLite, but I’d have to run a web server on my machine. If I ever wrote something worth sharing, it would require the user to also install a web server. That is a burden, but is it a showstopper? Combining a server side scripting language with a simple server, and a good WYSIWYG HTML editor might deliver something very equivalent to Visual Basic. I could still use Python, but would PHP be better? Wouldn’t HTML 5 and CSS 3 offer far more GUI power and standardization than any non-standard GUI library? And adding a MVC library might make programming faster if their learning curve wasn’t too steep.
It’s a shame that someone doesn’t make an IDE with built-in web server so it would be the programming language and runtime in the same program. Or does such a doohickey already exist? I’ll need to research that.
JWH – 6/2/14