
Διάβαζα για Clojure και βρήκε μια συζήτηση για Java δεν υποστηρίζουν κλήσεις ουράς, στην τρέχουσα έκδοση, και ότι οι άνθρωποι ρίχνουν εξαιρέσεις για την προσομοίωση ουρά καλώντας στο JVM, ούτως ή άλλως ακούγεται σαν άνθρωποι κάνουν κάποια τρελά πράγματα εκεί έξω. Έτσι, αυτό με πήρε αναρωτιούνται για την ουρά κλήση C # 's, ίδια θέματα;

 
Ουρά καλώντας σε Java και C #;
==============================



Κωδικός CLR θα καλέσει την ουρά σε ορισμένες περιπτώσεις, αλλά όχι τους άλλους - αυτό εξαρτάται από την ΚΟΕ.


Δείτε [την είσοδο blog David Broman του](http://blogs.msdn.com/davbr/pages/tail-call-jit-conditions.aspx) και [ένα Shri Borde είναι](http://blogs.msdn.com/shrib/archive/2005/01/25/360370.aspx) πάρα πολύ.


Η C # compiler δεν εκπέμπει σήμερα ουρά IL κλήση, αλλά μερικές φορές η ΚΟΕ θα το κάνει ούτως ή άλλως.

 

Ουρά αναδρομή είναι δυνατόν για το JVM σε ορισμένες περιπτώσεις. Για παράδειγμα, Σκάλα ζητά την αποτελεσματική εφαρμογή των βασικών ουρά αναδρομή (δείτε αυτό το blog post, αναζητήστε [Γλώσσα Trivia # 8](http://www.willarson.com/blog/?p=15) , μόνο απόσπασμα θα μπορούσα να βρω μόλις τώρα). Γίνεται λόγος και η έρευνα σχετικά με την προσθήκη περισσότερη στήριξη, με την ίδια προσπάθεια όπως Invoke Δυναμική και άλλα χαρακτηριστικά ειδικά κατασκευασμένα για τις γλώσσες που δεν Java.


Υπάρχει, επίσης, αρκετά συχνά μιλάει για αυτού του είδους τα ζητήματα σχετικά με [το Java Posse](http://javaposse.com/) .


Και ναι, ξέρω ότι αυτό δεν είναι εντελώς μια απάντηση στην ερώτησή σας ...

 