Passionnés & autodidactes de prog : c quoi vos conseils?

bonjour

je suis etudiant en mecanique mais j’aime bien l’info -j’ai deja un dut genie electrique et info indus

je lis plein de tuto de differents langages

mais voila je passe pas a la pratique – faute d’un veritable projet peut etre!

je souhaiterais savoir votre niveau actuel, votre “parcours”

j’attends vos conseils!!

merci

http://forum.clubic.com/icones/message/icon7.gif ces conseils serviront a beaucoup plus de blaireaux que votre ne le pensez!http://forum.clubic.com/icones/message/icon7.gif
http://forum.clubic.com/icones/message/icon7.gif

BAC +5 Master Informatique Génie Logiciel et Système distribué.

J’ai commencé en programmant sur ma calculatrice des jeux comme morpions, batailles navales (aux collège/lycée) je suis passé à l’assembleur pour ma TI89(lycée) la j’y ai appris la notion de pointeur, d’espace mémoire
Puis au pascal/C en Deug, j’ai fais que les projets de fac
C++ en deug/licence/maitrise
et de facon autodidacte python en maitrise/Master. Pour ca j’essayé de recoder mes projets en python.

Et du php à mes heures perdues.

Le mieux pour apprendre un langage c’est t’achete un/des livre(s) et tu code tout en lisant le bouquins (y a des exo dans certains livre, mais tu peux aussi essayer d’appliquer ce que tu lis)

Bac + 1 Techniques de commercialisation :stuck_out_tongue:

J’ai commencé sur l’Amiga, en Amos, a recoder quelques effets de demomakers tout en lisant la grosse doc fournis par le langage.
Passage sur PC, j’ai fait du Turbo Pascal sous Dos, la aussi, les bouquins de Claude Delannoy m’ont énormément aidé, j’ai fait une calculatrice parlante (lol), un player de module, quelques trucs qui ne servent à rien de prime abord (dessiner une interface graphique sous Dos, faire mumuse avec les pointeurs, les listes, la pile …).
Du C ensuite, pour me faire au code portable : la, internet est une mine d’information car il existe une plétore de tutoriaux pour tous les contextes de programmation : j’ai commencé à recoder la aussi quelques effets de demomakers puis je me suis vite spécialisé vers le traitement du signal et la conception d’interface graphique multiplateforme.
Puis C++, que j’utilise uniquement pour certains projets qui en ont besoins ou parce que je n’ai pas le choix (j’aime pas mixer du C avec du C++ ni coder en C++ comme en C).
Comme pour le C, aucun problème pour trouver de l’aide.
J’ai aussi fait du Visual Basic (du 2.0 au 6.0) pour certains projets ou j’avais la flemme de coder l’interface graphique via les API de windows.
Et la j’en suis au PureBasic qui m’étonne par bien des égards : la puissance du C/C++ et tous leurs avantages avec la simplicité d’un basic, et multiplateforme ! Ce langage me fait gagner pas mal de temps.

Donc, comme tu as pu le constaters, pour apprendre un langage, il n’y a pas de secrets : bouquins, motivations, temps libres.
Tu feras beaucoup de chose qui te sembleronts inutiles (trier un tableau de différentes manières, manipuler les pointeurs, les chaines de caractères …) : c’est ce qu’on appel l’algorithmie.
De nombreuses personnes passent rapidement ce cap à tort !! C’est la base fondamental de tout bon programmeur et c’est donc un passage obligé : la programmation ne se résume pas qu’a des lignes de codes mais c’est surtout une facon de faire.
Un programme mal pensé pourra te demander plus de code à saisir et sera moins performant qu’un programme ou tu auras bien prix le temps de dessiner ton projet avec les impératifs, objectifs, contraintes …
Voila ce que je peux dire à ce sujet :slight_smile:

Début au lycée avec visual basic, bof bof…

Passage en iut info avec découverte du C++, sql/oracle, sh, java, javascript et un peu php, mais gros approfondissement du C++ avec plusieurs projets: simulation des surfaces aquatiques, création d’un toolkit graphique (genre qt) tout ça en imagerie…

Licence info: retour au C, sql, lex/yacc et java

en tout cas le c++ s’apprend mieux en cours que tout seul et après tout plein de langages y ressemblent: php, javascript. Les bases y sont. De plus le coté gestion de mémoire est laissé au programmeur ce qui lui laisse une certaine responsabilité.

bonjour atlonman,

mon parcours ne tient qu’à moi.

sur les aspects importants de la programmation. on a dit de bien analyser les programmes, je le dis aussi. c’est de la corvée mais faut le faire. sinon on produit des bugs et on s’en apercoit souvent quand c’est trop tard. on prends vite de mauvaises habitudes et ensuite faut les corriger le plus rapidement possible.

hors le fait d’analyser un programme est dur au début mais apres c’est comme lorsque on apprends à conduire. les crénaux c’est dur si on fait pas souvent. alors on est en campagne et on fait pas et pour s’y recoller faut ramer encore plus.

ca fait des gens qui savent pas se garer en ville et qui vont dans des parkings. en info ca fait des chomeurs.

sinon pour moi quelque chose de plus important, c’est de savoir comment le client va utiliser le programme. en programmation on va faire ce que l’on appelle un jeu d’essais. donc des combinaisons d’entrées et de commandes qui servent de bases au programme :

le client active fichier nouveau puis edition, liste des clients puis …

ensuite il entre une fiche client et efface le client. ensuite il recrée le meme client etc…

faut penser à ce que le client va faire. est ce qu’il va créer une fiche client et ensuite supprimer le client. ca m’etonnerait que de tels actes soient faits. faut tout ramener à la maniere dont le client a l’intention de le faire.

si moi j’entre un client, que je crée une fiche, est ce que je vais aller l’annuler juste apres. est ce que ce fonctionnement est quelque chose de clef dans le programme ou une situation batarde qui mériterait meme que cela cause un bug mineur genre un message “l’entete client a été effacé des données relatives à un client inconnu sont encore en base de données”. et ce en mettant un choix indiquant “je veux supprimer les infos non utilisées dans la base”, créer des enregistrements par defaut liés aux entetes supprimés.

lorsque tu invite un copain tu sais qu’il aime bien la tarte au fromage de chevre, et mais pas du tout le civet de lièvre. pour le client, qui est rarement ton copain, c’est pareil. ce client là tu sais qu’il va apprécier organiser ton travail d’une certaine manière, et qu’il va réagir violemment s’il rencontre un bug qu’il estime etre inacceptable.

et ca meme le client ne le sait pas forcément. mais faut l’ecouter et lire entre les lignes.

sinon le programmeur a tendance à se focaliser sur des bricoles que tout le monde comprends qu’elles sont des erreurs de leur part, supprimer un entete alors que l’on a des données n’a pas à etre fait. à la rigueur on mets un message “cette entete contient des infos” et c’est tout.

mais alors que l’on se focalise la dessus pour faire une gestion super peaufinée, on oublie que lorsque on fait une sauvegarde de fichiers dont les dates sont différentes peut causer des erreurs encore plus importantes. et là c’est une fonction que tout le monde utilise tous les jours.

le difficile en informatique est de considérer le client. en plus il dira jamais ou tres rarement "est ce que vous avez pensé à ce que lorsque j’ai des fiches clients plus récentes que l’entete client.

un autte client va prendre le dossier base du programme et le coller sur cd tous les soirs. alors faut penser ce qui se passe lorsque on remets un fichier en place mais pas un autre qui lui est lié. ca peut faire des problemes sérieux et on doit absoluement le gérer.

en informatique ca va mal parce que l’on ignore le client. mais faut que le programmeur puisse connaitre la maniere dont il va utiliser le programme. alors tel point sera annexe ou tres important. ca c’est difficile, chiant, stressant, mais indispensable, sinon c’est la panique.

sinon le client va vous appeler toutes les heures et là c’est plus la vie normale du tout. le client demande un correctif ensuite tu le fait à la va vite en vérifiant que le bug a disparu. mais tu as une méthode qui est pas forcément celle du client, ca marche pas. les menaces arrivent d’avocat contre l’entreprise, ton patron campe pour vérifier que tu fais bien le boulot et ca dure jusque deux heures du mat. ca j’ai connu pour les raisons que j’evoque et c’est pas facile à vivre du tout.

ensuite on te donne des taches de plus en plus petites, et tu finis à faire le detourage de plans de villes sous photoshop ou de coder des etats imprimés sous highscreen. ca j’ai connu le mec etait un audit bien payé que l’on a collé à faire des plans de ville.

et un jour le bout de travail qui reste à lui fourguer passe dans des programmes de detourage automatiques ou dans l’utilitaire codé par le petit jeune de facon à enregistrer les coordonnées des champs clicables, ou alors on vient d’acheter windev. ca j’ai pas subis mais j’ai connu un mec qui a compris un jour ce qui allait lui arriver à 40 ans.

parce qu’un jour on ne doit plus etre le programmeur mais quelqu’un qui doit recueillir les demandes clients, les assembler, les interpréter et coder son programme. sinon on reste l’exécutant de base chassé un jour par les jeunes, ou de lire les livres tous les soirs pour se former parce qu’il ne peut pas se maintenir autrement.

et à chercher de se maintenir on finit toujours par tomber. c’est comme deux nageurs. le premier se lance il lutte contre le courant, cede une fois, remonte à la force des bras et finit dans la cascade.

mais l’autre lui ne se lance pas dedans, il sait qu’il traversera pas. alors il sait pecher et il vends les poissons.

en info il voit qu’il apprends un langage, un autre, et encore, à force il en a assez les connaissances deviennent défavorables par rapport à des jeunes qui sont formés confortablement à l’ecole et sont a jour. alors il a le choix entre ramer, ou alors passer analyste ou chef de projet et donc faire appel aux facultés mentionnées. comprendre le client et évaluer ses désirs.

et ca c’est pas donné à tout le monde. et ca fait la différence entre une carriere entre 25 ans et 40 ans et le chomage apres. ou une évolution favorable.

mais tu verras ce probleme arriver rapidement. il se manifeste lorsque tu considere que le programme à faire est bien trop complexe pour toi. c’est que quelque part tu sait pas trier les données par ordre d’importance.

pour comprendre le fond du probleme tu devrais lire le tres bon livre “stratégie de conduites de projet” de stephen maguire chez campus press qui est une excellente edition. il indique les conditions de travail en informatique et tout ce qui peut arriver dans certaines conditions. et aussi “writing solid code” du meme auteur et chez le meme editeur. ce premier est plus technique.

et aussi regarde l’emission “question maison” qui permet à des gens d’améliorer certains points dans leur logement". là tu comprendras de suite les difficultés que tu auras toi aussi à surmonter. Le samedi entre 11h -12h regarde la en entier, l’emission ne dure pas toujours la meme durée. généralement ce à quoi je pense se trouve à la fin.

et bon courage. j’allais oublier.

ça c’est du poste, plejarre ! [:matleflou]

j’ai dut info et ptet qui sait, un jour j’aurai mon bac+5 (je continue en cours du soir mais bon j’ai la flemme…)
j’ai commencé avec le basic (tetris, anim, …) sur commodor64 quand j’avais 14 ans (j’en avais marre des temps de télechargement des jeux sur k7) et puis turbo c (un clone de norton commander sous dos5, …) sur pc
ensuite ça ne s’est plus arreté (ça fait 10 ans de gâchis maintenant :stuck_out_tongue: :’()…

sinon karlkox & plejarre + 1 :d

bonjour j espere que vous allez bien ,je ss une etudiante en 4 eme anne ingeniorat en informatique si vous pouvez m aider il me faut un algorithme en c ou en pascale sur algorithme d escalade et algorithme s-aveugle an largeur d 'abord (fifo)
et en profondeur d 'abord (lifo) merci d avance

Crée ton topic, et donne nous où tu bloques dans ton code. On ne fera rien pour toi (sous entendu on ne fera pas tes projets).

Je supprimerai ton message une fois ton topic crée, et je prierai les gens de ne pas inciter notre étudiante à répondre ici en l’aidant.

(voilà, aurai-je grillé KarLKoX? :))
Edité le 02/04/2009 à 22:32

Grilled ! Anneffet ! Je copiais/collais l’url de la charte :stuck_out_tongue:

Ben tu peux éditer mon message ou le tien :smiley:

Salut,

Mon parcours en une ligne : Bac+5, 5/7 ans d’expérience, spécialiste Java J2EE, méthodes agiles.

Je t’épargne tout un blabla relou et qui ne te parlera pas trop vu que tu ne trempes pas assez dans le métier.

Perso, voilà quelques conseils pour débuter :

  • ca ne sert à rien de s’interesser à des langages fondés sur les memes paradigmes. Interesse toi à un seul langage, genre PHP / Java / Ruby.
  • pour apprendre un nouvel aspect du langage (et des librairies associées) : copier / coller > tu fais marcher > t’essaie de comprendre
  • une fois que t’as compris ton programme, poses toi quelques questions sans forcément y répondre : est ce lisible ? est ce clair ?
  • ca ne sert à rien de chercher compliqué, plus simple sont les programmes, mieux ils sont
  • prends ton temps

Si tu veux te faire un projet, genre un jeu, je te recommande fortement de ne t’interesser qu’à un écran … genre la page d’accueil ou la page de login.

Evite de te mettre à la place d’un professionnel. Rends toi à l’évidence et assume ta position. Ce n’est pas pour te dévaloriser, mais il me parait fondamental de rester concentré sur ton unique objectif parmi une liste.

Salut,

Comme on dit c’est en forgeant qu’on deviens forgeron :slight_smile:
Pour que tout ce que l’on apprends se transforme en aptitude il faut programmer.
Moi j’ai appris à programmer très jeune, bien avant d’apprendre à programmer pendant les études.

J’ai commencé par programmer des petits jeux avec du graphisme et des sons ou de la musique, c’est ludique et on peu voir concrètement le résultat de ce que l’on fait.

J’ai quasiment tout appris sur http://www.developpez.com/[/url], et une fois les bases apprises : pour programmer des jeux il y à des tutoriels ici : [url=http://jeux.developpez.com/tutoriels/]http://jeux.developpez.com/tutoriels/