Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Mac

Mac Avant de poster: Lire La FAQ Mac; Voir la page Outils; Voir les tutoriels.

Réponse
 
Outils de la discussion
Vieux 16/07/2007, 13h10   #31 (permalink)
Membre éclairé
 
Date d'inscription: juillet 2007
Localisation: French.lproj
Âge: 23
Messages: 304
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
Par défaut

Bah disons que si les développeurs n'avait pas pris peur devant la syntaxe atypique de l'Objective-C :
Code :
[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.
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2007, 14h39   #32 (permalink)
Rédacteur
 
Date d'inscription: février 2003
Messages: 161
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é).
Mala est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2007, 15h49   #33 (permalink)
Membre éclairé
 
Date d'inscription: juillet 2007
Localisation: French.lproj
Âge: 23
Messages: 304
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
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 !
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/09/2007, 17h51   #34 (permalink)
Membre du Club
 
Date d'inscription: février 2007
Âge: 43
Messages: 88
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.
Rocou est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/09/2007, 00h53   #35 (permalink)
Membre éclairé
 
Date d'inscription: juillet 2007
Localisation: French.lproj
Âge: 23
Messages: 304
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
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().
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/09/2007, 19h37   #36 (permalink)
Provisoirement toléré(e)
 
Date d'inscription: juillet 2005
Localisation: Ailleurs
Âge: 44
Messages: 1 984
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.
Garulfo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/09/2007, 20h37   #37 (permalink)
Membre éclairé
 
Date d'inscription: juillet 2007
Localisation: French.lproj
Âge: 23
Messages: 304
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
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.
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/09/2007, 01h01   #38 (permalink)
Provisoirement toléré(e)
 
Date d'inscription: juillet 2005
Localisation: Ailleurs
Âge: 44
Messages: 1 984
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.
Garulfo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/09/2007, 13h41   #39 (permalink)
Membre Expert
 
Date d'inscription: juin 2006
Localisation: devant mon ordi
Âge: 34
Messages: 1 073
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).
epsilon68 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/09/2007, 17h02   #40 (permalink)
Membre éclairé
 
Date d'inscription: juillet 2007
Localisation: French.lproj
Âge: 23
Messages: 304
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
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...
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/09/2007, 21h50   #41 (permalink)
Membre Expert
 
Date d'inscription: juin 2006
Localisation: devant mon ordi
Âge: 34
Messages: 1 073
Par défaut

par experience, penser optimiser son code pour chaque machine est un doux reve. il vaut vraiment mieux conserver un seul unique source code et implement par ci par la des ajouts de fonctionalités propres a la machine.
Chaque effort sera reversé a l'ensemble des plateformes, et l'ensemble progressera plutot que d'avoir tendance a diverger.

J'ai eu l'experience justement du produit similaire sur mac et pc, a la fin les possibilités d'evolutions n'etaient pas du tout les memes, le produit pc a subsisté mais le produit mac s'est eteint. du coup plus de version mac, c'est dommage. Pourquoi ne pas vouloir unifier les efforts de developpement ? c'est tellement plus coherent.

l'avenir est aux produits multi-plateforme, VLC et firefox en sont les meilleurs exemples.
epsilon68 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/09/2007, 22h40   #42 (permalink)
Membre éclairé
 
Date d'inscription: juillet 2007
Localisation: French.lproj
Âge: 23
Messages: 304
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
Par défaut

Je ne pense pas que FireFox et VLC soient des exemples très représentatifs, d'un côté il s'ait d'un lecteur de vidéo et de l'autre d'un navigateur internet, il y a beaucoup d'autres types de logiciels.

Ensuite, si on pousse un peu plus loin ton raisonnement, le fait que l'avenir soit au multiplateforme... Si tous les logiciels sont multiplateformes, et qu'ils font tous la même chose, quel est alors l'intérêt d'avoir des plateformes différentes ?

Je ne vois pas l'intérêt de faire une application multiplateforme si c'est pour ignorer les capacités de chaque machine, de laisser tomber les outils d'optimisation qui permettent de montrer l'existence même de la plateforme...

PS : il est d'ailleurs amusant que tu parles de FireFox comme exemple d'applications multiplateformes alors qu'apparemment FireFox 3 pour Mac sera une version Cocoa...

Dernière modification par PsychoH13 ; 17/09/2007 à 23h02.
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/09/2007, 23h15   #43 (permalink)
Membre Expert
 
Date d'inscription: juin 2006
Localisation: devant mon ordi
Âge: 34
Messages: 1 073
Par défaut

je choisis Macosx parce qu'il me permet de faire du developement avec les memes outils que linux, parce qu'il a une gestion de l'os et des logiciels plus innovante que les autres systemes, il permet d'allier la puissance d'un unix avec une interface super jolie avec des effets super cools.

Pour moi 90% des logiciels ne requiert pas de maitriser toutes les apis systemes a 100%. Par exemple un soft 3d, il faut opengl et beaucoup d'algorithme ... mais quoi vraiment de particulier ?
autre exemple: une appli de gestion database... bon bah la carrement rien non plus... limite on peut le faire en Java (c'est bon je rigole)

apres pour tout ce qui est vraiment specifique (mais perso j'ai du mal a voir vraiment ce qui peut etre tres tres specifique a une machine) alors il faut se tourner vers le language preconisé par l'implementeur du systeme...

mais imagine pour un meme logiciel, le faire en .NET sur windows, en objective C pour mac et en C++ pour linux, et un petit java pour essayer par un stagiaire...

tu trouves pas que le cout va etre dementiel ? sans compter l'architecture du soft qui va etre differente ... et les possibilités d'evolutions ? (mais aussi les perfs)

par exemple un soft de compta va exporter avec excel sur windows et sur Numbers sur Mac, ne peut-on pas imaginer que juste les modules d'export soient specifiques ? puis un module PDF qui restera commun ?
epsilon68 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/09/2007, 00h00   #44 (permalink)
Provisoirement toléré(e)
 
Date d'inscription: juillet 2005
Localisation: Ailleurs
Âge: 44
Messages: 1 984
Par défaut

Citation:
Envoyé par epsilon68 Voir le message
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).
La vrai portabilité à 100% n'existe pas. C'est aussi un doux rêve. Nous avons des problèmes par rapport auX comportementS du double-clic d'une application Java en fonction qu'elle était sous Linux, Windows ou Mac...
Et c'est pourtant des fonctionnalités de base.

Donc tout dépend, de l'application, de la cible et des contraintes environnantes. La personne qui a créé ce sujet parlait de développer principalement des applications POUR MacOSX. Dans ce cas le langage de choix est Objectif-C.
Garulfo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/09/2007, 00h03   #45 (permalink)
Provisoirement toléré(e)
 
Date d'inscription: juillet 2005
Localisation: Ailleurs
Âge: 44
Messages: 1 984
Par défaut

Citation:
Envoyé par epsilon68 Voir le message
[...]
tu trouves pas que le cout va etre dementiel ? sans compter l'architecture du soft qui va etre differente ... et les possibilités d'evolutions ? (mais aussi les perfs)

par exemple un soft de compta va exporter avec excel sur windows et sur Numbers sur Mac, ne peut-on pas imaginer que juste les modules d'export soient specifiques ? puis un module PDF qui restera commun ?
Pourtant parfois c'est nécessaire et c'est le cas.
De plus si la conception est bien faîte, l'architecture sera très semblable et réutilisable. Ça c'est déjà vu.

Mais cependant, tu as raison sur le fait que si tu vises à faire un logiciel sous toute plateforme, il est impératif de considérer le facteur coût de maintenance. Et là, un langage commun est bien plus pertinente. Donc du C avec du QT, ou du Java, ou du ocaml avec wxwidget, est probablement une meilleure solution que de l'Objectif-C sur Mac, et du C++ sous Windows et Linux.
Garulfo est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MACTUTORIEL MACFAQ MACLIVRES MACOUTILS MACBLOG MACÉVÈNEMENTS MAC4D

Réponse

Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Mac



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h27.


Vos questions techniques : forum d'entraide Mac - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2009 www.developpez.com - Legal informations.