Qu'est-ce qui te fait dire ça ? async/await est tout à fait supporté par Mono.
http://www.mono-project.com/docs/abo...compatibility/
Il n'y a que pour ASP.NET que le support de l'asynchrone est incomplet.
Tu n'as pas du bien regarder... C# a commencé comme un quasi-clone de Java, avec quelques trucs en plus, et a évolué beaucoup plus vite pour proposer beaucoup plus de features. Quelques trucs utiles qui existent en C# mais pas en Java (liste non exhaustive) :
- types valeur
- passage de paramètres par référence
- propriétés
- delegates (grosso modo, des pointeurs de fonction)
- événements
- itérateurs (permettent de générer facilement des séquences de façon lazy)
- types anonymes (rien à voir avec ceux de Java, ça ne remplit pas le même rôle)
- Linq (Java 8 a les streams, mais Linq pousse le concept beaucoup plus loin)
- de vrais génériques réifiés (Java implémente les génériques en utilisant le principe de type erasure, donc les génériques n'existent plus lors de l'exécution)
- typage dynamique (principalement pour l'interop avec des langages dynamiques)
- async/await pour la programmation asynchrone
- expression trees
- pointeurs (rarement utilisés, mais utiles dans certains scénarios où les performances sont critiques)
Pour l'instant, la seule feature de Java que j'aime bien et qui n'existe pas en C#, c'est les default methods.
Pour ce qui est de mieux connaître Java, C# y ressemble suffisamment pour que tu ne sois pas perdu.
La même chose qui se passerait si Oracle abandonnait Java... c'est open-source, donc la communauté peut le reprendre sans problème.
Cela dit, ça me semble hautement improbable que MS abandonne C#, qui est sans doute la meilleure chose que MS ait produite ces 15 dernières années. Ce serait vraiment se tirer une balle dans le pied, tous les développeurs tourneraient le dos à MS et iraient voir ailleurs.










Pas de questions techniques par MP ! Le forum est là pour ça...
Répondre avec citation





)





Partager