Bonjour à tous.
Quand j'avais dix ans, mon papa m'a acheté un phillips VG5000. Dessus, je programmais en basic des softs pour pirater les machines du pentagone. Mais finalement, j'ai plus eu trop le temps avec l'école et tout et puis le FBI est venu tabasser ma mamie alors bon.
Du coup, à présent, mes connaissance en langages - quels qu'ils soient - sont nulles.
Et pourtant, je voudrais apprendre à créer des applis sur OSX. Des trucs faciles d'abord; ex: une joli interface pour convertir les centimètres en millimètres, un soft qui me rappelle l'âge que j'avais l'année dernière, un autre qui me sorte tous les termes commençant par un T de mes disques durs, etc
Et puis après, en fait, je vais pas vous le cacher, je voudrais me lancer dans un jeu. Un RPG pas à pas, à l'ancienne.
Il paraît que des outils sont gratuits chez apple? Que dois-je faire? Comment dois-je apprendre (en partant de zéro absolu)? Il y a-t-il des bouquins qui s'adressent à des débiles? Le Cocoa pour les tarés?
En espérant que vous n'avez pas déjà été obligés de répondre un milliard de fois à ce genre de post et en vous demandant, SVP, d'utiliser le moins possible de termes techniques dans vos réponses.
Merci.
Et rappelez-vous: la vulgarisation du savoir est la plus belle chose sur terre, même si ça a fait perdre ses cheveux à Hubert Reeves. Et puis bon, l'autre jour, j'étais à Toronto, je me suis emplâtré un muffin aux myrtilles et j'ai dit à l'autre avec sa casquette: "Oh my, this is probably the most beautiful thing on earth". Mais quand même, la vulgarisation, ça déchire.
Bisous à Michel (pour ceux qui connaissent des Michel)
Salut,
Tu peux obtenir les outils (ceux de Déc 02 mais bientôt XCode...) sur connect.apple.com (inscription gratos)
je te conseil Cocoa par la pratique
http://www.amazon.fr/exec/obidos/ASIN/2212112327/402-5091568-8909717 avec éventuellement d'autres bouquins pour le C/C++
Merci beaucoup, je viens de commander le bouquin. Ils en proposent d'autres, d'ailleurs.
Je l'aurai après-demain.
À propos des outils, est-ce que le nouveau truc qui va arriver va changer beaucoup de choses?
En tout cas merci encore.
si tu n'as pas le temps d'attendre le bouquin, j'ai essayé d'expliquer comment on démarre une application en cocoa + C à http://www.cocoa.mac-fan.com
C'est la création d'un programme te donnant la racine carrée du nombre que tu entres.
Bonne programmation et bienvenue parmis nous
Allez, j'y vais et je me lance.
Si je chope mal au crâne, je reviens vous le dire.
Merci.
Excellent bravo j'adore ton style Alman... mon oeil a été attiré par VG5000, j'hallucine de voir parler de ça ici (car oui j'en ai eu un aussi étant plus jeune, sauf que je comprenais rien au basic à l'époque, je m'y suis mis après, sur un... PC... oui, je sais, la honte... dire que mon père déchirait à pacman là-dessus... bref...).
Par hasard, t'as jamais vu le jeu Columbia sur le VG5000 ? Ce serait trop fort. Et ce serait trop fort aussi que son programmeur fasse une recherche sur google et tombe ici 8) (Salut Phil).
Mais je m'éloigne : vous parlez d'XCode... D'après vous, c'est quoi ce machin-chose "ZeroLink" ? J'comprends pas, normalement on code, on compile, euh en général on recode , on recompile, et on linke... J'ai suivi la keynote en juin, là, et j'ai pas compris...
Non, Columbia, je m'en souviens pas. Par contre, il y avait un jeu de bagnoles ou on arrivait a Denver par temps de neige.
Grand souvenir.
Dites les Zizis, je viens de recevoir mon bouquin sur Cocoa: pas le peine de se leurrer, c'est pas encore pour moi.
Je vous rappelle que je suis un over nul de chez nulos & co et je ne sais RIEN programmer. Du coup, en lisant, je vois que le langage le plus approprié parmi ceux acceptés par l'éditeur est sans doute l'Objective-C - arrêtez-moi si je me goure - plutôt que le Java ou le C++. Du coup, j'ai lu de ci de là que pour apprendre l'Obj-C, il valait mieux se farcir des cours de C plutôt que de C++, parce que c'est hyper mieux dans la vie. Si j'ai bien compris, je me tape du C, et une fois que je suis un Caïd, j'enquille sur le PDF d'apple qui parle de l'Obj-C (et qui dit qu'il faut pas le lire si on programme pas en C) et après eulement, le bouquin sur Cocoa.
Voilà ce qu'il me semble avoir compris, dites-moi si j'ai faux.
Du coup, ça m'amène à une autre paire de questions:
quelle est la meilleure façon d'apprendre le C en partant de zéro comme un gros naze?
comment que je fais pour faire mes petits exercices en C sur le mac? Avec les outils de dev? ou il faut que je trouve un editeur/compileur de C pour mac?
Merci d'avance.
PS: Quand je disais nul, c'était pas pour faire un effet de manche, je suis NUL.
Si tu veux apprendre à programmer, commence peut-être par AppleScript..
Eventuellement du Basic, ou mieux du Java..
Pour XCode, le ZeroLink permet de modifier ton source pendant que tu débugges..
Normalement tu doit quitter le debuggeur et le programme que tu débogge, faire la modif, regerener l'appli, relancer le debugger et retourner dans la fonction qui plante..
Mais le basic, j'en avais fait un peu mais c'est du linéaire, non? Est-ce que ça va me servir pour cocoa? Il ne vaudrait pas mieux se diriger vers l'Obj-C?
Pour XCode, le ZeroLink permet de modifier ton source pendant que tu débugges..
Mots inconnus: XCode, Zerolink, source, débugges
Si vous perdez patience, laissez tomber, je me mets à votre place, c'est pas de la tarte.
Pour le C, commencer par le bouquin de Brian W. Kernighan et Denis M. Richtie, les créateurs du langage... Le bouquin s'appelle "Le langage C" :wink:
Une fois que t'es un boss en C, goto obj-C et cocoa, je te conseille les tutoriaux de projectomega, tout en français (en fait, c'est des traductions) : http://www.projectomega.net/subcat.php?lg=fr&php=oreilly_cocoa
Et le fameux débat prend son envol !!!
tu apprends le C, très bien, super, mais je trouve que de mettre une belle interface, c'est tout aussi bien parce que les input etc du C, on n'en a pas besoin en cocoa+C, par contre, la gestion des fichiers, des chaines de caractères, et des pointeurs (notion et utilisation) ça, c'est incontournable. Donc je persiste à dire qu'il ne faut pas perdre son temps à ne faire que du C, mais de démarrer aussi avec l'interface, ce qui apporte une plus grande facilité de gestion (c'est aussi plus joli à l'oeil)
Bien sûr, mais aussi, il faut avouer que apprendre tout le C ne peut pas faire de tort... Même les input (scanf d'ailleurs) et cie peuvent servir pour dégugger des sources externes... Et dans le monde opensource, les gens programment en C / C++, pas en Obj-C :non:
Dans beaucoup de tutoriaux Obj-C, cocoa, ils disent en gros "si vous ne connaissez pas le C, passez votre chemin", et c'est vrai que la "culture C" est assez importante pour comprendre les classes, méthodes et autres trucs agréables (avoir fait du C++, c'est encore mieux d'ailleurs pour tout ça)...
Sinon, le C en lui même (hors librairie standard) est un langage assez mince, et rapide à apprendre ... (structure d'un programme, I/O, expressions, Opérateurs, instructions de contrôle, tableaux, structures, typedef / enum, les différentes sortes de variables, préprocesseur, les pointeurs (très important), les fonctions, et la gestion des fichiers...) Même en partant de 0, ça ne prend pas des années...
J'adore, on se croirait chez Michel Polac. Dans deux secondes, il y en a un qui va jeter son verre de vin à travers le studio.
En tant que nul, je voudrais bien savoir ce qu'est cette interface dont nektarfl parle et qui me dispenserait de me farcir "tout" le C. Que rentrer dans cette interface, sinon du C? Ne risque-je pas d'être perdu si je ne connais pas de notion de programmation "classique"?
Comme dirait schlum, à chaque fois que je suis tombé sur un pdf obj-C, dans les deux premiers paragraphes, il est noté que sans avoir à peu près acquis le C, on ne peut pas avancer plus loin.
Ailleurs, j'ai lu que pour cocoa+obj-C, il vallait mieux apprendre le C que le C++ (ne comptez pas sur moi pour vous expliquer pourquoi).
Ailleurs encore, on m'a conseillé d'apprendre le Java à la place de tout le reste (paraît-il que les dev tools acceptent le java autant que le reste et que c'est un langage plus simple et dynamique??????)
Et ma question est la suivante: si je prends le bouquin des créateurs du C, avec quel editeur/debugger je fais mes essais sur OSX? (je viens d'employer des mots dont le sens m'echappe encore quelque peu
)
Bref, mettez-vous d'accord mais ne vous engueulez pas car vous savez tout comme moi qu'il faut manger dix fruits et légumes par jours sinon attention alors s'il-vous-plaît, si tous les enfants du monde pouvaient se donner la main pour une grande farandole autour de la terre, ils pourraient se faire passer des légumes frais autour de la terre et ce serait trop over grand.
Au fait, et l'Unix dans tout ça? On est pas censés être sur une plateforme Unix? C'est pas un langage, l'Unix? On peut pas programmer en Unix? Je suis vraiment si con que ça? (ne répondez pas à la dernière question)
Vain Dieu, ça y est ça commence à s'éclairer. Chapeau schlum. Mais pas tout à fait.
Le code que tu donnes, c'est pour le terminal, c'est ça? Il faut rentrer ça dedans avec les références du truc que tu as écrit en C pour le faire exécuter?
Qu'est-ce que tu penses de la proposition de nucleus? Applescript?
Bon bah allez, c'est parti mon kiki, en voiture Simone, en métro Chantal! Tu confirmes pour le bouquin des inventeurs du C? Il est bien et simple?
Juste pour que je sache, pas moyen de lancer le programme sans le terminal? Le gbd gdb chose chouette-là, c'est trop compliqué?
Sinon, merci à tous et surtout à toi de m'avoir accorder un peu de temps. Je vous enverrai ma première appli cocoa - je vous explique vite fait le projet, c'est un soft qui calcule automatiquement l'âge de ******zy par rapport à la date du mac.
Mon second, ce sera un soft qui répondra à la question suivant une base de possibilités: "Quel aurait été le métier de Philippe Risoli s'il avait eu un cerveau?"
A bientôt.
PS: vous m'avez pas dit pour l'Unix
pour unix, ce sont des instructions, pas un langage, quoique!!! on peut automatiser certaines actions, donc du coup, on se retrouve avec un langage. Je pense que le plus utile dans l'unix, c'est de connaître les instructions principales [ls-cd-man-rm-chmod-chown-...](enfin, les plus utiles pour une utilisation simple) et se dire qu'on plongera ensuite dedans pour des actions plus compliquées. (je suis en train d'automatiser une modification d'images (+ de 250) de manière automatique pour les transformer d'un format .jpg en RVB à 72 ppp avec une certaine taille vers un format .tiff en CMJN à 300ppp avec une taille moindre. A la main et sans les outils unix, j'en ai pour très longtemps, alors que la transformation dure environ 10s par image)
C'est vrai qu'il faut maitriser le C pour programmer, qu'on peut apprendre les bases, puis passer ensuite à l'interface quand on a compris.
le Java, la différence avec le C n'est pas très grande, quand on programme le C (plus rigoureux) on peut ensuite venir à programmer en java (plus simple pour les chaines de caractères).
dans les 2 langages, on retrouve beaucoup de similitudes (le ; à la fin de chaque ligne, le ! qui signale une négation, le == qui signale une égalité, jusqu'à certaines instructions qui la même syntaxe)
Vous êtes des boss.
Je vais m'acheter le C pour les nazes, ou le C sans ta mère, ou le C sans les mains en faisant des frites et je m'y colle, peinard.
Merci encore et à bientôt pour mes appels au secours.
Enigme du jour (celui qui y répond aura droit à un poëme de V. Hugo transmis dans son e-mail): Qu'il y a-t-il à la clé en Fa majeur?
Bon alors on va dire que c'est une énigme en trois parties.
question 2: quel est le ton relatif de si mineur?
Effectivement, ça me plairait d'avoir un soft un peu personnalisé qui me sorte les tessitures et les transpositions des instruments pour l'arrangement symphonique. Ça serait un classe raccourci.
:-? :-? Je dirais ré majeur pour le relatif majeur de si mineur
Arf, pour les soft de musique, c'est un travail colossal... À faire en équipe de préférence... :fou:
C'est pas vrai, ça, il est incollable!
Désolé, je suis obligé de passer le cran au dessus
question 3: Dans les fugues, à la manière de Bach, quel est le nom du contrepoint utilisé?
PS je parlais juste d'un soft d'affichage, une sorte d'aide-mémoire un peu agréable à utiliser
Arf, je sens le piège là... Je dirais le contrepoint double / rétrograde / renversable (il a plein de noms ce vilain), mais si c'est encore plus spécifique :-?
Si c'est juste un soft d'affichage, ça doit se faire en Cocoa... Moi je suis en plein apprentissage de, donc je te dirai ça quand j'en aurai fini des 35 tutoriaux de projectOmega, et la doc d'Apple (j'connais déjà le C++, donc ça avance bien... Mais parfois c'est assez space )
C'est le contrepoint fleuri. Mais t'as raison, je l'ai déjà vu appelé autrement dans des méthodes anglaises.
Je suis allé acheter "Le Langage C" de chez CampusPress/ 21 chapitres qui partent de zéro, ça m'a l'air abordable. (Peter Aitken & Bradley L. Jones)
Une fois que j'ai écrit mon code source (putain, ça y est, je suis un gros pro) sur un éditeur quelconque, je suis vraiment obligé de retourner dans le terminal pour chaque compilation (Wah, je cause comme Bill Gates)? Dans le builder, c'est pas un peu plus direct, des fois? Parce que, quand tu donnes une extension .C à un fichier sur OSX, il te l'ouvre avec Project Builder. Et puis t'arrives dans un truc où je suis un peu largué avec les menus mais bon
Arf, perdu alors... C'était plus spécifique
Tant pis... Pas de Victor Hugo :diable2:
Euh, je comprends pas trop... C'est pas compliqué de changer et recompiler le source : tu changes dans le fichier .c, tu retrouves ta fenêtre terminal, t'appuies sur la flèche "up" une ou deux fois, il te retrouve ta commande de compilation que t'as plus qu'a valider
ProjectBuilder, c'est vraiment lourd pour travailler sans interface :-? (mais bon, tu peux aussi )
La seule chose que je ne comprends pas, c'est la suite de déclarations qu'il te présente dans un projet vierge en C. Il y a des trucs que je ne retrouve pas dans mon bouquin, des include, des main
Bizarre
ça ?
Donc je laisse tout ce qu'il me propose?
Au fait, où est-ce qu'on apprend le terminal? Où tu as appris, toi? C'est quoi comme langage?
Je vois.
Vain Dieu, qu'est-ce que j'ai perdu comme temps au conservatoire!
En tout cas, je peux te dire que je suis pas à la fête avec mon bouquin! Le code C pur tel quel, et ben il y a des trucs qui marchent pas dans project builder.
Et même: Project Builder quitte inopinément très souvent
Je vais regarder si ça fait pareil avec le terminal.
MàJ: Tu sais quoi? Je crois que c'est %d qui marche pas
à chaque fois que j'en mets un (comme dans le bouquin), aveu pas marcher la bougresse!
Mais non, du temps pour la musique n'est jamais perdu :wink:
le %d marche pas ??!
euh, essaie ça :
Voilà le truc, dans le terminal, ça marche (sauf les accents dans les printf).
Mais dans Builder, ça quitte, ça plante et compagnie et je crois que c'est pas le %d, c'est tout simplement le scanf. En fait, j'ai jamais pu rentrer une valeur dans un truc compilé par builder. Tiens, regarde mon dernier soft trop classe: (je le copie du builder)
#include <stdio.h>
int x;
int main (int argc, const char * argv[]) {
printf("Entrez un chiffre dont la valeur chiffrale de tous les jours est 10 :");
scanf("%d", &x);
if (x==10)
printf("Vous avez tapé 10, ce qui prouve que vous avez un comportement quand même plutôt correct avec votre entourage proche. Merci.");
else
printf("Vous venez de taper %d, vous êtes donc un déglingué du cul et vous n'êtes même pas capable de rentrer 10 quand on vous demande de rentrer 10 alors vous non, vous êtes toujours plus malin que tout le monde!", x);
return 0;
}
Ben, ça fait quitter builder. T'y comprends kekchose, toi?
Tiens, j't'ai arrangé ça : http://membres.lycos.fr/cschlum/essai.c
Les accents passent avec un bon encodage ;-) (éditeur : emacs ou vim, enfin un éditeur UNIX quoi)
Pour PB, euhhh, je peux pas te dire, je l'utilise pour les projets Cocoa, c'est tout :wink:
Enfin je pense pas que beaucoup de programmeurs l'utilisent pour programmer en C... :-?
si ca marceh bien moi je trouve ca plutot pratqie car au moins on ades couleurs.
(perso chez moi ca compile nickel avec gcc 3.3)
Ça marche dans le terminal (pas les accents). J'ai pas encore vu où j'avais foiré mais bon.
Pas moyen de faire un scanf dans PB! Je sais pas ce qu'il se passe! Peut-être que j'ai encore fait une faute de frappe mais je crois pas. Je vais revérifier?
De toute façon, si j'ai bien tout compris, on n'a plus plus besoin de scanf dans cocoa. Ni de printf, d'ailleurs.
C'est vra! que c'est pas mal les couleurs dans PB, surtout pour débuter!
en cocoa tu peux remplacer ton printf par NSLog() a la rigueur, et pis pour le scanf, ben fait plutot un petit GUI, et pis tu recupere le tout en NSString avec un outlet
Ça y est, je saigne du nez.
oui c ce que je dis , bien que le printf marche.
Je vais me grouiller de finir mon bouquin de C pour tâter l'interface. D'autant qu'il y a un autre truc que j'ai pas encore abordé: au-delà de la compilation et de l'exécution sur PB ou dans le terminal, sortir une appli autonome depuis une source C, ça se fait de milliards de façon sur OSX, non? Tu peux en faire une appli Carbon, Cocoa et tout le tremblement?
Je te rappelle mon plan de carrière dans le domaine:
1 je finis le bouquin sur le straight C
2 j'enquille sur les tutoriaux apple sur l'Obj-C (ou l'autre site cité dans ce post)
3 je finis sur le bouquin Cocoa que j'ai fait venir de chez Amazon.
Si je me suis gourré de chemin, il est encore temps que tu me fasses bifurquer, je suis pas tellement avancé.
Nanan, très bon chemin
C'était juste pour dire que c'était pas la peine de devenir un expert en "printf" et "scanf" ou "getline", "get", "getchar" et cie ...
Bonjour,
Il n'y a que moi que ça tilter de lire qu'un gars (visiblement une pointure) à dix ans pirate le pentagone avec un vg5000 (qui a été subtilisé par le FBI en personne) et qui n'a plus, apres quelques années, l'esprit du hacker pour apprendre un langage de programmation ?
Apprendre en commençant par le C, c'est possible, mais il y a un fort risque de se dégoûter à jamais de la programmation avec ça. Il faut avoir le coeur vraiment bien accroché. Frustration garantie.
A la rigueur il vaut mieux commencer par le C++. C'est aussi un langage hardcore, mais quand même beaucoup moins grâce aux facilités qu'il offre. Il y a un très bon bouquin vraiment bien foutu, pour débutant (désolé, me souviens plus du nom) qui démarre avec les concepts C++, qui apprend d'abord les choses simples: strings, containers de la librairie standard C++ (STL), puis passe aux choses moins intuitives: pointeurs, arrays et compagnie.
Exemple, en C pour sortir du texte, on utilise l'infâme printf, sources de bugs en tout genre:
printf( "coucou %s, bienvenue en %s\n", year, name ); /* Affiche n'importe quoi, saurez vous trouver pourquoi ? */
En C++ :
cout << "coucou " << name << ", bienvenue en " << year << endl; // Marchera toujours.
Et je ne parle pas de la manipulation des strings en C, listes ou tables, de l'absence d'exception qui incite à avoir énormément de code dédié à la gestion d'erreur (d'horreur ?). Bon il existe des astuces mais je doute qu'un bouquin pour débutant n'en fasse même l'évocation. Bref, on ne programme pas du tout de la même façon en C et en C++, même si ces deux langages ont une base commune.
Sinon Javascript est sympa pour commencer à s'amuser un peu. Il suffit d'un éditeur de texte, d'un navigateur et on a déjà une GUI et de quoi faire des truc simples. Aussi le langage utilisé pour les jeux flash en est un dérivé. C'est à mon avis une piste à creuser, suivant l'envie. Il y a aussi tout un tas de langages plus friendly (python...)
trouve toi un emulateur mo5 t'auras du basic lineaire
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)