dynamic classes and duck typing
Pelle Månsson
pelle.mansson at gmail.com
Tue Dec 1 03:40:10 PST 2009
Walter Bright wrote:
> 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
I mostly agree, but python actually has a rather elegant version of RAII.
More information about the Digitalmars-d
mailing list