lua-users home
lua-l archive

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

On Monday, September 9, 2013, Tim Hill wrote:

On Sep 9, 2013, at 6:57 AM, Javier Guerra Giraldez <> wrote:

> On Mon, Sep 9, 2013 at 7:27 AM, David Demelier <> wrote:
>> Yes, and C is old and no new project is using it.
> talk for yourself.  all my Lua extensions are either C or LuaJIT ffi
> (which inherits lots of it's semantics from C)
>> I really not recommend a user to do C anymore.
> I do.
> --
> Javier

+1 here too.

The basic idea of OO is great, and the core C++ is pretty useful too, but C++ has become bloated, complex, and dangerous. The compilers are huge and slow, the runtime is absurd, and the syntax reminds me more of Malbolg than any other language I know. For a language that is 30+ years old, C has been stable and robust, and it's flaws at least have the virtue of being well known.


There are a couple of threads that are going now (tostring, expressions) that are... "like" this one. 

C is a system language. C++ is an application language. Some people use it as a system language, but I firmly believe that the designation is informative and when it's violated, you end up with libraries that have APIs that are very difficult to work with. 

Imagine the Lua list were the C list, circa mid-eighties. "We don't even have a hash object. We don't have objects!" 

What would such an abstraction look like? How often would one need to take it apart or re-do it for a more specific purpose at the binding or application level?

C is the most popular language in the world, if measured by lines of code RUNNING, for an excellent reason: it doesn't do more than it should for what it is. 

Let higher level tools represent models and low level languages represent systems. C is awesome for that and is really beautiful when used that way. 

In the same way, expecting Lua to always be "correct" in every single case, puts it on the wrong level. It should *behave* consistently and correct, but sometimes that must mean that it isn't implemented in that way. Lua should be pragmatic, but not unhelpfully so. 

In my very humble opinion (and despite my own transgressions into discussions on its redesign :), it gets this balance perfectly... Except when it prompts strings to numbers. .)