debutant cherche avec quoi se lancer

chnoub

Membre actif
26 Mars 2004
646
12
je me debrouillais au lycéed avec ma Ti89, ms depuis rien

vous me conseillez quoi pour debuter??
quel language? pourquoi? quel soft pour faire mon premier essai?



2eme quastion: je voudrais faire un ptit jeu idiot en partant d un jeu genre java avec un pistolet qui tire sur des tetes qui apparaissent, et en mettant les tronches de mes amis ;-)
y a moyen de faire ca genre "demo construction kit" qu on avait sure atari et amiga?
 
chnoub a dit:
je me debrouillais au lycéed avec ma Ti89, ms depuis rien
Moi aussi, j'avais même tenté de faire un Tétris...
wink.gif


<blockquote><font class="small"> chnoub:</font><hr />vous me conseillez quoi pour debuter??
quel language? pourquoi? quel soft pour faire mon premier essai?

[/QUOTE]
Sans hésitation Xcode + Interface Builder + Cocoa + ObjC.
Pourquoi? C'est très facile d'accès justement, gratuit et facile à installer.
king.gif


<blockquote><font class="small"> chnoub:</font><hr />2eme quastion: je voudrais faire un ptit jeu idiot en partant d un jeu genre java avec un pistolet qui tire sur des tetes qui apparaissent, et en mettant les tronches de mes amis ;-)
y a moyen de faire ca genre "demo construction kit" qu on avait sure atari et amiga?

[/QUOTE]
Connais pas "demo construction kit" mais ça doit être possible, mais essaies de te familiariser avec l'environnement Cocoa d'abord...
wink.gif

C'est pas forcément si évident que ça, tout dépend de la qualité du ptit jeu idiot...

Bon courage!
up.gif
 
Avant de te lancer il faut commencer par apprendre à programmer en langage C. C'est à mon avis le point de départ OBLIGE.
 
et pour le C y a quoi comme soft (gratuit please)
 
N'importe quoi !!! Bien sûr si tu veux programmer le noyau Linux ou Darwin, il faut que tu programmes en C, mais j'ai l'impression que tu veux plus faire dans l'applicatif, y compris graphique....donc il te faut un language objet. Bon moi je suis pour le multiplateforme ce qui n'est pas le cas de objecticv C/Cocoa, si tu veux passer tes programmes à tes copains sous Window$ ou Linux c'est quand mêm plus sympa que de leur demander d'acheter un Mac. Donc Java est très bien intégré à OS X et est multiplateforme (Java/Swing pour le GUI). Si tu veux faire un peux plus d'effort peut-être pour trouver la doc ou installer des packages non-standards si necessaire, Python est SUBLISSIME (je n'utilise plus que ça) et Ruby est aussi excellent (bien que moins répandue et pour l'instant moins riche en fonctionnalités d'extensions).
Allez Python Powa
laugh.gif
C'est le genre de choix qu'on regrette pas : pour coder le même chose tu mets à peut près 5 à 10 fois mon de code qu'en C ou Java, c'est e grand avantager des languages de haut-niveau.A bon entendeur...
 
Gallenza a dit:
N'importe quoi !!! Bien sûr si tu veux programmer le noyau Linux ou Darwin, il faut que tu programmes en C,

Je conseille la programmation en C c'est tout simplement parce que c'est par ce biais qu'on apprend mieux les ficelles de la programmation tout court sans pour cela se lancer dans le développement d'un noyau. D'ailleurs Java comme d'autres langages Python et autres utilise également une syntaxe à la C. Tout simplement parce que ces langages ont été développés sous Unix qui lui est écrit en C.
Il est nettement plus facile de passer du C à n'importe quel langage qu'il soit objet ou procédural.
 
Manu a dit:
D'ailleurs Java comme d'autres langages Python et autres utilise également une syntaxe à la C.
Je suis contraind de me répéter N'IMPORTE QUOI !!!! t'as JAMAIS dû programmer en Python pour dire que sa syntaxe s'inspire du C lol
La syntaxe du C est ignoble, mais si effectivement beaucoup de language s'en sont inspiré (effectivement Java et d'autres) ce n'est PAS parce qu'elle est bien, mais dans le but de pouvoir attirer facilement les gens qui programmaient déjà, et donc en C. C'est une aussi bonne raison que Windows Millénium avec des bout de DOS de 1981 dedans, ou les processeurs Pentium 4 32 bits binairement compatibles avec des 8080 8bits d'y a 30 ans !!! La syntaxe du C est à chier, et ce language n'apprend en aucun cas à bien programmer, mais plutot à programmer comme un porc...
 
Bonjour,

Je pense que l'on peut mal programmer dans n'importe quel language qu'il soit structuré ou non, objet ou non.
J'ai vu des sources en Assembleur merveilleusement clair et des sources objective C à se tordre de rire tellement c'était mal écrit.

De toute façon, un source ce n'est que des commentaires avec du code dedans. Si ta pensée elle meme n'est pas structurée, le langage ne le fera pas à ta place.

Donc moi, je te conseille de débuter par un langage simple à apprendre avec des notions primitives mais efficaces et de plus portable : le C.

Après tu pourra tater à d'autres langages plus "évolués".

Cordialement
 
Tout à fait d'accord !

Une difficulté à la fois: le C c'est bien pour débuter: tu apprendras les séquences de controle (communes à quasi tous les langages): les boucles, les conditionnelles... De plus tu y apprendras ce qu'est un compilateur, qu'il existe aussi des langages interpretés...

Et puis après, il y a l'objet: la joie des patterns !

Après, quand au choix du langage, sache simplement que les langages ont été inventés dans un but bien précis: ex Cobol pour le milieu banquaire (ne rigolez pas)... et donc, faudra peut-être que tu orientes ton choix en fonction de ce que tu voudras faire (ex: pas Cobol si tu veux faire des jeux
laugh.gif
).

Sinon, Java POWWWAAAAAA
laugh.gif
laugh.gif
love.gif
love.gif
 
Bonjour,

J'ajoute une chose.
Quelque soit le langage que tu va choisir, il est très intéressant d'avoir des rudiments en langage machine.
Les compilateurs ne sont pas parfait et il arrive fréquemment qu'il y ait des erreurs d'optimisation. La seule facon de les localiser c'est de désassembler et de comprendre ce qu'il a fait.
Par exemple le C qui est un langage qui a plus de 20 ans n'est pas encore compilable avec une fiabilité à 100%...

Cordialement
 
pété de rire, le gars il vaut commencer à programmer et vous lui dite que le C c'est simple, je crois qu'il va se tirer une balle en comprenant pas pourquoi un tableau est statique (taille fixe), que l'on ne peut l'affecter que élément par élément et que sinon il devra s'amuser avec des pointeurs....Je suis PAS DU TOUT d'accord c'est claire.
De plus portabilité lol, il faudra qu'il comprenne qu'il y a des différences entre les procos petits et gands boutiens ou d'autres trucs du type..
Quand à l'optimisation, si Apple est incapable de sortir des soft optimisé(exemple j'utilise en ce moment safari qui me pompe avec 50% d'un G4 à 1 Ghz et 50 Mo de RAM pour trois onglets d'ouverts!!) alors qu'elle à des centaines de développeurs grassement payés pour les pondre, il faudrait pas se fouttre de notre gueule en disant que c'est la chose importante pour débuter l'informatique en désassemblant ses binaires pour les optimiser à la main en assembleur.
Donc languages évolués Powa, pas la peine de prendre 20 ans de retard dès le début, facilité de programmation, portabilité, librairies multiples et simples d'utilisation, paradigmes de programation évolués possibles (objet, fonctionnel,etc..)...et si il veut faire de la prog de sémaphore et pondre des if fork()==-1 par la suite pas de problème....
 
Gallenza a dit:
pété de rire, le gars il vaut commencer à programmer et vous lui dite que le C c'est simple, je crois qu'il va se tirer une balle en comprenant pas pourquoi un tableau est statique (taille fixe), que l'on ne peut l'affecter que élément par élément et que sinon il devra s'amuser avec des pointeurs....Je suis PAS DU TOUT d'accord c'est claire.
De plus portabilité lol, il faudra qu'il comprenne qu'il y a des différences entre les procos petits et gands boutiens ou d'autres trucs du type..
Quand à l'optimisation, si Apple est incapable de sortir des soft optimisé(exemple j'utilise en ce moment safari qui me pompe avec 50% d'un G4 à 1 Ghz et 50 Mo de RAM pour trois onglets d'ouverts!!) alors qu'elle à des centaines de développeurs grassement payés pour les pondre, il faudrait pas se fouttre de notre gueule en disant que c'est la chose importante pour débuter l'informatique en désassemblant ses binaires pour les optimiser à la main en assembleur.
Donc languages évolués Powa, pas la peine de prendre 20 ans de retard dès le début, facilité de programmation, portabilité, librairies multiples et simples d'utilisation, paradigmes de programation évolués possibles (objet, fonctionnel,etc..)...et si il veut faire de la prog de sémaphore et pondre des if fork()==-1 par la suite pas de problème....

Tu as qu'elle expérience en C exactement ?

Cordialement
 
Je usi pas sûr de bien comprendre la question...mais bon j'essaye de répondre:
1) Système : programmation liée au noyau Linux (pilotes de périph...)
2) GUI : WindowMaker qui est en C/Xlib, et son jeu de widgets Wings; ainsi que certains prog basés sur GTK.

et donc:

1) C'est géniale c'set parfait c'est ce qu'il faut
2)a)WindowMaker/Xlib --&gt;suoer léger/rapide, totalement ouf à programmer.
b)pour utiliser avec les Wings ou GTK, ABSURDE,MOCHE,générant les BUGS,ILLISIBLE,LONG,COMPLEXE...je programmeavec GTK et les Wings en Python, c'est mille fois mieux !!!!!!!
 
Je suis pas sûr non plus que le C soit génial pour se lancer.

En ce qui me concerne, je conseillerai plutôt du Ada (rigolez pas!). Le Ada a tout de même l'avantage d'avoir un compilateur extrêmement tatillon sur les types et la syntaxe. Ca peut paraître chiant, mais c'est un très grand avantage lorsqu'on apprend et même après, ça permet de ne pas perdre beaucoup de temps sur des bêtises qui ne devraient, selon moi, pas passer à la compilation. Combien de fois vous êtes-vous cassé la tête à chercher pourquoi un programme en C ne fonctionne pas alors que le problème venait d'une erreur concernant les pointeurs ?! (par ex: opération mathématique directement sur un pointeur et non pas sur la valeur pointée).

Le C est certes très utilisé, il est également très puissant, il est également nécessaire que tout bon programmeur connaisse le C, mais par pitié ne dites pas que ce langage est bon pour apprendre!

Dans les autres langages que je conseillerais, il y a également le Java. Mais malheureusement, je trouve que ce n'est pas l'idéal de commencer directement par de la programmation orientée-objet. (et faire du Java sans faire de l'OO.. hum.. beurk..).

De toute manière, quoique tu choississes, il faut bien garder à l'esprit que l'on apprend pas à programmer dans UN langage. On apprendre une "manière" de programmer, après la seule chose qui change lorsque tu passes d'un langage à un autre, c'est la syntaxe, et la syntaxe d'un langage, ça se découvre en 2h montre en main.
 
Bonsoir,

Je suis d'accord avec toi Molgow, que passer d'un langage a un autre est rapide. (Sauf peut etre avec des langages tres differents comme le Lisp à moins d'avoir travaillé sur Hewlett Packard en notation polonaise inverse et non sur TI comme le créateur de ce fil)

Par contre, la distinction entre "ce qui pointe" et "ce qui est pointé", imposé par le C est pénalisant peut être au début, mais oblige de réfléchir à ce que l'on écrit... Ce qui, à mon avis est certes un exercice parfois casse tête mais un atout certain quand on le maitrise.


Cordialement
 
Didier Guillion a dit:
Par contre, la distinction entre "ce qui pointe" et "ce qui est pointé", imposé par le C est pénalisant peut être au début, mais oblige de réfléchir à ce que l'on écrit... Ce qui, à mon avis est certes un exercice parfois casse tête mais un atout certain quand on le maitrise.

Ce n'est pas pénalisant qu'au début... peut-être n'en fais-je pas assez régulièrement, mais j'ai débuté le C il y a déjà quelques années et j'ai encore parfois aujourd'hui des problèmes dans ce genre. Je les règles rapidement et je les comprends, mais ça me fait tout de même perdre du temps.

Dans les langages un peu plus évolués tels que Java ou Python, cette notion de pointeur a disparu et je trouve que c'est très bien ainsi. Bien sûr, ça ne permet plus de faire des supers bouts de codes optimisé de la mort qui tue (qui ne sont compréhensible qu'à celui qui les a écrit.. et encore..).. mais le confort du programmeur et la sûreté du programme (crash inopiné) s'en trouve grandement amélioré!


Pour le Lisp, c'est effectivement le parfait contre-exemple à ce que je disais
laugh.gif

Il y a aussi le Prolog dans ce genre de langage bien particulier.
 
Bonsoir,

Il est vrai que très souvent le programmeur qui travaille en C oublie souvent la distinction entre raccourci d'écriture et code généré plus optimisé.
Des trucs du genre (*p++)=--(*(p-1)); sont jouisif pour le théoricien mais rendent la lecture plus cabalistique que des hiéroglyphes.

J'ai vu énormément de "monstres" de ce genre en C et c'est certainement ce qui a amené une mauvaise réputation de ce langage.

On pourrait également critiquer, je pense, la façon dont les langages sont enseignés dans les écoles, où le principe est de "visualiser" un maximum de langages dans un mimimum de temps. Première semaine C, deuxième C++, troisième Objective C... Ca fait réver.

Après on recoit des CV de personnes disant "maîtriser" une douzaine de langages alors qu'a mon avis il faut au mimimum 10 ans pour commencer à en comprendre les tenants et aboutissants d'un seul et se sentir à l'aise.

En tout cas, personellement, j'utilise des sources C quotidiennement qui ont été écrits en 1987 et qui fonctionnent parfaitement, sautant d'un système d''exploitation à l'autre avec alègresse.
Je ne connait pas d'autre langage qui m'auraient permi cela...

Cordialement
 
Didier Guillion a dit:
(Sauf peut etre avec des langages tres differents comme le Lisp à moins d'avoir travaillé sur Hewlett Packard en notation polonaise inverse et non sur TI comme le créateur de ce fil)
Désolé d'être un peu prof aujourd'hui, mais le Lisp contrairement au HP n'utilises PAS la notation polonaise inversée!!! Il utilise la notation polonaise tout court!!! c'est une écriture préfixée alors que la HP (et le Forth si on cherche un langage de prog comme ça) sont postfixés; L'avantage du Postfixé sont qu'il n'y a pas d'analyse syntaxique à faire par l'interpréteur d'ou l'utilisation dans des calculettes à faible puissance (comparées aux ordis) ou dasn un langaue (le Forth) très près de la machine, d'extremememnt bas niveau. Le préfixé lui s'utilise en Lisp car tout l'interpreteur et la logique lispienne sont basés sur la récursivité et que l'analyse syntaxique d'une expression préfixée est récursive.
Voilà pouur le petit cours.
Sinon globalement y'a quelques années je pensais que seule la syntaxe changeait entre les langages, je pense maintenant qu'il n'y a rien de plus faux, il y a des groupes de langages et si l'on passe d'un groupe à l'autre sans changer de manière de programmer on ne peut plus programmer...programmer en smalltalk ou en prolog, ou encore en C c'est aussi différent que nager et voler...
Cependant un langage comme le python permet de faire de la programmation procédurale simple pour débuter, puis passer à l'objet si on en a envie, ou encore utiliser des fonctions commes les fonctions lambdas ou autres qui le transforme en langage fonctionnel..sans les 1 000 000 000 de parenthèses bien sûr !!
Ruby a les presque les mêmes qualités que Python.
Je veux vraiment que les gens qui pensent que si on sait programmer en C on sait tout faire prennent conscience qu'il n'y a rien de plus FAUX.
Encore une fois la programmation du noyau d'un OS c'est très important, mais ça ne représente qu'une toute petite partie de la diversité et de la force de l'informatique.
 
Sans vouloir dire des évidences (voire des conneries
tongue.gif
), je pense qu'au delà de toutes les considérations (que je trouve justes), quelqu'un qui programme bien dans un langage (parce qu'il aura compris les tenants et les aboutissants de ce langage), programmera bien dans n'importe quel autre langage.

Sans vouloir faire l'apologie d'un langage plutôt qu'un autre, il est évident que certains langages se prêtent mieux à l'apprentissage que d'autres. Pour cela, il n'y a qu'à voir quels sont les langages qui sont enseignés à l'école.

Pour ma part j'ai commencé ma carrière informatique par l'IUT (de Bordeaux I) et l'on y a appris la programmation par le Pascal (c'était en 1993)... il serait interessant de savoir quels sont les langages choisis par les professionnels de la pédagogie (au delà de toute considérations commerciales des boites de formation).


Enfin, juste histoire de ne pas trop dévier dans la guéguerre (amusante) de mon langage il est mieu que le tien......
laugh.gif