I started learning programming with modern dialect of BASIC and when I first tried Lua, I've had my mind blown when I discovered:
- tables (hashmap)
- regex
- pass by reference (caused a lot of confusion and frustrating bugs)
- metatables
- goto and labels
- multiple return values
After Lua I did want to try a language that's fast, something compiled to small native binary. My choice was Nim. And Nim got my mind blown to pieces:
- static types
- function declarations I can understand how to use without reading their code
- functional paradigm
- batteries included standard library
- compile-time functions
- generics
- templates
- macros
- exploring and manipulating AST
- const, let, var (immutability)
- pointers and references
- compiler optimizations
- move semantics
- memory management
- I can compile code to both javascript and C?!
- C, C++ and JS interop (ffi)
- I can read and understand source code of standard library procedures?!
- huh, my computer is fast, like crazy fast!!
- and probably more, but that's what I can recall now..