CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Message aux programmeurs C de ce forum

DasHuhn
DasHuhn
Niveau 10
18 octobre 2003 à 11:33:34

Est-ce qu´il serait possible de se retrouver sur MSN, AIM ou IRC de temps en temps pour former des projets, par exemple ?

szamcha
szamcha
Niveau 10
18 octobre 2003 à 13:22:39

Si je participe un jour à un projet de programmation ce sera en Cocoa/objective C. Encore faut-il que je trouve le temps pour cela :)

DasHuhn
DasHuhn
Niveau 10
18 octobre 2003 à 13:47:12

Justement j´attaque Cocoa dès que quelqu´un aura pu m´aider à finir le programme que je suis en train de faire ( il se compile, se lance, reçoit une connection et plante. Pas malin pour un serveur)

kitetrip
kitetrip
Niveau 10
18 octobre 2003 à 13:51:06

Moi j´aimerais bien avoir un copilateur Windows pour Mac ( c´est à dire programme sur Mac puis compiler en . exe pour Windows...).
Vous en avez pas un ?

DasHuhn
DasHuhn
Niveau 10
18 octobre 2003 à 14:38:41

Apprends plutôt Java comme ça t´auras même pas à t´embêter avec la plate-forme...

JoKer_forever
JoKer_forever
Niveau 10
26 octobre 2003 à 11:18:46

Ah ! Je viens de voir ce sujet... Commençons par des questions cons.

C´est quoi la différence entre le C, le C++, l´objective C ou Cocoa ?
Je sais que Cocoa est l´environnement de programmation de Mac OS X. Mais en quoi le C est moins bon ?

Merci !

Mac-Artist
Mac-Artist
Niveau 10
26 octobre 2003 à 16:17:46

Je vais essayer de te répondre... En espérant ne pas me planter.

Le langage C a été créé par Dennis Ritchie en 1972 dans les laboratoires Bell et fait suite aux langages ALGOL 60(1960), Cambridge´s CPL(1963), BPCL(développé par Martin Richards en 1967), et enfin, le B Language, créé par Ken Thompson, tous aux Bell Labs... Le C a été le langage de création de UNIX. C´est ce qu´on appelle en anglais: a " General purpose Language", un langage universel, puisque fonctionnel sur toute plateforme, en fonction du compilateur. Ces derniers étant créés pour les plateformes. Tu ne compileras pas pour Mac avec Borland pour Windows, par contre, tu pourras compiler pour Windows avec CodeWarrior, qui inclut les compilateurs Mac, DOS, Windows, BeOS, OS2 Warp, et, recemment, UNIX et Linux, d´où son prix...
Ritchie a travaillé son langage sur les machines DEC PDP-11, puis les compilateurs ont inclus les machines comme l´IBM System/370, l´Honeywell 6000 ou l´Interdata 8/32.
C´est un langage simple, appelé: " Low Level", bas-niveau, puisqu´exploitable sur toute plateforme. C´est un langage basé sur les commandes(cf DOS)
Le C++ a été développé par Bjarne Stroustrup en 1979, également aux Bell Labs, comme le C. Au départ on l´avait nommé " C with classes". En 1983, il a pris la dénomination de C++. La différence avec le C est que le C++ est un langage orienté objets, c´est à dire qu´il gère les interfaces graphiques et ce que l´on appelle en anglais: " the events", les évènements; j´explique: le clic de souris, le déplacement d´une icône sur le bureau, le menu déroulant sont des events, ou évènements. Le langage PASCAL a été pionnier en la matière puisque les versions de Mac OS, depuis la première avec interface graphique, de 1984 jusqu´à Mac OS 8.6, avec la ROM fixe sur la carte mère des Macs, jusqu´au premiers G3 beiges, est écrite en PASCAL. Apple a appelé cela la ToolBox, et, lorsqu´on développait un programme, un jeu, un utilitaire ou un petit bidule inutile mais amusant, on se référait à la TollBox, pour y puiser le code source et les routines, afin de réaliser correctement l´interface du projet. Si tu arrives à trouver " Inside Macintosh" tu y verras un chapitre consacré à cette ToolBox.
Le C++ a servi à moderniser les interfaces graphiques. Le langage " Objective C" est la suite logique du C++, il ne sont d´ailleurs pas très éloignés l´un de l´autre. Certains nouveaux développeurs ne jurent que par l´objective C, d´autres le rejettent et continuent à travailler en C++, d´autres irréductibles dévloppeurs sur Mac resistent encore et toujours en utilisant le PASCAL.
Cocoa est effectivement apparu avec Mac OS X, mais il ne sert qu´à actualiser le code ancien et à l´adapter au nouvel OS. Les outils de développement pour OS X sont fournis par Apple aux pros et tu en trouves une partie sur le 3e CD, livré avec Jaguar. Là, je ne m´aventure plus parce que je ne connais pas...

JoKer_forever
JoKer_forever
Niveau 10
26 octobre 2003 à 16:25:40

Merci, ça m´aide déjà beaucoup !
Donc si je veux développer pour Mac je peux faire sans problème du C++ ou de l´objective C. Es ce qu´il faut savoir le C pour faire du C++ ?

Mac-Artist
Mac-Artist
Niveau 10
26 octobre 2003 à 18:55:04

C´est indispensable!!!
Même si certains développeurs te disent que c´est inutile, il faut connaître le C car c´est la base de tout ce qui a suivi.
Quelque soit le langage choisi, même si tu " t´égares" du côté de COBOL ou Fortran pour les programmes résolument scientifiques, une solide bas C est nécessaire.
Je te conseille de te trouver la bible u C:
The C Programming Language
écrit par Dennis Ritchie, le père du C, et Brian Kernighan. C´est en anglais et c´est ardu, mais ce bouquin doit se trouver sur ton bureau quand tu programmes.
Pour le C++, je te conseille l´ouvrage de référence:
The C++ Programmig Language, écrit par Bjarne Stroustrup lui-même.
Si tu veux d´autres titres, n´hésite pas à me demander. J´ai une vingtaine de bouquins sur le sujet... Je te donnerai les références et les nº ISBN.

szamcha
szamcha
Niveau 10
26 octobre 2003 à 19:58:26

bon, j´vais répondre à tout ça quand j´aurais le temps, je pense avoir pas mal de rectification ou d´avis personnels à donner :) J´espère demain matin, ou mardi soir au pire.

Mac-Artist
Mac-Artist
Niveau 10
26 octobre 2003 à 23:20:12

Rectifications???
Alors j´ai du dire des bêtises dans tout le fatras que j´ai posté, mais comme je suis un self-made-man, j´aime à croire que szamcha me pardonnera...

:-)))

DasHuhn
DasHuhn
Niveau 10
27 octobre 2003 à 10:17:04

C, C++ et je crois Objective-C permettent de gérer directement la mémoire de ton ordinateur, en clair tu peux ( si tu fais mal un programme) effacer des données importantes en RAM ( et faire crasher ton système). Je sais pas si il est très sage de commencer par eux ( moi je l´ai fait, j´aurai mieux fait d´apprendre Lisp).

Le point fort c´est la rapidité ( quoique C++ est vraiment trop lourd pour des petites machines) et le fait que les bugs ajoutés à la compilation seront moins fréquents qu´en, par exemple, Scheme.

szamcha
szamcha
Niveau 10
28 octobre 2003 à 09:51:05

Bon le côté historique je suppose qu´il est documenté, je vais pas y toucher :)
Je vous ai juste fait une petite page web pour voir un historique des langages informatiques existants ou ayant existés : http://homepage.mac.com/aimlin/langages_informatiques.html .
Je vais essayé d´apporter ce que je connais ( c´est évidemment sujet à discussion).
------------------------------------
" La différence avec le C est que le C++ est un langage orienté objets, c´est à dire qu´il gère les interfaces graphiques et ce que l´on appelle en anglais: "  the events", les évènements; j´explique: le clic de souris, le déplacement d´une icône sur le bureau, le menu déroulant sont des events, ou évènements."
---------
effectivement le C++ est un langage orienté objet ( vous noterez bien que ce n´est pas un langage objet mais juste " orienté" objet au contraire de l´objective C ou encore du Smalltalk. Le fait qu´un langage soit objet n´a pas grand chose à voir avec les interfaces graphiques.
Définition de l´excellent dictionnaire http://www.dicofr.com :
Mode de programmation dans lequel le programme n´est plus la traduction en langage informatique d´un algorithme, mais la modélisation des entités du monde réel ou d´entités logiques par des objets s´échangeant des services par messages.
Tu as sans doute confondu avec le mot clé " interface" du vieux pascal ( avant le pascal objet et Delphi) qui indique à un programme quelles procédures il a le droit d´appeller dans un sous-programmes ( ou module).
Ils font par contre tous partie des langages " procéduraux". Là on pourra citer les langages " logiques" ( Prolog) ou les langages " fonctionnels" ( Lisp)
------------------------------------
" Le langage PASCAL a été pionnier en la matière puisque les versions de Mac OS, depuis la première avec interface graphique, de 1984 jusqu´à Mac OS 8.6, avec la ROM fixe sur la carte mère des Macs, jusqu´au premiers G3 beiges, est écrite en PASCAL."
------
Benh oui, mais justement ce pascal là n´est pas du tout objet à ma connaissance.
---------------------------------
" Le C++ a servi à moderniser les interfaces graphiques. Le langage "  Objective C" est la suite logique du C++, il ne sont d´ailleurs pas très éloignés l´un de l´autre. Certains nouveaux développeurs ne jurent que par l´objective C, d´autres le rejettent et continuent à travailler en C++, d´autres irréductibles dévloppeurs sur Mac resistent encore et toujours en utilisant le PASCAL. "
L´objective C lui est basé sur la même syntaxe ( et a été étendu) que le C, mais n´a pas grand chose à voir avec le C++. C´est notamment un langage complètement objet. On peut faire énormément de choses plus ou moins sioux sur les classes d´objets qu´on ne pourra jamais faire avec du C++. Cela facilite la tache des programmeur à condition qu´il ne fasse pas n´importe quoi. La liberté c´est bien, mais c´est souvent la liberté de faire n´importe quoi et de ne pas s´en sortir.
Pour Cocoa c´est effectivement une toolbox comme celles dont tu as parlé, mais elle sert à plein d´autres choses que l´interface graphique, en gros tout ce qui permet de dialoguer avec le système et les drivers matériels sans que les développeurs aient à réinventer la roue à chaque fois.
------------------------------
" Même si certains développeurs te disent que c´est inutile, il faut connaître le C car c´est la base de tout ce qui a suivi."
---------
argh.. non non et non !
La syntaxe du C fait partie du C++ ou de l´objective C, mais on peut très bien apprendre directement le C++ ou l´objective C. ça ne pose aucun problème et surtout on prend tout de suite de BONNES habitudes de programmation surtout avec l´objective, parce qu´en C++ on peut aussi faire n´importe quoi.
--------------------------
C, C++ et je crois Objective-C permettent de gérer directement la mémoire de ton ordinateur, en clair tu peux (  si tu fais mal un programme) effacer des données importantes en RAM (  et faire crasher ton système). Je sais pas si il est très sage de commencer par eux (  moi je l´ai fait, j´aurai mieux fait d´ap
------
oui si on veut ( l´objective C je crois pas par contre à moins que les compilateurs accepte les instruction C qui correspondent par soucis de compatibilité ascendante). Par contre non, tu ne feras pas crasher ton système aussi facilement, c´est justement l´avantage des SE modernes comme MacOSX, il vérifie que les programmes ne font pas n´importe quoi n´importe où. Ceci n´est bien sûr valable que dans des environnements protégés. Le point sensible de MacOSX c´est les drivers matériels qui ne passent ni par Cocoa ni par Carbon ni par Classic. Comme les drivers de mon modem USB qui ne supportent pas très bien la mise en veille et la sortie de veille... grumpf.
---------------------------------
" Le point fort c´est la rapidité (  quoique C++ est vraiment trop lourd pour des petites machines) et le fait que les bugs ajoutés à la compilation seront moins fréquents qu´en, par exemple, Scheme"
------------
Les compilateurs C en général sont effectivemetn très efficaces, ils génèrent du code machine très rapide à l´éxécution suivant l´optimisation. Les erreurs de compilation ça évite au moins que ton programme plante ou ne fasse pas ce qu´il faut sans que tu saches pourquoi et avant de l´éxécuter et de foutre en l´air tes fichiers ou ta machine :)
Maintenant les outils de développement ( Xcode ou Eclipse) permettent de compiler le code à la volée avant de lancer la compilation. CEla permet de corriger les erreurs betes tout de suite. Ils permettent aussi la compilation " à chaud" pour pouvoir débugger un programme, trouver les erreurs, les corriger, continuer l´éxécution de contrôle sans avoir à recommencer au début la phase de " Ecriture/Compilation/Execution".
----------------------------
Pour répondre à Joker.
La toolbox Cocoa s´appeler en Objective C mais Apple aurait très bien pu développer ça en autre chose. C´est surtout que les développeurs de Next ont toujours utilisé ça et qu´effectivment ça a de nombreux avantages de concepts objets que n´ont pas les autres langages orientés objet comme C++ ou Java.
Par exemple toute la toolbox de Webobject peut -etre appelée en Objective C ou en Java ( ou presque). Initialement c´était de l´Objective X mais ils ont développer un interface Java un peu moins performante mais qui va attirer plus de développeur parce que c´est le langage commun à quasiment toutes les serveurs d´application web et c´est plus un standard qu´objective C. Du coup ils pensent que tous ces développeurs intéressés permettront un meilleur développement du truc. Et oui, l´informatique c´est souvent rien que de la politique.

italien4
italien4
Niveau 6
28 octobre 2003 à 12:27:20

dashune passe moi ton adresse msn on pourra parler mac et linux

Mac-Artist
Mac-Artist
Niveau 10
28 octobre 2003 à 15:19:43

Merci pour les éclaircissements que tu viens d´apporter, szamcha. Merci aussi pour les rectifications...

DasHuhn
DasHuhn
Niveau 10
29 octobre 2003 à 10:12:45

Merci aux deux Dieus ( ça prend un " s" ou pas ? ) de ce forum pour le savoir qu´ils nous apportent ^^

Italien4> Va plutôt causer avec Mac-Artist et Szamcha, ils en savent 1000 fois plus que moi ( si ce n´est plus)

Szamcha>"Et oui, l´informatique c´est souvent rien que de la politique." -> un seul exemple suffit : SCO

italien4
italien4
Niveau 6
29 octobre 2003 à 15:18:40

ouai mais toi mon age

DasHuhn
DasHuhn
Niveau 10
29 octobre 2003 à 16:41:34

dashuhn2@msn.com

JoKer_forever
JoKer_forever
Niveau 10
30 octobre 2003 à 11:41:26

Bon... Je commence à mis retourvé dans cette jungle !

Alors. Me voilà. Etudiant ( encore pour deux jour), avec Mac OS X.3 ( et Xcode).
J´aimerais developper des petits ( et des gros ? ) programme. C´est juste pour testé au début.
Les programmes doivent tourner sur Mac OS X, ils doivent avoir une interface graphique conviviale ( c´est pas que j´aime pas les lignes de commande, DasHuhn, mais j´aime mieux la souris ; o) et c´est a peu près tous.

Je dois me mettre à quel langage ?

Les seules que j´ai touché c´est un peu d´AppleScript ( lent et limité) et de l´assembleur ( ultra-pas-convivial).

Alors ? C, C++, Objective C ?
Les difficultés ne me font pas peur. Mais j´aimerais un langage performant, et tourné vers l´avenir d´Apple ( je ne compte pas programmer pour windows).

Merci pour toutes vos réponses ! ; o)

Mac-Artist
Mac-Artist
Niveau 10
30 octobre 2003 à 11:51:17

Suis les conseils de szamcha: objective C...

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware