Antoine,
In response to your comment: "Finally, Cython does not require any rewriting, and annotations are optional."
With Cython the end user does need to modify the code by inserting C type definitions like this:
def primes(int nb_primes): cdef int n, i, len_p cdef int p[1000]
Mark