|
|
|
|
|
by zeveb
3085 days ago
|
|
> I would stay away from dynamically-typed languages (e.g., the Lisp and Scheme families) for software engineering. Dynamic typing means more run-time errors Note that Common Lisp has type declarations, which can move type errors from run-time to compile-time. ML is a nice language family if you want something which is typed and participates in the Lisp mindset. |
|
But it's not just whether the language supports it, but also:
- what is the default - what is the cultural default - the extent of type inferencing - the extent to which the compiler can generate efficient code (i.e., pass around unboxed, naked values sans run-time typing information)
CL basically doesn't go far enough. To begin with, the default is dynamic typing, and IIRC it has no type inference, though at least CL compilers can do a fair bit optimization but you'll always pay the price of some type encoding in pointer/fixed-sized-integer values' low order bits.