[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Why I leave Lua (Was: Re: [ANN] Lua 5.3.0 (work3) now available)
- From: Steven Degutis <sbdegutis@...>
- Date: Wed, 9 Jul 2014 13:27:46 -0500
* No continue keyword
Having it would be nice, but not enough to get upset over not having it.
* The equality operator
* Closed source development
I like this, and here's why: I know some other people who have also
complained about the closed-source model. And I have seen their Lua
code. Thus I am very thankful that these specific people did not
contribute any code to Lua.
Meh. Things change. Life goes on. Keep up or don't.
Meh. The modules I wrote for Lua 5.2 work for Lua 5.2. Good enough for me.
* Lua's authors decisions
what is this i dont even
On Wed, Jul 9, 2014 at 7:44 AM, David Demelier <email@example.com> wrote:
> It is a hard decision to take, I've been following Lua for two years and
> used it intensively in several projects including irccd  and Lua-SDL .
> There were already things that I didn't like much in Lua but I could deal
> with it but some are much more annoying for me.
> * No continue keyword
> This has probably been the most requested feature and I don't really
> understand why it is, it is not included. So you have break but not
> continue, it makes no sense at all. This is probably the thing I hate the
> most in Lua. Each Lua version breaks compatibility with previous versions so
> the argument "adding a new keyword will break" is not enough for me. I
> personally think it's just to piss people off. This keyword may take
> something like 15-30 lines of code maybe?
> * The equality operator
> Lua was designed with the use of ~= instead of != in mind because it was
> planned to be used by non programmers IIRC. It's okay, but I don't think ~=
> is easier to understand than !=. When you have thousands of languages which
> already use != and you come to Lua which use ~= you may be confused. In some
> spoken languages, ~= means "approximatively equals".
> * Closed source development
> While Lua is completely free and open source, I don't like much the closed
> development model it uses. First because you never know when / what feature
> is coming except when a work version come few years later. Also this close
> development model includes a big flaw, if Lua does not compile / work on a
> certain operating system, you can't send a patch because:
> 1. Lua's authors don't accept patches
> 2. Because you don't have access to the development source code
> So, if one day Lua 5.3 does not work correctly on my OS, what should I do?
> Tell Lua's authors to install my OS and try by themselves?
> * Compatibility
> Each Lua release breaks the compatibility with earlier versions. There are
> however some compatibility switches to enable removed functions but it does
> not save the functions whose signatures have completely changed. This break
> scripts everytime.
> The same concern is applied for the C API, if I want to support different
> versions of Lua, I need to add a bunch of #if LUA_VERSION_NUM to fix the
> * Modules
> As a side effect of the compatibility problem explained above, a lot of
> modules are *still not* Lua 5.2 compatible and some are just completely
> outdated. I know this because I have already sent patches to some of them
> and tried others. I don't think Lua will have a large ecosystem like Python
> or RubyGems because of these compatibility issues.
> With that in mind, Lua is probably not the best language to use as a
> standalone application and embedding is better (which I did with irccd).
> * Lua's authors decisions
> I've read in the FAQ that Lua *is* Lua's authors language. I agree that
> because it's their language that they can do what they want, it's true. But
> when you release it publicly, you will expect to have lot of feature request
> / changes, almost all of them are just completely ignored because Lua's
> authors *don't* want them. In that case, I just think that Lua should even
> not have a mailing list and just a "bug tracker".
> Also, it seems that almost each Lua version remove essentials function that
> users *have used* in the past, so removing them constrain the Lua user to
> adapt its script or to never update the Lua version.
> Because of this, I'm very afraid of what may be removed in Lua 5.4 and
> future versions.
> Nevertheless, it was very fun to use Lua in my IRC bot, I really loved it
> because it has simplified a lot the creation of plugins. I much enjoyed this
> but now I think I'll just leave the land of scripting languages at all, at
> the beginning I was thinking of switching to V8 but I think I'll just stick
> with plain C++. However, I will still maintain irccd and Lua-SDL2 which will
> be my last Lua powered projects.
> Roberto, Luiz thanks very much for your work, Lua is a great language, but
> probably not for me.
> I'll still keep my PiL 3 as an historical use.
> On a very sad day, regards,
>  http://projects.malikania.fr/irccd
>  https://redmine.malikania.fr/projects/luasdl2/wiki