lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Brandon Van Every wrote:
> On Feb 12, 2008 11:39 AM, Thiago Bastos <> wrote:
>> Yes, I agree with those points, and I'm glad to hear that you are
>> considering Lua.
>> I was just trying to motivate you to work towards a more Lua-ish design :-)
> [snip]
> I've been looking around in various places to see if the results
> exist.  Ruby Rake and its derivatives are probably the next port of
> call.  I am not seeing the results in the available Lua-based build
> tools.  My perception is that they've only been used for projects of
> 100K LOC or less.  For small to medium projects, the choice of build
> system doesn't matter very much.  There's not enough of a build system
> to worry about lofty programming paradigms.

You are going about testing this theory the wrong way. As far as
list postings go, no Lua-based build tool that I know of is making
a serious push to try to make a splash in the market. Acquiring
the knowledge and experience to support multiple versions of
multiple platforms is non-trivial. Thus, it is impossible or
invalid to compare success or market wins or adoption rates,
because there are none at the maturity or support level of CMake.
So we are left with comparing syntax and existing (in CMake) or
potential (in Lua build tools) features, et cetera. This involve
mostly personal opinions, so take them with a big pinch of salt.

Moreover, most of the "big names" on this list have not weighed
in, and my guess is they probably won't -- because there is no
Correct Answer over a Wrong Answer. There is no black-and-white.
So do treat this as a discussion where we throw opinions up in the
air to see what happens, and not as a give-and-take of
authoritative voices.

Many on the list go by the adage "use the right tool for the right
job". "Lua evangelizing" is almost non-existent. I have learned
enough languages that I think "lofty programming paradigms" does
not exist. One person's meat (e.g. lambda calculus) can still be
another person's poison. So IMHO (to throw yet another opinion
into the ring ;-)), if Lua is fitted into CMake, it will be very
painful, but CMake will probably survive. If it isn't, CMake will
still thrive. Developers matter. Another 20 years down the road,
there will still be an autoconf demographic. Makefiles will still
be around.

The success of CMake itself indicates that scripting probably
isn't that critical, as it is a mature tool and well supported,
and as long as the existing script expresses things well enough. I
will just shrug and use the tool, as long as the documentation is
good, it is easy to tweak, and as a build system, it gets out of
one's hair after it is set up. Take Tcl for example. IIRC it
started as a glorified batch file and was popular with hardware
synthesis software, and it's still doing fine, but no one can
really argue that Tcl syntax is very well designed or elegant.

What this boils down to is that it is impossible to get any kind
of real validation as to whether project XYZ should move to Lua or
not. I have a set of opinions. The next poster to this thread has
another set of opinions. Comparison by magnifying glass will get
you yet another set of opinions. Which bullet point do we choose
to validate the direction in which we are going? In the end, it is
impossible to say A is right and B is wrong, there is nothing
authoritative that I can see as a spectator, and there are many
other critical make-or-break factors.

Perhaps if Brandon can get a sample CMake-to-Lua translator
working (just a front end), then having actual samples of small to
large build scripts will be useful as a "What if?" scenario.

Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia