Considering LiveCode

LiveCode is the premier environment for creating multi-platform solutions for all major operating systems - Windows, Mac OS X, Linux, the Web, Server environments and Mobile platforms. Brand new to LiveCode? Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

Post Reply
wunder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 18
Joined: Wed Feb 01, 2012 6:18 am

Considering LiveCode

Post by wunder » Wed Feb 01, 2012 6:25 am

Hello,

I've been a software developer for 25+ years and worked in many languages. My language of choice for the last 10+ years has been Visual Basic 6. Unfortunately it appears I'm going to have to finally abandon that language. My company has been selling our windows-based software for more than 20 years and has a ton of VB6 code.

We're looking for a new platform, preferably multi-platform and we don't have much C knowledge in-house. Your product looks very interesting, but to be honest the case study applications do not appear to be significant commercial applications. Are there any other commercial applications currently being sold that have been developed in LiveCode? I like the syntax structure of your language, but I'm concerned about the maturity and robustness of your product. Can it be extended using C if necessary?

Thanks for listening to this sad VB6 coder :(

Mark
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 5150
Joined: Thu Feb 23, 2006 9:24 pm
Contact:

Re: Considering LiveCode

Post by Mark » Wed Feb 01, 2012 12:00 pm

Hi,

Why is your company abandoning Visual Basic?

I can understand your concerns regarding robustness. I would think that LiveCode is quite mature, but sometimes it seems to me that the LiveCode delopment team focuses on small details too much, while not paying attention to the big picture. For example, after several year we got an almost perfectly sculptured array feature with almost every option and feature you can imagine, but LiveCode is still largely incompatible with unicode. I'd prefer simple arrays and correctly working unicode text fields.

On the other hand, I have always been able to work around problems (even though sometimes the workarounds take me as much time as they would take me programming in C). There are quite a few commercial products. Some of my own are Color Converter and Strõm. LiveCode can be extended by creating externals using C/C++/Objective-C.

I never buy a new LiveCode license without extensive testing before making the purchase. If it doesn't do what I need, I stick with my curreny license until I think LiveCode is worth paying for.
The biggest LiveCode group on Facebook: https://www.facebook.com/groups/livecode.developers
The book "Programming LiveCode for the Real Beginner"! Get it here! http://tinyurl.com/book-livecode

wunder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 18
Joined: Wed Feb 01, 2012 6:18 am

Re: Considering LiveCode

Post by wunder » Wed Feb 01, 2012 3:51 pm

Hi Mark,

We're using VB6, not VB net. VB6 support stopped from Microsoft many years ago and it is not being maintained going forward. There's a good chance it won't work with Windows 8, or at least not Windows 8 on non-intel chips. The switch from VB6 to net is non-trivial (rewrite likely) and I'm not convinced the Windows platform is going to continue to be the dominate force in the marketplace it has been until recently.

Using a RAD tool for 10 years makes me very reluctant to switch to C coding. RealStudio is under consideration as well, but I'm not impressed with their error handling functionality so far. I'd like to stick with RAD tools.

This is a very difficult decision for us.

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 10043
Joined: Sat Apr 08, 2006 7:05 am
Contact:

Re: Considering LiveCode

Post by FourthWorld » Wed Feb 01, 2012 4:30 pm

wunder wrote:Your product looks very interesting, but to be honest the case study applications do not appear to be significant commercial applications.
"Significant" can be difficult to define. And it seems the Case Study pages represent only a slender portion of the commercial apps made with LiveCode. You won't find Photoshop or Firefox among the apps made with any high-level RAD tool, but you will find many hundreds of vertical-market apps for which such dev tools are a good fit.

When your audience is in the tens of millions, using C++ is a cost-effective way to achieve high performance with reasonable ROI, but when your audience is in the tens of thousands such low-level languages can be cost-prohibitive, opening the door for tools like LiveCode.

For the apps I've produced over the years, the longer dev cycle with C++ would have made those ventures non-starters, but using LiveCode we have solid profitability for nearly every app we've launched - not to mention many thousands of happy users along the way who are delighted to find their specific niche needs addressed with solid multi-platform implementations which support transfer of data between them easily (I'll never understand why a company as well-funded as Intuit can't make a version of their flagship app that lets you use the same data file on both platforms).

That said, because you're coming from a VB background you may also want to take a look at RealBASIC. Personally I've found LiveCode's higher-level zero-compile-time workflow to deliver a higher ROI than anything else out there, but if you have a lot of investment in VB code you may find some of that more easily ported to another BASIC-like implementation, so RB may be worth evaluating for your shop.

When evaluating LiveCode, be prepared for a VERY different way of working. IMNSHO the unusual workflow of LiveCode relative to more traditional languages offers an equally unusual level of productivity, but if coming from a VB background it'll take some getting used to at first so don't be surprised if your first experiments with LiveCode leave you scratching your head. It's a very different beast, but after a few weeks those differences pay off handsomely.

Fortunately you've already taken the first step toward making the best use of LiveCode: you found these forums. There are a lot of folks here who've used VB who can help you get oriented, so please feel free to post any question you may have while you're evaluating LiveCode.

Here's a tip for getting started with LiveCode: sometimes you'll find that the answer to a problem seems incredibly simple, almost too simple to be trusted. That's normal, it's just how much of the language is designed. LiveCode reads like other people's pseudo-code, with expressions like "put item 2 of line 1 of field 1 into SomeVar", and such simplicity can be difficult to wrap your head around when you're coming from another language. Not all of the breadth of the language is so easily readable, and folks have very different coding styles (I'm partial to Hungarian notation myself), but just keep in mind as you go that one of the biggest hurdles I see people encounter with learning LiveCode is when they say, "Really? That's it? I wouldn't have guessed it would be so much like English." :)

This page at the RunRev site offers some tips for moving to LiveCode from Java and C++, and some of what it covers may help orient your transition from VB:

LiveCode for C, C++ and Java Developers
http://www.runrev.com/developers/lesson ... -and-java/

I've also found Osterhout's seminal paper on the value of scripting languages helpful for appreciating the differences between languages like LiveCode relative to lower-level typed languages (his comments on TCL apply almost across the board to LiveCode here):

Scripting: Higher Level Programming for the 21st Century
http://www.tcl.tk/doc/scripting.html

And lastly, a UI tip: VB and many other IDEs present their UI in a single window, building your own windows and layouts within a pane as a sort of proxy. But with LiveCode, it's truly "live code", you're building actual windows with controls that can be used as you lay them out. To support this workflow, the tools in the LiveCode IDE are separate windows which more or less surround your app, but are not physically attached to your app's window. I've known some VB devs who find this off-putting at first, as it does mean a little more window management as you move things around. But the payoff for this design is that your app's windows are living, breathing things at the moment you create them, and you can run their scripts while in the IDE without ever waiting for a compiler. Hopefully this perspective will help you appreciate the most visible difference between LiveCode and VB.

Best of luck with your explorations. I look forward to seeing more of your posts here.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

wunder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 18
Joined: Wed Feb 01, 2012 6:18 am

Re: Considering LiveCode

Post by wunder » Wed Feb 01, 2012 4:46 pm

Richard,

Thank you very much for your detailed and thoughtful reply. I was hoping the Case Studies were a limited set of what has actually been produced with the product. We are also evaluating Real Studio's Real Basic product, but it appears to be significantly less mature (understandably) than Visual Basic. I think we would quickly get frustrated by that. I've worked with many languages over the years including REXX and Smalltalk which are much more english-like than even Visual Basic. My philosophy has always been that the computer should do the hard work, not the programmer...

Thanks again for your post.

Mark
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 5150
Joined: Thu Feb 23, 2006 9:24 pm
Contact:

Re: Considering LiveCode

Post by Mark » Wed Feb 01, 2012 5:02 pm

Hi,

I like RealStudio a lot. To me it seems very stable compared to LiveCode, but I have talked to people who claim the opposite. The way RealStudio handles compile errors is sufficient for me. Execution errors during a test run are also reported in a convenient way. As far as I know, little tools are available for debugging in compiled apps but that wouldn't be a show stopper for me. LiveCode has extensive debugging tools, but there are quite a few situations where they don't work. Don't stare blind on LiveCode's feature list; only take for granted what you have actually tested. Probably that applies to RealStudio too.

Just one more remark about commercial apps. I have written several apps that have become popular over time and which should be extended now. After all, successful apps ask for more features and other improvements to become more successful over time. An example is Color Converter. I have now pretty much the limits of where I can go with this app: I can't easily change the file type inside save file dialogs, a number of features of the app are incompatible with multiple monitors. I also created an Installer Maker, which contains a few dozen of features that are unavailable in LiveCode by default. I had to resort to shell scripting, VBScript and AppleScript to make it work.

RealStudio and LiveCode are very nice tools for in the office and as in-house solution builders, my shareware products generate even sufficient income to pay the rent, but if you're creating commercial software, every cross-platform RAD tool will set some limits that you're going to run into at some point. Keep that in mind before you decide that moving to C is not what you want. Probably this is why reviewers keep saying that LiveCode is "a great tool for prototyping".

My company has just contracted a programmer to create Windows versions of a number of LiveCode externals. Currently, he doesn't have to do that much yet and we might be able to offer you our services. That would allow you to use LiveCode and still have access to API's that wouldn't be available otherwise.

Kind regards,

Mark
The biggest LiveCode group on Facebook: https://www.facebook.com/groups/livecode.developers
The book "Programming LiveCode for the Real Beginner"! Get it here! http://tinyurl.com/book-livecode

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Contact:

Re: Considering LiveCode

Post by mwieder » Wed Feb 01, 2012 7:14 pm

wunder- If you're looking at the conversion process from VB6 to something else, you might also want to see http://lessons.runrev.com/s/lessons/m/4 ... heat-sheet. The formatting came out a bit weird and I should probably update it some day, but it's a start.

The VB6-to-LiveCode conversions I've done have worked best when I have not tried to do verbatim translations and instead created a new LiveCode project from scratch that does what the VB project did. It's easier and faster that way. But you may find the transition from VB to RealStudio easier if you're used to thinking in VB terms. I think both tools have their advantages and disadvantages and one of the signs of maturing as a programmer is being able to pick the right tool for a particular job.

wunder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 18
Joined: Wed Feb 01, 2012 6:18 am

Re: Considering LiveCode

Post by wunder » Wed Feb 01, 2012 7:29 pm

Thanks for the link!

Post Reply