2 ms·
It bothers me too. Dynamically typed does not imply no types. A good CL implementation takes that to heart and produces really nice code out of the box. And th
by agentultra 13y ago
It bothers me too.
Dynamically typed does not imply no types. A good CL implementation takes that to heart and produces really nice code out of the box. And the language spec provides for an API to allow program developers to specify types and hints to the compiler to optimize certain functions and code paths where it's needed.
The benefit from this is that you can rapidly prototype your application and harden it to the platform you deploy on when performance becomes an issue... and with built-in conditional compilation you can do that in a cross-platform way.
- mikeklaas 13y agoPython has types; I would even describe it as strongly-typed. It is thus relatively JIT-able (as pypy and psyco have shown). The chief problem is the high level of dynamic typing going, plus the huge amount of globally-changable assumptions (you can add methods to any instance of a class, you can globally change the definition of language built-ins, etc.)
- agentultra 13y agoSome charity, please; I know Python is strongly-typed. It just doesn't take advantage of it and doesn't have facilities for producing fast code. Common Lisp not only provides type hinting facilities in the language it also provides hinting to the compiler to turn off all run-time type checks in critical code sections.