Open Source Subnet An independent Open Source community View more

Advice for my fellow lazy software developers

Quite simply, you should be using LiveCode.

I am a lazy man.

It would be difficult to express the magnitude of my laziness. At least, difficult for me... considering how lazy I am. “Very lazy” just doesn't do it justice. Perhaps “Stupidly lazy” or “So lazy, make you wanna slap yo mamma!” Something like that.

I am also a software developer. For a living I come up with ideas, and hammer, loudly, on my keyboard until my computer cries uncle and concedes that I am super. And it should do what I say. Obviously, this is somewhat tiring. And at odds with my natural slothfulness.

So, many years ago, I made a resolution: That I would re-write code as little as possible – especially when porting my software to new platforms. Less work = more time to be lazy.

My dedication to this resolution borders on the ridiculous – going so far as to compel me to write my own cross-platform (Desktops, mobile, web, etc.) development tool. But what I am talking about today is not the software I have written... so I'm not even going to mention its name.

This is about a completely different software development tool that, it could be said, is a competitor of mine. But it is such an astoundingly amazing competitor that you deserve to know about it.

That tool is LiveCode. If you haven't heard about it before, here's the skinny:

LiveCode – currently at version 5.5, with 6.0 on the way with a majorly updated user interface – is a relatively easy-to-learn programming language and integrated development environment with a fantastic user interface designer. It even runs on Linux, Windows and MacOS X, which is handy as heck.

And, here's the really cool part - you can use it to build applications for Linux, Windows, MacOS X, Android and iOS.

That's right. Same programming language. Same framework. The three major platforms. Simultaneously. Glorious, right?

LiveCode, as a programming language, is an interesting beast. It is built on MetaCard, which was, at its core, HyperTalk with a bunch of extra goodies added on that brings it up to par with most modern languages. (HyperTalk was the language used in Apple's HyperCard.)

It is an incredibly verbose and easy-to-read language. If you can read English, you should be able to understand large portions of a LiveCode project without breaking too much of a sweat. Which is good (see: me being lazy).

A quick example to illustrate this point. Let's say you want to create a pretty standard “Hello World” style application in LiveCode where, when you finish clicking a button, the text “Hello World” is displayed. Here's what that code would look like:

on mouseUp

    put "Hello World!" into field "Message"

end mouseUp

Simple, right?  Certainly a lot easier on the eyes than “void main() { cout << "Hello World!" << endl; }”.

Simple language. Easy to learn, read and write. Builds apps for all of the major platforms (and does a bang-up job of it I might add). And to be able to do this all from the comfort of my Linux desktop is an absolute dream. It's not Open Source, but its licensing is reasonably priced and it has a great community around it.

As someone who makes his living building a competing (somewhat) development tool, let me wrap up by saying this: What they have built is truly excellent and well deserving of a look by any software developer worth his weight in salt.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Must read: 10 new UI features coming to Windows 10