Jérôme M. Berger wrote:
3. inline assembler
I have almost never used inline assembler even in languages that
support it. Of course, this is only a sub-point of your point 6:
using inline assembly in a language as slow as Python would be
completely pointless.

Inline assembly isn't just for speed. There are a lot of special system instructions.


4. immutability
5. purity
I would not count them as advantages per se. Some of their
consequences might be seen as advantages once we have enough
experience with them.

They are not new concepts, and have been well proven to be advantageous in other languages.


7. RAII
Python has it too (since 2.6 IIRC, see the "with" keyword).
Moreover, Python makes it clear that RAII is happening by requiring
a special syntax at the call point.

The 'with' statement is extremely limited. For example, it can't be used in an expression, as a function parameter, etc. I wouldn't call it RAII.


8. direct interface to C
Cython gives it too: it is as easy to write a Cython interface
module as to write a D interface file for a C library.

Cython is a separate language from Python.


9. templates
Since Python uses duck typing everywhere, you could argue that
everything in Python is a template.

Templates are far more than just generics.


10. CTFE
This is not an advantage per se. It is useful because it allows
generative programming, so see point 11.

That happens at compile time.


11. generative programming
Python has that (like most dynamic languages) through "eval".

That happens at run time. D's happens at compile time.

Reply via email to