What makes Lua a cool programming language?

It shares a lot of great characteristics with Pharo...

- Can do OOP, functional programming, imperative -- it's your choice.
- There are only 8 data types, and all are first-class values.
- Multiple return values!  Constructs such as x,y = y,x.
- All functions are unnamed full lexical closures.
- Tables! Can be associative, arrays, or both -- simultaneously.
- Dynamic typing & dynamic structures; easily polymorphic.
- Loops can be controlled via user-defined iterator functions.
- Automatic memory management, 'weak' typing, finalizers.
- Can execute as a file, interactively in a REPL, or be embedded.
- Block comments can encapsulate code that includes comments.
- Highly portable, extensible, and has an excellent C API.
- Reflective global environment which can be replaced at run-time.
- Proper tail call elimination; allows deep recursion.
- Coroutines (for co-operative multi-tasking made simple).
- Strings are 8-bit clean & support unicode.
- You can have apps in other languages call out to Lua code.
- You can have Lua apps call out to code in other languages.




--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply via email to