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

Objective-C Discussion :

[DEV] Obj-c vs C#


Sujet :

Objective-C

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut [DEV] Obj-c vs C#
    Bonjour,

    Je suis pour ma part développeur, et même si je pense comme tout développeur être capable de coder dans pas mal de langage le langage n'ayant que peut d'importance par rapport a ce qu'on est capable de lui faire faire (au font se sont les algo qui compte).

    Malgres tout ce qui occupe 90% de mon temps au travail c'est le développement .NET sur plateforme Windows (est il besoin de le préciser...).
    J'ai switché il y a peu de temps sur Mac (en privé pas au travail) et je suis ravi par l'environnement tant les petit problèmes quotidiens s'effacent pour faire place seulement à ce pourquoi on été sur un ordinateur au départ.

    Néanmoins je ne renie pas Windows qui même s'il m'agace me permet au travail de faire grâce à .NET un travail performant, rapide et surtout qui répond parfaitement aux besoin des utilisateurs.

    En vacance, je m'intéresse au développement sur mon nouveau MacBook, j'ai déjà fait mon premier HelloWorld en Obj-C, et ma première appli avec GUI etc... cela me semble très puissant.

    Néanmoins, j'aimerais connaître la valeur de Mac dans le monde du développement professionnel. Alors je ne veux pas rentrer dans les considération CLR, machine virtuelle, portabilité, compilation qui m'ont toujours étaient égales, mais plutôt de ce que l'on peut faire rapidement dans l'un ou l'autre des langage. Lequel pour vous est LA réponse, et pourquoi? Lequel permet d'attaquer le plus facilement une base de données (quelque soit son format), de lire du XML, envoyer des mail, gérer des fichier, communiquer, afficher des stat, faire du reporting, sécuriser et localiser une application, bref tout ce dont on a besoin pour un bon système d'informations professionnel et que me permet .NET aujourd'hui (avec pour le fun un chouya de multimédia).

    Merci d'avance de vos réponses, si du moins le débat vous plait
    Renaud

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par RaelRiaK Voir le message
    Bonjour,[...]
    Merci d'avance de vos réponses, si du moins le débat vous plait
    Renaud
    Les deux langages se valent. Ils sont tous les deux poussés par des boîtes de l'informatique. Je ne parle pas de préférence personnel mais bien de ce qu'ils peuvent faire. Mac OS X et les applications qui y tournent montre bien que rien ne s'oppose à faire ce que tu veux faire avec Objecive-C.

    Cependant c'est clair que sur le marché, .NET est plus recherché et ouvre plus de porte que Objective-C. Mais ce dernier est intéressant pour un développeur car il implémente plus la philosophie OO. C'est comme Smalltalk en fait.

    Au final, tu auras acquis qqchose, mais ca ne devrait pas te changer la vie.

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut
    Donc les deux langages se valent. Il est certain que la plateforme Windows étant plus répandue je suis conscient du fait que l'expérience .NET est plus "utile" sur le marché de l'emploie ...

    Mais j'ai lu sur un forum obscure que Obj-C serait obsoléte d'une bonne dizaine d'années, et que Mac continuerait de le pousser en présentant des démo d'applications graphique puissante mais peu capable de rivaliser avec les Framework modernes (JAVA, .NET essentiellement pour moi la floppé des Python, Ruby etc. restant plus ou moins occasionnelles).

    Qu'elle est votre opinion?

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par RaelRiaK Voir le message
    [...]
    Qu'elle est votre opinion?
    Que c'est de la bullshit.
    Sinon comment est-il possible qu'il y ait tant d'application de qualité sur MacOSX ?

    Ça ne veut pas dire que ce soit le « meilleur » ni le « plus agréable » ou encore le « plus adapté à un projet »... mais ça en tant qu'informaticien tu dois le savoir : aucun langage n'est la panacée.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Points : 219
    Points
    219
    Par défaut
    si tu veux développer en .NET as tu essayé MONO ?

    http://www.mono-project.com/Main_Page

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut
    Pour mono je trouve que c'est un projet louable, mais disons qu'à mon gout ce qui fait la force de Mac OS X c'est entre autre son érgonomie, et Mono introduit des notion très Windowzienne dans Mac OS X, ce qui certes peut être très puissant, mais du coup je trouve que l'on perd un des interet majeur de Mac (exemple : les menu principaux qui au lieu d'être tout en haut de l'écran son à la Windows en haut du formulaire)

    Sinon je suis d'accord que le langage importe peu face à la réactivité et le talent du codeur. Mais je sais par exemple que sur Access je suis franchement moins productif que sous .NET. C'est à ce niveau là que je voulais poser ma question.

    En maîtrisant les deux langages, lequel risque t on de préférer. Mais cela reste très certainement du domaine du gout personnel.

  7. #7
    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
    Personnellement, je suis capable de développer en C, C++, Java, C# et Objective-C sans trop de difficulté.
    Et pour moi, le meilleur langage est Objective-C, je le trouve beaucoup plus propre que C#, il y a moins de sucre syntaxique dans Objective-C que dans C#, c'est plus simple et moins cacophonique. Mais c'est mon avis personnel.

    Après, ceux qui disent qu'Objective-C est mort dans 10 ans sont soit des gens qui n'ont jamais essayés soit des gens qui ont posté leur message il y a belle lurette.
    Apple développe pour Mac OS X, le framework Cocoa en Objective-C, Cocoa étant l'équivalent de .NET sur Windows, mais Cocoa est à mon avis beaucoup plus soutenu par Apple que .net ne l'est par Microsoft, on peut remarquer par exemple que seuls 2 logiciels d'Apple (Finder et iTunes) sont encore codés en Carbon (le framework qui permettait une certaine portabilité entre OS 9 et OS X).
    Bon bien sûr on peut dire que la plupart des applications en Cocoa d'Apple sont nées avec Mac OS X, ce n'est pas le cas de la plupart des applications Microsoft qui ne sont pas nées avec .NET.

    Toujours est-il que le développement du framework continue toujours, qu'Apple crée de nouveaux frameworks en Objective-C pour les utiliser avec Cocoa, etc. Donc Objective-C n'est sûrement pas prés de mourir. Le support de Ruby ou Python ne sont que marketing .

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut
    Merci pour vos réponse, c'est plus ou moins ce que je pensais.

    Donc nous sommes face à deux très bon produit.
    Sans trop connaître Objective-C, je dois avouer que je suis tout de même bluffé par son efficacité. Bon OK les discours éloquents de Steve Jobs sur l'efficacité de cocoa me laisse de mabre, même si je n'ai rien contre le personnage qui as mon avis fait certes du fric, mais est également passionné, ce qui me plait.
    Par contre connaissant plutôt bien .NET, je dois avoué que lorsque je remarque certaines interfaces graphiques cocoa, je suis assez bluffé, et je sais très bien que faire un équivalent en .NET serait plutôt compliqué (même si ça c'est nettement amélioré depuis WCF), voir impossible. Maintenant ce qui m'impressionne dans l'approche Mac, et la centralisation de l'information ce qui est tout à fait remarquable : le carnet d'adresse commun utilisable dans sa propre application en quelques lignes seulement, le trousseaux de mots de passe, et j'en passe. Le Mac est avant tout une source d'information, et il en fourni les "drivers" au travers de cocoa (enfin si j'ai bien compris) ce que je trouve remarquable. L'équivalent .NET existe plus ou moins, mais le puissance de l'OS qui est derrière réduit son champ d'action (pas de contact globaux, de trousseau, ou alors je ne les ai jamais vus mais j'ai des doutes...) et ce même sous Vista.

    Sans oublier bien sur que Mac OS X se retrouve en quasi totalité sur les ultra mobiles, iPhone et iPod Touch, se qui ajoute à la puissance de ces plateformes.

  9. #9
    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 RaelRiaK Voir le message
    Maintenant ce qui m'impressionne dans l'approche Mac, et la centralisation de l'information ce qui est tout à fait remarquable : le carnet d'adresse commun utilisable dans sa propre application en quelques lignes seulement, le trousseaux de mots de passe, et j'en passe. Le Mac est avant tout une source d'information, et il en fourni les "drivers" au travers de cocoa (enfin si j'ai bien compris) ce que je trouve remarquable.
    Effectivement c'est une analyse tout à fait juste. La grande "intelligence" d'Apple est d'avoir capitalisé sur l'intégration entre Cocoa et OSX. Mais cela ne s'arrête pas aux informations stockées dans la machine. Cela s'étend aussi au données "externes" que l'on peut manipuler. Par exemple, si tu regardes du côté de la classe NSImage, elle est capable de charger tous les formats supportés par le système (Raw y compris) tout comme le fait iPhoto. Je passe sur la génération de pdfs, le webkit, quicktime, etc mais la encore c'est dans le même esprit.

  10. #10
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    dot Net ? mouais... C'est vraiment étrange

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par ttone Voir le message
    dot Net ? mouais... C'est vraiment étrange
    mais encore ?

  12. #12
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut
    J'ai beau aimer Mac et trouver beaucoup de choix Windows discutables, si on sais développer en .NET, honnêtement c'est un vrai plaisir. C'est pour l'heure mon environnement de développement favoris. Il est bien fait, le framework est assez complet pour réalisé sans trop de code et surtout sans appels aux API ou à trop de librairies tiers de coder 80% des application, et de faire en plus des application productive est souvent ergonomique même si c'est certains on est quand même loin de l'ergonomie Mac.

    C'est pour cette raison que je voulais me renseigner sur Cocoa obj-c, pour savoir si on était dans la même échelle de qualité.

    Honnêtement, .NET est a approfondir. Si seulement il était vraiment multi plateforme, c'est à dire qu'il permette de généré des application native sous Windows, Mac OS X et Linux, il serait je pense ultime dans son genre. Mono est certes très pratique, mais on a quand même la grosse impression d'avoir mis du Windows sous Mac, ce qui n'est pas très ergonomique, et également dans une moindre mesure, très moche...

  13. #13
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    J'ai fai tun peu de .Net, j'ai trouvé que c'était une vague surcouche, je n'ai pas eu de mal pour passer convertir des sources Java en C#, le langage reste proche. Honnêtement je n'ai pas bien saisi l'intérêt de .Net, si ce n'est qu'il épouse Windows et qu'on puisse mixer des sources en C, C#, J#, java, etc...

    Ceci dit il me semble que le C# est bien plus abordable que l'Objective-C

  14. #14
    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
    C# SEMBLE au premier abord plus abordadle que Objective-C mais c'est juste parce que sa syntaxe est très proche des autres langages comme Java ou C++, cependant ce n'est pas tellement le cas.
    Selon moi, C# est un langage trop stricte, trop verbeux et pas assez dynamique.
    Objective-C, en revanche, a, certes, une syntaxe atypique, cependant une fois qu'on s'y est habitué c'est un vrai bonheur, il a en effet une syntaxe très simple, c'est un C pur avec très peu d'ajouts et très souvent ceux-ci sont cantonés aux parties objets qu'il ajoute.

    Sinon, RaelRiaK, tu te demandais si avec Cocoa on avait la même qualité qu'avec .NET, et ben personne je trouve Cocoa de bien meilleur qualité que .Net. Pour commencer c'est un framework simple, il y a peu de classe, mais quand je dis peu de classe, je ne dis pas qu'il manque quelque chose, au contraire, il n'y a que ce qu'il faut sans refaire 15 fois la même chose ; C'est un framework efficace.
    Je prendrais un exemple entre 1000, en .NET il y a énormément de type de collections, pour commencer il y a les collections générique et les non-générique, et pour chacune de ces collections tu as List, ArrayList, Queue, Stack, Queue, SortedList, LinkedList, ... Et qu'est-ce qu'on a dans Cocoa pour répondre à ça ? NSArray et NSMutableArray...

    Parce qu'après tout... Qu'est-ce qu'une Stack ? C'est une liste où tu ne manipules jamais que le dernier élément, tu ajoutes et enlèves le dernier élément de la liste, de même une Queue, on ajoute un élément au début et on en enlève à la fin... Tout ça se fait très simplement en Cocoa, à tel point qu'on a pas besoin de définir ces types explicitement. Et NSArray gère aussi la mise en ordre bien sûr.

    Et il y a plein d'exemple comme ça dans tout Cocoa, cependant pour bien programmer en Objective-C/Cocoa, il ne faut pas penser de la même manière qu'en C++, Java, C#/.NET, et c'est peut-être ça le point le plus difficile de Cocoa. Comme l'a si bien dit Yoda, "il faut désapprendre tout ce que tu as appris." parce que ce sera plus un boulet qu'autre chose.

    Toutefois, une fois la philosophie comprise, c'est un véritable, grand et vaste paradis !

  15. #15
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    Selon moi, C# est un langage trop stricte, trop verbeux et pas assez dynamique.
    Idem

  16. #16
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    690
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2005
    Messages : 690
    Points : 1 647
    Points
    1 647
    Par défaut
    Je me permet de remonter ce topic, pour ajouter qu'avec Cocoa maintenant on a la possibilité de choisir de gérer la mémoire soit même ou bien d'utiliser le garbage collector.

    Je rajoute aussi qu'avec obj-c/cocoa les applications compilées sont natives donc plus rapide. (mais pas théoriquement executable sur d'autres environnement comme avec .NET)

    Ceci dit, j'ai déja touché à C# et j'avais vraiment adoré ce langage ainsi que visual studio (la complétion est à tomber sur VS).
    Mais pour développer sur Mac la question pour moi ne se pose pas : c'est Obj-c/cocoa (héhé ca rime )

Discussions similaires

  1. [DEV] Cocoa/Obj-C : première appli : TODO
    Par innosang dans le forum Apple
    Réponses: 22
    Dernier message: 23/10/2007, 12h01
  2. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37
  3. [GTK]PB Librairie GTK+ sous dev-c++
    Par wozzy dans le forum Dev-C++
    Réponses: 15
    Dernier message: 05/11/2002, 14h55
  4. Dev-C++
    Par Anonymous dans le forum Dev-C++
    Réponses: 16
    Dernier message: 21/09/2002, 13h06
  5. [DEV-C++]#import de fichier .tlb
    Par pdl dans le forum Dev-C++
    Réponses: 6
    Dernier message: 19/07/2002, 22h46

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