En tant qu'extérieur Mac, il semble que deux langages de programmation populaires sur Mac semblent être Objective C et Ruby.Pour quels programmes sont l'objectif C et Ruby idéal sur le Mac?
D'après ce que je comprends l'API Cocoa principale semble être écrit et optimisé pour Objective C, mais il est également possible d'utiliser Ruby pour cela. Y a-t-il différents domaines où chaque langue est idéale, par exemple, je pourrais imaginer que l'Objective C pourrait être idéal pour une couche GUI, ou une application de bureau autonome, et Ruby pourrait être bon pour les services Web, etc. ou couches d'accès aux données?
Quelle langue serait un bon choix pour une bibliothèque de services, par exemple? Pouvons-nous écrire une bibliothèque dans une langue et la lier à partir d'un programme principal écrit dans l'autre langue?
Si je voulais écrire une application en couches d'entreprise en utilisant la conception pilotée de domaine et l'injection de dépendance qui pourraient soutenir langues chacune des préoccupations? Des choses comme DDD et DI sont-elles courantes chez les développeurs Mac?
Juste un étranger curieux.
Qu'est-ce que le support Java, passé ou présent, a à voir avec Ruby? –
Si vous voulez écrire une «application d'entreprise», vous devriez probablement choisir une technologie qui va rester pendant un certain temps. L'exemple de Java semble laisser Objective-C comme le seul choix vraiment sûr à cet égard. (En parlant d'applications de bureau.) – zoul
@Peter Hosey, Zoul: Ce que Zoul n'a pas mentionné très clairement, c'est qu'Apple supportait activement un pont Java vers ses frameworks Cocoa basés sur Objective-C. Depuis Mac OS X 10.4, ceci est marqué comme obsolète et les nouvelles fonctionnalités ajoutées aux frameworks ne sont plus disponibles dans le pont Java. Le risque avec l'utilisation de Ruby est qu'Apple pourrait de même "fermer" le pont à un moment donné dans le futur. Bien qu'avec le développement de MacRuby pour remplacer RubyCocoa, cela semble maintenant moins susceptible de se produire. Voir l'article "Cocoa (API)" sur Wikipedia pour plus de détails. – Rinzwind