Comment by cardanome

1 year ago

> No first class support for OOP, you got to use tables instead.

You get meta tables instead which allow you to trivially write an OOP system that perfectly fits your needs. Yes there is more than class-based OOP.

And I mean trivially: https://lua-users.org/wiki/SimpleLuaClasses

For some people not being locked into one form of OOP or any OOP at all is a huge advantage.

> No "continue" keyword to go to the next iteration of a loop. So you have to use some ugly elseif.

Yeah, that sucks. Thankfully Luau fixes that and basically all annoyances I have with Lua. https://luau.org/syntax

> I never realized C# was such a well designed language until I tried Lua.

Lua and C# have fundamentally different design goals. C# sucks for embedding, you have to include a huge runtime. Godot still hasn't figured out how to support C# on web builds. Lua values minimalism and flexibility. That obviously means it lacks some quality of life features of bigger general purpose languages.

Language design is about trade offs.