[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Justify introducing Lua at my workplace?
- From: Stephen Kellett <lua@...>
- Date: Wed, 28 Nov 2007 00:07:03 +0000
Tim Hunter wrote:
The existing language is
proprietary, was developed in-house, has limited functionality, is hard
to maintain and extend, and is only maintained by its inventor.
I think all of those statements are reasons to replace an in-house
language. What happens when the inventor:
o Gets seriously ill
o Gets bored with their language
o Is run over by a number 9 red London bus
A little story to explain why in house languages are bad:
Years ago I worked for a company that had an in-house language (90-94)
called Lull. Lull was a byte code, scripted, interpreted language,
written by our database guy. This was more than 6 years before Java was
released. We were kind of ahead of our time as very few people did this
sort of thing back then. I did most of my work in C on VMS and 7 types
of Unix. A core team of 7 people created the major components in C. My
job was datastructures and all things X11/Motif. Once we had that in
place I wrote the Lull interface for the components I had developed and
people could write scripting code to configure and run the wonderful GIS
system we had created.
It was very powerful. We even had UIs that changed dynamically depending
on the options you had. Back then that was state of the art.
Because it was powerful there was more an more pressure even for people
like me (part of the core group) to write in Lull more and more and in C
less and less. This for me and my career, was bad news. No other
employer gives a damn about Lull. They'll never see it and never use
anything created with it. Thus, all that wonderful stuff on my CV
related to Lull is worthless in the eyes of another employer.
I started to get cheesed off with the damage to my career. About 93/94
as far as I was concerned we should be moving from C to C++ (the only
reason we were in C was that in 1990 g++ was not good enough to use
commercially) and seriously prosecuting the start of our Windows port.
In the end I got ill (RSI) and when I recovered I left for reasons
related to the RSI. But had I not got ill I probably would have left for
reasons related to the damage to my career that this in house language
To retain talent you need to ensure their career is on track. In-house
languages will always mitigate against that. Languages that in popular
use boost your employees CV. Yes that makes them more valuable to you
and to a potential employer, but at the employee will not leave because
you are actively damaging their career - they'll leave for some other
reason (which they may eventually do anyway).
So, for that reason alone, you'll most likely improve (long term)
employee retention by switching to any mainstream scripting language.
That and the fact that the mainstream language is most likely more
powerful than you in house language. If on Windows there is also
commercial tool support from Software Verification and from the game
company (name escapes me) that produces a Lua debugger that is
apparently quite good.
My favourites are Ruby and Lua. Speedwise, there is no contest, its Lua.
Finally if your boss won't move to a mainstream language, try to reverse
the situation - get him to open source your language engine. Maybe your
language is the next Lisp (but usable (*)) and will go mainstream the
way Ruby has in the last 3 years. Your company will benefit from the
improvements to the language that happen if you do that.
You can read about my RSI here:
If any of you find sitting in your chair painful or have weird aches and
pains in your torso, shoulders, neck, arms, hands or fingers, read my
pages on RSI. I'm one of the few that have got hopelessly ill and
recovered, still have a career in computing and still play musical
instruments. Most people lose the ability to continue their computing
career and their ability to play musical instruments. You may learn how
to help yourself and/or prevent it happening to you.
One final thing about Lull, the Dutch translation of that mean the
equivalent of the English word "Dick", which didn't go down so well at
the trade fair in Holland... "You utter LullHead" :-)
That company ceased trading a few years back, so I think Lull is now
just part of computing history and will never be heard of again.
(*) Come be real, who uses Lisp for commercial projects? Great language,
but too many parens and no one uses it. Its the equivalent of Esperanto.
So much promise, so little delivery.
Disclaimer: I am associated with Software Verification.