4 ms·
It all depends on what the goal is of course. They're very different languages. Both should feel rather different than Ruby or Java, I think, in opposite dire
by snogglethorpe 14y ago
It all depends on what the goal is of course. They're very different languages. Both should feel rather different than Ruby or Java, I think, in opposite directions: Haskell adds many new language-level features; Lua tosses out a lot.
Haskell is a "big" language, and it's an academic language, which seems to be a testbed for many sophisticated language features that are not so common elsewhere. This can be good (lots of interesting new ideas) or bad (esoteric concepts that may not be so useful elsewhere) depending on your point of view.
Lua is a "small" language, it's very elegant, but tries to pare down the feature set as much as possible while remaining a practical and usable language. Despite not being a lisp dialect, I'd say in many ways Lua feels similar to old-school minimalist dialects of scheme (before scheme started to ... grow), though in general Lua has more of a "practical" bent. This tends to make the language itself very easy to learn, but of course actually learning a language is generally not enough, one must to some degree learn the culture and techniques to actually have a good grasp on it (and Lua tends to have a lot of subtlety beyond the basic language).
Besides the language itself, Lua's other famous property is that it's intended for embedding and use as an extension language, so it's small, fast, very easy to integrate and has a extremely well-designed C-level API.
Anyway, I'd say if you're not sure, just learn both... two's not that hard, and learning two such very different approaches at the same time may be quite informative... :]
- taylorlapeyre 14y agoExcellent response, thank you!