IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apple Discussion :

Quel langage choisir pour Mac ? Java , C#/Mono, Ruby, Pascal ? Python ? [Débat]


Sujet :

Apple

  1. #21
    Membre actif Avatar de etranger
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Points : 268
    Points
    268
    Par défaut
    Je ne sais pas si sa peut t'aider, mais je suis tomber par hasard sur cet article .

  2. #22
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    le top pour développez sous MacOS (uniquement) sans trop ce soucier de la portabilité c'est les couples:
    _ C++ / Carbon
    _ Objective-C / Cocoa

    si tu veux faire des appli, performante et rapide c'est le choix pour lequel tu dois opter.
    si tu veux plus faire de la portabilité tu peux toujours utilisé Java (surtout que comme signaler tu peux utiliser Cocoa avec Java)
    Jérémy
    Ingénieur Conception et Développement

  3. #23
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Sincèrement, ce genre de question métaphysique (que l'on a tous eue, et qui est normale) n'a plus sa place aujourd'hui. Je m'explique.

    Actuellement les applications sont de plus en plus réparties : répartition des contraintes, répartition du code au sein de la même machine sous forme de client/serveur locaux ou encore répartition d'un programme entre plusieurs ordinateurs voire plusieurs réseaux.

    Je pense fondamentalement qu'il faut s'efforcer le plus possible pour concevoir les programmes avec les bons outils.

    Exemple : si ton application comporte une partie très critique en termes de temps d'exécution, rien ne t'empêche de l'écrire en C, par exemple, puis de faire l'interface graphique (voire seulement une partie de l'interface) en Java Swing, ou encore les manipulations sur des données ASCII en Perl, et faire communiquer tout ce beau monde via des socket du domaine Unix.

    Apprendre à utiliser les socket, c'est presque enfantin (enfin... en OCaml... mais en C ça doit être quasiment pareil), et très efficace. De plus, celà accroît fortement la réutilisabilité de composants logiciels, ce qui est tout de même intéressant, à mon sens.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  4. #24
    Membre averti

    Inscrit en
    Février 2003
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 154
    Points : 310
    Points
    310
    Par défaut
    Citation Envoyé par kedare
    bon finalement je vais surement faire des programmes qui ne tourne que sur MacOsX , donc je vais me tourner vers l'objective-C ,ca a l'air pas mal (mais quand meme plus complexe que les autres)
    j'utiliserais aussi Ruby avec le binding Cocoa :p
    Alors l'Objective-C est effectivement le choix le plus judicieux. Il te donne accès à toutes les fonctionnalités d'OSX que ce soit graphiques ou non via le framework cocoa. Il permet aussi un accès direct à toutes les API C du système et rien ne t'empêche non plus d'intégrer du code C++. Bref c'est le choix de prédilection pour tout développement sérieux (j'entends par là pourvoir vraiment accéder à tout) non multi-plateformes sur Mac.

    Le plus déroutant au début est la syntaxe des déclarations et des appels de méthodes (cela casse avec les habitudes de la syntaxe C qu'on retrouve dans beaucoup de langage).

    Côté gestion mémoire, l'Obj-C est vraiment très élégant puisqu'on peut choisir entre gestion à la mano (plus performant dans bien des cas) et gestion dite autorelease (les objets se libèrent d'eux même en fin de run-loop lorsqu'ils ne sont plus utilisés). Léopard va aussi apporter un nouveau niveau de gestion puisqu'il va intégrer un Garbage collector pour le framework cocoa.

  5. #25
    Membre confirmé Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Points : 579
    Points
    579
    Par défaut
    Avant de te précipiter sur un langage, je te suggère de cerner les besoins.

    As-tu déjà essayé de réaliser un état en Python (langage que j'adore par ailleurs) ou en Java ?
    As-tu comparé la vitesse de création d'un formulaire en GTK avec celle que te permettent Filemaker et Servoy (je sais, c'est payant, mais il y a des versions d'évaluation disponible).

    Chaque environnement a ses avantages et ses faiblesses. Le mieux, comme le suggère InOCamlWeTrust, est d'en connaitre plusieurs pour pouvoir utiliser le plus adapté à une tâche donnée.

    Une solution n'est valable que dans un contexte donné.

    Yvan
    Une solution n'est valable que dans un contexte donné

  6. #26
    Invité
    Invité(e)
    Par défaut
    C'est clair et net: si tu veux développer une (des) nouvelle(s) appli(s) uniquement pour Mac, c'est le couple Objective-C / Cocoa qu'il te faut choisir

    Tu verras, Obj-C est un langage génial et les APIs Cocoa sont super bien faites!

    Si tu comprends un minimum l'anglais, plus d'infos sur l'Objective-C sur Wikipedia (malheureusement la version française est très succincte, peut-être que je m'en occuperai un jour…).

  7. #27
    Membre averti

    Inscrit en
    Février 2003
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 154
    Points : 310
    Points
    310
    Par défaut
    Citation Envoyé par Mateo34
    Tu verras, Obj-C est un langage génial et les APIs Cocoa sont super bien faites!
    Que dire de plus? C'est comme un Mac, l'essayer c'est l'adopter!

  8. #28
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 34
    Points : 36
    Points
    36
    Par défaut
    Objective-C = plaisir

    Il faut avoir des bases en C.
    (signé : un utilisateur de Mac depuis 1986)

  9. #29
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 308
    Points : 373
    Points
    373
    Par défaut
    Je confirme, le couple Objective-C / Cocoa est le meilleur choix pour la programmation sur Mac OS X, si tu ne comptes pas aller sur d'autres plate-forme.

    C'est un langage extrêmement flexible, extrêmement dynamique, tu as le choix entre mettre les mains dans le cambouis et fire des trucs de très bas niveau ou bien de t'en remettre complètement au haut niveau et moins te faire chier.

    Il a sa fine couche objet avec un runtime qui peut parfois ralentir le processus mais qui, grâce au caching, à force d'utiliser une même application, va plus vite. Mais si tu trouves le runtime trop lent tu peux aussi le contourner en appelant les méthodes avec du C directement...

    D'ailleurs l'intégration avec le C est totale, ce qui fait que tu peux utiliser les API bas niveaux d'Apple comme Core Graphics, Core Video, Core Audio, Core Image, et prochainement Core Animation de manière complètement transparente.

    Non vraiment ce langage n'a pas reçu le traitement qu'il mérite et aurait du avoir eclipsé le C++ si il n'avait pas était si incompris (séquence émotion ).

  10. #30
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par PsychoH13
    Non vraiment ce langage n'a pas reçu le traitement qu'il mérite et aurait du avoir eclipsé le C++ si il n'avait pas était si incompris (séquence émotion ).

    en quoi ce langage a été / est incompris ?

  11. #31
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 308
    Points : 373
    Points
    373
    Par défaut
    Bah disons que si les développeurs n'avait pas pris peur devant la syntaxe atypique de l'Objective-C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [receveur message]
    @implementation classe : superclasse <protocole>
    {
        // attributs
    }
    
    - (id)methodeDInstance: (int)valeur;
    + (id)methodeDeClasse;
    
    @end
    Ils auraient pu découvrir un super langage extrêmement flexible et dynamique...
    Voilà en quoi le langage est incompris, parce que les développeurs n'ont pas cherché à comprendre le langage et s'arrête bien souvent à la syntaxe.

  12. #32
    Membre averti

    Inscrit en
    Février 2003
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 154
    Points : 310
    Points
    310
    Par défaut
    Citation Envoyé par PsychoH13
    Voilà en quoi le langage est incompris, parce que les développeurs n'ont pas cherché à comprendre le langage et s'arrête bien souvent à la syntaxe.
    Je ne suis pas complètement d'accord avec toi. Pour moi, Objective-C est tout simplement méconnu (et non incompris) car il n'a simplement jamais été mis en avant avant l'arrivée d'OSX (son prédécesseur NeXTstep n'ayant pas vraiment rencontré le succès mérité). Malgré son âge*, il n'en est donc qu'à ses débuts "marketing" et de plus en plus de devs s'y intéressent.

    La syntaxe quant à elle n'est déroutante que du fait du "formatage" des développeurs (C, C++, Java, etc). Doit-on pleurer un développeur qui s'arrêterait à ça (d'autant qu'une fois compris le principe c'est en fait littéralement plus explicite je trouve)? Je ne pense pas.

    *: Objective-C est né dans les années 80 (donc bien avant Java qu'il a largement inspiré).

  13. #33
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 308
    Points : 373
    Points
    373
    Par défaut
    Oui Objective-C est méconnu bien qu'il a été développé à la même époque que le C++... Peut-être aussi à cause du fait que NeXT en ait gardé la license sans vraiment chercher à populariser le langage lui-même.
    Mais aussi le fait que ce langage soit atypique en a éloigné plus d'un... M'enfin, l'Objective-C prend de plus en plus d'importance aujourd'hui et c'est très bien !

  14. #34
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Février 2007
    Messages : 97
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par PsychoH13 Voir le message
    Bah disons que si les développeurs n'avait pas pris peur devant la syntaxe atypique de l'Objective-C :
    C'est le moins que l'on puisse dire
    J'ai passé plusieurs jours dessus sans rien y comprendre.

  15. #35
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 308
    Points : 373
    Points
    373
    Par défaut
    Citation Envoyé par Rocou Voir le message
    C'est le moins que l'on puisse dire
    J'ai passé plusieurs jours dessus sans rien y comprendre.
    J'espère maintenant que tu es reconcilié avec Personnellement, et en y repensant, je trouve la syntaxe de l'Objective-C plus compréhensible que celle d'autres langages cousins comme le C++.

    Je trouve que les @interface @end et @implementation @end sont plus explicites que les class {}; et MaClasse::methode().

  16. #36
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    L'objectif C est un excellent langage.
    Quelqu'un qui veut développer pour MacOS principalement devrait s'y mettre -_-
    Comme l'a dit Psycho la syntaxe est en fait plus propre que le C/C++ qui sont uniquement plus populaire.
    Un vrai développeur devrait être capable de s'adapter vite à un changement de syntaxe et Objectif-C ne devrait pas faire exception à la règle.

  17. #37
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 308
    Points : 373
    Points
    373
    Par défaut
    La syntaxe de l'Objective-C est presque complètement basée sur celle du C. Les différences de syntaxe se trouvent au niveau de la couche objet qui est absente du C, il faut donc regarder du côté du C++ (qui est un langage différent !) pour pouvoir voir les différences de syntaxe.

  18. #38
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par PsychoH13 Voir le message
    La syntaxe de l'Objective-C est presque complètement basée sur celle du C. Les différences de syntaxe se trouvent au niveau de la couche objet qui est absente du C, il faut donc regarder du côté du C++ (qui est un langage différent !) pour pouvoir voir les différences de syntaxe.

    Il y a aussi une différence importante de philosophie qui a mon sens est bien meilleure pour objectif-C. Le passage de message est bien plus clair.

    menfinbon c'est des détails ça.

  19. #39
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    le probleme est que Objective-C n'est vraiment finalement que pour Mac.
    En tant que developper d'application, je pense que l'avenir est au multi-plateforme (regardez les meilleures applis: VLC, FIREFOX, PHOTOSHOP, DREAMWEAVER, FLASH ...). J'adore le mac, mais les applications doivent etre multi-plateformes. Le choix est plutot entre Java et C++ (avec Qt ou autres)

    perso j'ai choisi, je prefere le natif et Qt est vraiment innovatif et les developpeurs paraissent vraiment tous cool (voir leurs blogs).

  20. #40
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 308
    Points : 373
    Points
    373
    Par défaut
    Alors ça, c'est un raisonnement assez bancal. C'est pas parce qu'une application est présente sur plusieurs plate-forme que son code est multiplateforme... Au contraire ! Certaines bien sûr le sont comme FireFox. Mais des applications comme Photoshop, Dreamweaver ou Flash sont LOIN très LOIN d'être multiplateforme au sens où tu l'entends.
    Dans la plupart des cas, ce sont des applications différentes qui sont conçues, avec un code différent. Les fonctionnalités sont bien sûr, en général, les mêmes, les fichiers générés sont identiques, mais l'application elle-même, et surtout son code, est différente.

    D'ailleurs, chercher absolument à faire du multiplateforme n'est pas vraiment la meilleure solution ! Car tu perds le bénéfice des différences de chaque plateforme et à ce moment tu as deux solutions : soit tu optimises ton application pour une plateforme en particulier et tu fais un code compatible et utilisable pour les autres, et là tu discrimines les autres plateformes. Soit tu fais une code 100% compatible avec toutes les plateformes et optimisés au maximum par les seules possibilités de tes outils, et là aucune plateforme n'aura une application optimisée...

    Dans les deux cas tu n'exploites pas les fonctionnalités de toutes les plateformes...

Discussions similaires

  1. Quel langage choisir pour un soft commercial ?
    Par AnTaReS7364 dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 16/07/2006, 22h21
  2. [Débutant] Quel langage choisir pour débuter ?
    Par Invité dans le forum Débuter
    Réponses: 15
    Dernier message: 05/07/2004, 22h13
  3. Quel langage choisir pour lire sur le port série ?
    Par Nico76 dans le forum Windows
    Réponses: 7
    Dernier message: 28/04/2004, 10h42
  4. quel langage choisir pour mon interface graphique
    Par mrom34 dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 09/03/2004, 19h12
  5. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo