OVH Cloud OVH Cloud

[obj-C]

15 réponses
Avatar
anaxagore
Bonjour,
je débute dans la progr C.
Mais j'ai trouvé des allusion à l'objective C.
Malheureusement, le groupe de news n'existe pas en français.
Qqn peut-il me donner son opinion sur sa pratique de ce langage, et,si
possible, une url de doc <feignant!>en français</feignant!et alors?>
Merci.

5 réponses

1 2
Avatar
Gabriel Dos Reis
Bruno Desthuilliers writes:

| > | | La différence est que le compilateur Objective C et les
| > librairies
| > | GNUStep étant sous GPL, je peux développer des logiciels en
| > | Objective-C
| > | pour une autre plateforme que MacOS, et sans utiliser d'outils Apple,
| > | que je peux utiliser des implémentations de l'API OpenStep sur
| > | d'autres plateformes que MacOS sans devoir utiliser de produits Apple
| > | ou payer de licence à Apple, et que je peux même utiliser le langage
| > | Objective-C
| > | indépendament de l'API OpenStep.
| > Mais cela n'a rien à avoir avec le fait que Objective C soit la
| > propriété de Apple ou non.
|
| Je répondais à la question "quelle différence pratique cela fait ?",
| et dans la pratique, l'existence d'une implémentation libre d'un
| langage me semble faire une grande différence, par rapport à la notion
| de langage 'propriétaire' à la VB.

Cela n'était pas le sujet de dicsussion qui a amené on commentaire.
Voici ce de quoi il s'agit

# > C'est un langage d'Apple (anciennement un langage NextStep).
#
# Objective C n'appartient pas à Apple. PCQJS, il n'appartient à
# personne... A preuve, gcc a un compilo Objective C.

Le fait de disposer d'une implémentation alternative n'implique en
rien le fait que le langage ne soit pas la propriété d'une société
donnée.
PostScript dispose d'implémentations alternatives. Il reste néanmoins
la propriété de Adobe System.

-- Gaby
Avatar
Bruno Desthuilliers
anaxagore wrote:
Merci, je n'ai pas de Mac, mais je profiterai du lien pour l'anglais!


Et voilà... C'est pour ça que je réagissais à la réponse de Richard.

Bon, rappel des titres pour l'OP : Objective C est disponible, dans une
implémentation libre, pour d'autres plateformes que MacOS. Et le langage
est utilisable indépendemment de l'API OpenStep.

Bruno

Avatar
Niko
Bruno Desthuilliers wrote/ecrivait:
Richard Delorme wrote:

C'est vrai que Objective C est très lié à l'API OpenStep, mais le

langage est utilisable en dehors de toute API. Ce serait comme
restreindre le C à la programmation unix.

En matière d'extension objet, il offre l'intérêt d'être un langage bien
plus simple, souple et dynamique que C++.

En fait, et pour résumer, c'est du C ansi avec par dessus une extension
objet calquée sur Smalltalk (même syntaxe, et globalement même modèle
objet). On a donc le paradoxe d'avoir un langage objet de haut niveau
directement construit sur et intégrant un langage procédural de bas niveau.


Il comporte moins de fonctionnalités que C++*, mais c'est un langage très
élégant et agréable à utiliser, même sans les environnements *Step.

Pour les API, c'est basiquement du C. À la compilation, les messages
objets/classes etc. sont converties en C, et les méthodes, tu les écrits en C
donc tu peux utiliser les mêmes bibliothèques que pour le C - sans limitations.

En revanche, je n'ai jamais bien compris comment se passait le débuggage, à
une époque, il y avait un patch pour gdb, mais ça n'a àmc jamais été intégré à
la version courante de gdb - et c'est fort dommage.

Il existe aussi un compilateur spécifique pour l'objective C qui s'appelle POC
(cf. google)


Avatar
Gabriel Dos Reis
Niko writes:

| > En fait, et pour résumer, c'est du C ansi avec par dessus une extension
| > objet calquée sur Smalltalk (même syntaxe, et globalement même modèle
| > objet). On a donc le paradoxe d'avoir un langage objet de haut niveau
| > directement construit sur et intégrant un langage procédural de bas niveau.
|
| Il comporte moins de fonctionnalités que C++*,

alors tu aimeras Objective C++ (de Apple bien sûr).

-- Gaby
Avatar
Laurent Deniau
Bruno Desthuilliers wrote:
anaxagore wrote:

Merci, je n'ai pas de Mac, mais je profiterai du lien pour l'anglais!



Et voilà... C'est pour ça que je réagissais à la réponse de Richard.

Bon, rappel des titres pour l'OP : Objective C est disponible, dans une
implémentation libre, pour d'autres plateformes que MacOS. Et le langage
est utilisable indépendemment de l'API OpenStep.


On peut ajouter que les messages sont en general tres lent (ex: gcc) et qu'il
faut tres bien connaitre et le C et Objective-C pour ne pas introduire des UB
malgre soi.

a+, ld.

--
[ Laurent Deniau -- Scientific Computing & Data Analysis ]
[ CERN -- European Center for Nuclear Research ]
[ - http://cern.ch/Laurent.Deniau ]
[ -- One becomes old when dreams become regrets -- ]


1 2