Bah, moi non plus je n'ai pas connu les NeXT à leur époque (je bavais juste un peu sur les articles qui en parlaient dans STMag) :-P
Pourquoi ObjectiveC n'a pas eu plus de succès que le C++ ? je pense qu'il y a plusieurs raisons : D'abord, il y avait très peu de compilateurs disponibles, et en plus parfois incompatibles entre eux. Et de toute façon, à part le NeXT peu de gens l'utilisaient. En plus, il est inspiré de la syntaxe smalltalk, les premières minutes on cherche à comprendre ce que ça peut bien vouloir dire...
En fait, c'est très très simple à programmer, je pense qu'un programmeur C au courant des notions de base de la POO (polymorphisme, héritage) en a pour quelques heures pour se retrouver à l'aise et comprendre les principaux concepts (création d'objets, garbage collector, etc).
Il y a très peu de mots clés en plus du C ANSI (à la différence de C++, qui en rajoute un sacré paquet). Comme C++, ObjectiveC est un sur-ensemble du C, donc on peut très bien réutiliser des libs C en ObjectiveC (je crois me souvenir qu'il y a un wrapper Gnome pour ObjectiveC d'ailleurs).
Quand aux signaux sous ObjectiveC par rapport à la programmation GTK ou Qt, il faut savoir qu'au lieu d'être un cas particulier (une bidouille même), sous ObjectiveC tout est message : les "appels de fonctions" sur des objets sont en fait des messages passés à des objets. Si un objet ne sait pas répondre au message, il peut faire remonter le message vers un objet qui saurait y répondre.
De la même façon, on peut demander à l'objet de quel type est-il, etc. Bref, du bel objet, ça, madame :-)
Ah oui, pour ceux qui seraient réfractaires à ObjectiveC (ya pas de quoi pourtant), GNUStep est programmable en Java (comme MacOSX en fait).
[^] # Re: GNUStep un réel plus ?
Posté par Nicolas Roard . En réponse à la dépêche Simplement GNUstep. Évalué à 10.
Pourquoi ObjectiveC n'a pas eu plus de succès que le C++ ? je pense qu'il y a plusieurs raisons : D'abord, il y avait très peu de compilateurs disponibles, et en plus parfois incompatibles entre eux. Et de toute façon, à part le NeXT peu de gens l'utilisaient. En plus, il est inspiré de la syntaxe smalltalk, les premières minutes on cherche à comprendre ce que ça peut bien vouloir dire...
En fait, c'est très très simple à programmer, je pense qu'un programmeur C au courant des notions de base de la POO (polymorphisme, héritage) en a pour quelques heures pour se retrouver à l'aise et comprendre les principaux concepts (création d'objets, garbage collector, etc).
Il y a très peu de mots clés en plus du C ANSI (à la différence de C++, qui en rajoute un sacré paquet). Comme C++, ObjectiveC est un sur-ensemble du C, donc on peut très bien réutiliser des libs C en ObjectiveC (je crois me souvenir qu'il y a un wrapper Gnome pour ObjectiveC d'ailleurs).
Quand aux signaux sous ObjectiveC par rapport à la programmation GTK ou Qt, il faut savoir qu'au lieu d'être un cas particulier (une bidouille même), sous ObjectiveC tout est message : les "appels de fonctions" sur des objets sont en fait des messages passés à des objets. Si un objet ne sait pas répondre au message, il peut faire remonter le message vers un objet qui saurait y répondre.
De la même façon, on peut demander à l'objet de quel type est-il, etc. Bref, du bel objet, ça, madame :-)
Ah oui, pour ceux qui seraient réfractaires à ObjectiveC (ya pas de quoi pourtant), GNUStep est programmable en Java (comme MacOSX en fait).
quelques liens sur la programmation ObjectiveC :
http://www-igm.univ-mlv.fr/~dr/COURS/ObjectiveC/(...)
http://www.toodarkpark.org/computers/programs/objc.html(...)
http://www.stepwise.com/Articles/Technical/2001-03-11.01.html(...)