|
|||||||
| Mac Avant de poster: Lire La FAQ Mac; Voir la page Outils; Voir les tutoriels. |
![]() |
|
|
Outils de la discussion |
|
|
#31 (permalink) |
|
Membre éclairé
![]() |
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
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. |
|
|
|
|
|
#32 (permalink) | |
![]() Date d'inscription: février 2003
Messages: 161
|
Citation:
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é). |
|
|
|
|
|
|
#33 (permalink) |
|
Membre éclairé
![]() |
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 ! |
|
|
|
|
|
#35 (permalink) | |
|
Membre éclairé
![]() |
Citation:
Je trouve que les @interface @end et @implementation @end sont plus explicites que les class {}; et MaClasse::methode(). |
|
|
|
|
|
|
#36 (permalink) |
|
Provisoirement toléré(e)
Date d'inscription: juillet 2005
Localisation: Ailleurs
Âge: 44
Messages: 1 984
|
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. |
|
|
|
|
|
#37 (permalink) |
|
Membre éclairé
![]() |
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.
|
|
|
|
|
|
#38 (permalink) | |
|
Provisoirement toléré(e)
Date d'inscription: juillet 2005
Localisation: Ailleurs
Âge: 44
Messages: 1 984
|
Citation:
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. |
|
|
|
|
|
|
#39 (permalink) |
|
Membre Expert
![]() Date d'inscription: juin 2006
Localisation: devant mon ordi
Âge: 34
Messages: 1 073
|
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). |
|
|
|
|
|
#40 (permalink) |
|
Membre éclairé
![]() |
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... |
|
|
|
|
|
#41 (permalink) |
|
Membre Expert
![]() Date d'inscription: juin 2006
Localisation: devant mon ordi
Âge: 34
Messages: 1 073
|
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. |
|
|
|
|
|
#42 (permalink) |
|
Membre éclairé
![]() |
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. |
|
|
|
|
|
#43 (permalink) |
|
Membre Expert
![]() Date d'inscription: juin 2006
Localisation: devant mon ordi
Âge: 34
Messages: 1 073
|
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 ? |
|
|
|
|
|
#44 (permalink) | |
|
Provisoirement toléré(e)
Date d'inscription: juillet 2005
Localisation: Ailleurs
Âge: 44
Messages: 1 984
|
Citation:
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. |
|
|
|
|
|
|
#45 (permalink) | |
|
Provisoirement toléré(e)
Date d'inscription: juillet 2005
Localisation: Ailleurs
Âge: 44
Messages: 1 984
|
Citation:
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. |
|
|
|
|
|
![]() |
![]() |
||
Quel langage choisir pour Mac ? Java , C#/Mono, Ruby, Pascal ? Python ?
|
||
| Outils de la discussion | |
|
|