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.
Code.org entices would be programmers with a simple drag and drop programming language to start, and then moves students to JavaScript. They even have a language, LightBot for kids as young as 4, and they offer classes in Python, HTML and Objective C. There’s all kinds of avenues to learn to program, but I’m not really asking about that.
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
Hey Jim,
I just found this language called Rebol. http://learnrebol.com/rebol3_book.html#section-1.1
Sounds like it might be what you are looking for. Simple to use, extensive and cross platform. Bonus for being Open Source. Might be worth a look.
Ken, Rebol looks very interesting, and very efficient. Writing for the GUI looks pretty easy. It’s not the best looking GUI, but Rebol seems to let programmers quickly use a windowing environment and mouse. Thanks for letting me know about Rebol.
Ken, I wrote my friend Mike about Rebol, and he came up with the following research that makes me worry now.
“Thanks for the heads-up. It appears that the database interfaces are only available with the REBOL/Command package which is $149. If you want to build executables then you have to buy REBOL/SDK for $249. The last release of REBOL was 1-1-2011, which seems like a long time ago. The REBOL version 3.0 has been in alpha for a very long time.”
Reading more on Rebol last night I found this about database connectors: ” The most recent releases of REBOL, along with all commercial versions, have built-in native access to MySQL, ODBC, and other database formats. You can also download a free MySQL protocol module that runs in every free version of REBOL, from http://softinnov.org/rebol/mysql.shtml. A free module for the postgre database system is also available at that site.”
While the commercial company that started Rebol still sells packages that offer proprietary features, the stable release is under the Apache 2.0 license. Rebol scripts run automatically on Windows, no .exe needed. I was under the impression you were just doing programs for yourself, so installers won’t be a concern.
Thanks Ken. I’ll let Mike know. Do you know how active Rebol is right now? I went to Amazon to find Rebol programming books, and there were only two, both out of print, and both from 2000. It’s a shame that such a cool language hasn’t caught on. Rebol aims to do exactly what I was specifying, but evidently it hasn’t caught on. I wonder why?
There’s a rather nice write up about Rebol at Wikipedia http://en.wikipedia.org/wiki/Rebol
There’s two articles about Rebol in the February issue of ODROID http://magazine.odroid.com/assets/201402/pdf/ODROID-Magazine-201402.pdf
Evidently Rebol has its fans but they aren’t legion.
Reblogged this on Dinesh Ram Kali..
“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? ”
Hey Jim
Actually, Microsoft’s .NET IDE has a built in web server which you could use with any .net language “yeah i see u said it wash’t as fun as it use to be” as does Jetbrains PhpStorm IDE using the php development web server that is included in the php distro. I’am sure there are others. The way they work is when you run your code from the IDE if it targets the web the server automatically will start and allow you to debug your app.
Actually Jim, I would disagree about the new VB called .NET not being as much fun. Believe it or not all of the RAD tools that were in previous VB6 are available in the .NET IDE you just have to know what they are called now :0 and how to use them and most developers actually want to spend so much time on framework that they ignore the RAD feature set of the IDE even though you can achieve layered architecture using these tools if you know how. I actually have a SOA VB.NET accounting system that is 100% RAD and as fun as VB6 but is also fully layered in it’s design (i.e. Framework, Data, Service, Presentation, Clients) but still allows use of all the RAD features of the IDE.
Just saying. Good Day….
Thanks Patrick. I need to revisit VB.NET. When I was programming classic ASP and tried to move up to ASP.NET I felt like I was moving into a vast territory of complexity. I never got the hang of object oriented programming, so I shied away from .NET. Maybe I should give it another try.
i still using vb 5 and it still run on windows 7 and 8..but i program using windows xp…visual basic is the best so easy lightweigt and nothing better and easy than vb clasic the same says linux torvald… another fun lenguage is small basic