dynamic classes and duck typing
Walter Bright
newshound1 at digitalmars.com
Tue Dec 1 03:13:28 PST 2009
retard wrote:
> Overall these simplifications don't remove any crucial high level
> language features, in fact they make the code simpler and shorter. For
> instance there isn't high level code that can only be written with 8-bit
> byte primitives, static methods or closures, but not with 32-bit generic
> ints, singletons, and generic higher order functions. The only thing you
> lose is some type safety and efficiency.
I'm no expert on Python, but there are some things one gives up with it:
1. the ability to do functional style programming. The lack of
immutability makes for very hard multithreaded programming.
2. as you mentioned, there's the performance problem. It's fine if you
don't need performance, but once you do, the complexity abruptly goes
way up.
3. no contract programming (it's very hard to emulate contract inheritance)
4. no metaprogramming
5. simple interfacing to C
6. scope guard (transactional processing); Python has the miserable
try-catch-finally paradigm
7. static verification
8. RAII
9. versioning
10. ability to manage resources directly
11. inline assembler
12. constants
More information about the Digitalmars-d
mailing list