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.

Reply via email to