Post
by FourthWorld » Mon Aug 20, 2012 3:15 pm
Languages come in many forms, some better suited for some tasks than others. From Assembler to C to C++ all the way up to Python, Lua, and LiveCode, each has a "sweet spot" that makes it well suited for a particular type of software, and those strengths can also make it a less-than-ideal choice for other types of software. Assembler, for example, can be a good choice for device drivers, but a poor choice for GUI apps in terms of programmer productivity.
Very-high-level languages (VHLLs) like Python and LiveCode are great for a wide range of GUI apps, and even a few non-GUI apps like server CGIs, but the benefits they provide in terms of productivity via dynamic runtime compilation, automatic garbage collection, loose typing, flexible object model, etc. also require additional clock cycles that can make them less-than-ideal for computationally-intensive things like large image manipulation.
One can write Photoshop-like image filters in LiveCode, and indeed some have, but you'll find that the performance of such routines does not compare to writing them in a lower-level language like C or C++.
That said, you'll also find LiveCode is very well suited for things that would be cumbersome, or even cost-prohibitive, to write in C, including database front-ends, specialized drawing environments, multimedia apps like computer-based training, and a wide range of other categories. Given that LiveCode, like many VHLLs, is essentially a sort of glue between routines that are implemented in the engine in C++, many tasks do run roughly on par with their counterparts written entirely in lower-level languages, but with the benefit of about an order of magnitude in productivity.
Most VHLLs like LiveCode find their sweet spot in vertical-market apps, specialized tools that would not be cost-effective, or may even be cost-prohibitive, if attempted in lower-level languages like C.
One of the nice things about LiveCode is that in many cases you can have the best of both, using native LiveCode to craft the app's UI and use its externals API to call routines written in C as needed for the more computationally-intensive stuff if needed.
With apps like Photoshop, the bigger question is about marketing: it's expensive enough to write apps like those in any language, and one would need to be prepared to spend many times more than the engineering cost on marketing to attract an audience large enough to pay for the effort. Building the GUI in LiveCode can contribute significant cost savings to such a project, but the lower-level image manipulation routines would still be expensive enough that one would expect to acquire significant funding before attempting such an app in any language.