Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/09/2012, à 19:07

Foromus

Débuter en C

Bonjour,

Oui, il y a déjà beaucoup de choses là-dessus, sur ce forum.
Succinctement :
J'ai commencé à programmer sur mon ZX 80 ! C'est vieux....
Puis, beaucoup,  beaucoup plus tard, quand je je suis passé sous Linux, j'ai été désespéré, car il n'y avait rien d'accessible, et j'ai abandonné. Et j'ai découvert Gambas, qui m'a permis de remettre à jour des anciens projets écrits en Visual Basic.
A titre "culturel", je me suis aussi intéressé à Python, qui me déroute franchement... Puis j'ai découvert, sur ce site, un initiation à C, avec un auteur dont la pédagogie est au-dessus de la moyenne (et c'est rare...)
Cela dit, ce monsieur utilise Code:Blocks et sous Windows. Bien qu'il parle de Linux, la majorité de ses exemples sont sous Win.
J'ai un peu fouillé quand même ici avant de poster, je dois dire que ce que j'ai lu m'a plus mis dans l'embarras que cela ne m'a aidé. J'aimerais donc être un peu "orienté" pour démarrer.
J'ai installé Code:Block, il fonctionne correctement à ce qu'il me semble. Pour le début du cours, tous les exercices sont en console, ce qui, il y a quelques temps, me rebutait d'emblée. Cela dit, j'ai fait un autre raisonnement : la console est assez souvent utilisée sous Linux, j'ai donc supposé qu'il avait là matière à apprendre, ce qui me serait très utile car je coince régulièrement dès qu'il y a quelque chose qui dépasse mon minima linuxien...
Certes, programmer avec Visual Basic ou Gambas, en installant une fenêtre et en mettant dessus, boutons et autres listbox, en deux clics, c'est séduisant...
J'ai adopté une autre approche : je vais d'abord essayer d'apprendre le C (minimum) en console, j'ai remarqué que par la suite, on avait la possibilité de travailler (toujours sous Code:Blocks) avec autre chose, et ensuite, et seulement, je verrai à utiliser les Qt et autres Gtk. Car il est évident que, avant d'utiliser ces librairies, il faut au moins maîtriser le code élémentaire...
Avec le tuto cité plus haut, j'ai déjà appris beaucoup de choses.
Suite à ce que j'ai lu sur ce site, j'ai plein de questions, je les poserai au moment opportun.
D'après ce que j'ai lu, Code:Blocks déplaît à beaucoup de monde (sous Linux). Avant de chercher autre chose, je vais d'abord l'utiliser pour mon apprentissage, après, on verra.
Pour l'instant, et pour poursuivre, je n'ai pas compris où mettre la librairie SDL. L'auteur donne bien un chemin, mais c'est sous Win... Mais moi, je suis sous Xubuntu...
Des répertoires Codeblocks, j'en ai plusieurs dans mon arborescence. Et ces répertoires sont plutôt dans les user, share, etc. Dans mon Home, j'ai créé un répertoire "Langage_C", où je colle tous mes travaux d'apprentissage (comme j'ai un répertoire Gambas d'ailleurs...).
Donc, et en clair - et c'est ma question N° 1 : où je mets la bibliothèque "SDL-devel-1.2.15-1.i386.rpm" que je viens de télécharger, puis de décompresser ?
Bon, suite à ça, j'aurai forcément d'autres questions, c'est pour cela que j'ai été aussi long dans cette présentation des faits, en espérant que cela puisse être utile à d'autres personnes dans le même cas que moi.

Merci de votre attention.

#2 Le 01/09/2012, à 20:16

Bousky

Re : Débuter en C

Pour ce qui est de la SDL, ne l'installe pas à la mains, mais utilise les paquets correspondants (je te renvoie à la doc).


Si les linuxiens ont tendance à ne pas aimer Code:Blocks (et les IDE en général), c'est pour plusieurs raisons :

  • Il est buggé. Certains codes qui compilent très bien sous gcc (le compilateur de référence, pourtant utilisé par Code:Blocks) produisent des erreurs de syntaxe avec ce dernier ;

  • La plupart des gens utilisent plusieurs languages (C, Python, bash, …). Il est donc plus efficace d'apprendre à bien se servir d'un éditeur généraliste (vim ou emacs, voire gedit) que de plusieurs IDE ;

  • La plupart des logiciels libres sont développés en utilisant une suite de logiciels standardisée (gcc, make, …). Utiliser autre-chose, c'est ne pas pouvoir échanger facilement le code (c'est indispensable dans le libre) ;

  • Il y a souvent des problèmes causés par l'interface des IDE. Par exemple pour utiliser une bibliothèque comme SDL ou GTK, il faut modifier les options de compilations et de liage. Et elles sont souvent cachés au fond de boites de dialogue (des boites de dialogue différentes la plus part du temps). Sans IDE, ce genre d'options est sous les yeux, ou tout du moins regroupées au début d'un seul fichier ;

  • Si tu veux apprendre à programmer en C, autant savoir un minimum ce qui se passe. Or un IDE masque complètement le fonctionnement du compilateur, ce qui rends les options sus-citées d'autant plus difficiles à comprendre ;

  • Créer un projet à chaque fois, c'est lourd quand on veut compiler un seul fichier. Il est bien plus efficace de lancer la compilation à la main. Et quand on apprend, c'est ce que l'on fait les trois quarts du temps.

Tuto sur l'utilisation des makefile (ce qui remplace les options de projet quand on code sans IDE) : http://gl.developpez.com/tutoriel/outil/makefile/


Enfin pour des codes simples, se passer d'IDE n'est pas compliqué. Si tu as « main.c », « truc.h » et « truc.c », il suffit de faire ça (en ajoutant des options si tu utilise la SDL ou une autre bibliothèque) :

gcc -o executable_à_produire main.c truc.c

Voire, si tu n'as pas d'autres fichiers sources au même endroit :

gcc -o executable_à_produire *.c

C'est sale (mieux vaut utiliser les makefile), mais pour débuter ça reste simple.

Pour ce qui est de faire facilement des fenêtres et boites de dialogues sous GTK, tu peux regarder du côté de glade. Mais il faut déjà savoir comment fonctionne GTK.


En fait c'est quoi ta question ? tongue

Dernière modification par Bousky (Le 01/09/2012, à 20:19)


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#3 Le 01/09/2012, à 20:36

Pacifick_FR42

Re : Débuter en C

GTK ou QT, orienté C++ pour qtdesign... wink

Hors ligne

#4 Le 01/09/2012, à 20:51

Bousky

Re : Débuter en C

Quand quelqu'un débute le C, on ne lui conseille pas le C++. Ce sont deux languages complètement différents qui se resemble énormément, de quoi semer la confusion. Ça ne fait générallement pas de dégats côté C, mais ça engendre du code immonde côté C++. Quelqu'un qui ne connaît même qu'un peu le C à tout intérêt à apprendre un autre langage orienté objet avant de passer au C++, Python par exemple.


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#5 Le 01/09/2012, à 20:55

Pacifick_FR42

Re : Débuter en C

J'ai pas osé le dire... mais oui, le C est un dinosaure... en dehors ce certain projet très pointu (comme Kernel) on évite la programmation linéaire, rigide, pas ouvert, bref... le c++ est plus "moderne" modulaire, et orienté "futur" wink
C'est "un peu" là que je voulais l'amener en "douceur"...

Dernière modification par Pacifick_FR42 (Le 01/09/2012, à 20:55)

Hors ligne

#6 Le 01/09/2012, à 21:24

Foromus

Re : Débuter en C

Bonsoir,

Merci pour la réponse (donnée en début par Bousky).
Bon, j'ai bien précisé "culturel", donc, loin de moi l'idée de concevoir un jour le logiciel qui fera le tour du monde...
Je prends bonne note de tout ce que je viens de lire, ce sont de très bonnes informations.
J'ai installé Code:Blocks simplement parce que l'auteur du tuto l'utilisait, c'est tout. Un avantage pour moi : pour ce que je fais pour l'instant, c'est pratique,   un clic sur compiler / exécuter, je vois si ça marche, et si je n'ai pas fait de fautes de syntaxe. Et pour l'instant, je suis juste sur C, pas C++, que je verrai ultérieurement (enfin, si j'arrive au bout de cette initiation, ce qui n'est pas gagné...).
J'ai demandé de l'aide pour la SDL tout simplement parce qu'il propose une étude avec cette librairie, après, je verrai éventuellement.
Il faut déjà que j'assimile : si le vocabulaire est sensiblement celui que je connais, la syntaxe, quand à elle est totalement différente, donc l'approche l'est tout autant.
Je vais donc essayer de faire le cours jusqu'au bout, après, on verra...
Comme j'aurai d'autres questions, je mets en pause pour l'instant, déjà voir ce qui m'a ici été donné, ça va m'occuper un petit moment..
Avec mes remerciements,  et à plus tard.....

PS et suite aux messages qui sont arrivés entre-deux :
A chacun de voir les choses à sa façon. La programmation orientée objet ne m'est pas spécialement connue, le "linéaire", c'est un peu ce que je faisais autrefois sur mon Apple, avec EditBasic, ou quelque chose comme ça. La seule option de débranchement n'était que le GoTo, y compris pour les subroutines. Après, avec VB, j'ai vu la programmation événementielle, ce qui me paraît logique. Maintenant, apprendre autre chose, c'est une simple curiosité, et si les conseils des uns et des autres sont fort judicieux, il va bien falloir qu'au final, je fasse un choix. Puisque j'ai déjà commencé avec le tuto du sitezéro, et que je le trouve très bien fait, ne serait-il pas raisonnable que je tente de le suivre en entier ? Après, passer de C à C++, c'est si risqué que cela ?
Pour python, il y a deux ou trois trucs que je n'ai pas pu avaler, peut-être qu'une aide circonstancielle m'aurait remis sur les rails, qui sait ? Cela dit, on ne peut pas, non plus, tout entreprendre, comme dit plus haut, il y a des choix à faire et une fois les choix faits, il faut s'y tenir.
Je reviens à Gtk et Qt qui sont présentées dans Code:Blocks : ne serait-ce pas suffisant pour une approche basique, très basique, même ? Après, et si intérêt il y a, il y a toujours possibilité d'évoluer, non ?
Je dis ça parce que, là non plus, les bibliothèques ne sont pas installées, et je ne saurai pas comment faire le moment venu.

#7 Le 01/09/2012, à 21:35

Pacifick_FR42

Re : Débuter en C

Comparer le VB avec le C.... on est loin, très loin....
Effectivement, le C++ te serait plus instructif, tu as à ta disposition le site developpez.com ou même le site du zero, mais bon, c'est mon avis, en tant que dev en c - c++ - python - etc... wink

Hors ligne

#8 Le 02/09/2012, à 00:13

Bousky

Re : Débuter en C

Pour se mettre au Python facilement, il y a un tuto sur le site officiel (en anglais) mis à jour pour chaque version :

http://docs.python.org/<version>/tutorial/

Exemple pour Python 3.1 :

http://docs.python.org/3.1/tutorial/

Après Code:Blocks, c'est bien pour suivre un tuto, mais autant chercher à t'en passer le plus vite possible.

Quant à la SDL, c'est plutôt destiné à la programmation de jeux. Pour le reste, mieux vaut utiliser GTK (ou Qt). Enfin c'est pas une règle absolue non plus.

Dernière modification par Bousky (Le 02/09/2012, à 00:18)


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#9 Le 02/09/2012, à 09:25

Foromus

Re : Débuter en C

Bonjour à tous,

Pacifick_FR42 a écrit :

Comparer le VB avec le C.... on est loin, très loin....

Oui, je reste sérieux : je parle de VB parce que je connais un peu, je parle de C parce que je suis intéressé par son apprentissage... Il me semble que dans le propos, il y a un verbe inadéquat.

Bousky a écrit :

Quant à la SDL, c'est plutôt destiné à la programmation de jeux. Pour le reste, mieux vaut utiliser GTK (ou Qt). Enfin c'est pas une règle absolue non plus.

C'est un peu dans ce sens là que j'avais compris. Et par ailleurs, je ne suis absolument pas intéressé par les jeux, donc, aucune idée quant à la conception d'un nouveau !
Au passage, la libsdl1.2debian-all n'a plus l'air d'exister me dit-on, elle serait remplacée par la même sans le "-all". A savoir si elle est complète, même sans le "all". Quoique plus loin, on précise qu'il faut aussi ajouter la libsdl1.2-dev.

Bousky a écrit :

Pour se mettre au Python facilement, il y a un tuto sur le site officiel (en anglais)

Et c'est bien là que le bât blesse : mais connaissances étant limitées en anglais, je n'irai jamais bien loin en programmation, c'est évident, j'en suis tout à fait conscient. Je l'ai plusieurs fois explicité dans ma prose ci-dessus, et j'avoue humblement n'avoir absolument aucune prétention. Il faut aussi savoir reconnaître ses limites et faire preuve d'un peu d'objectivité à son endroit, ce qui est assez difficile il est vrai, il suffit de se balader sur les forums pour s'en rendre compte. Suivre un tuto en anglais, j'en suis totalement incapable, je mets trop de temps à déchiffrer. Ça peut aller pour un cas ponctuel, par pour un cours entier.
Voilà pour ce point.
Et je remercie très sincèrement toutes les personnes qui essaient de m'aider et je les assure que je tiens grand compte de leurs remarques.

#10 Le 02/09/2012, à 09:59

Bousky

Re : Débuter en C

Foromus a écrit :

A savoir si elle est complète, même sans le "all". Quoique plus loin, on précise qu'il faut aussi ajouter la libsdl1.2-dev.

Il n'y a pas de raison pour que ce ne soit pas complet, il arrive que des paquets changent de nom d'une version d'Ubuntu à l'autre. De toute façon installe la version de dev, ça installera la version de base par dépendance.


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#11 Le 02/09/2012, à 11:18

Pacifick_FR42

Re : Débuter en C

Le site du zero que ce soit pour c , c++ ou python, je le trouve bien pour débuter...

Hors ligne

#12 Le 02/09/2012, à 12:12

moths-art

Re : Débuter en C

Je suis du même avis que "Pacifick_FR42". Il y a assez de doc dans la langue de molière pour débuter.
En revanche, si tu veux monter en puissance par la suite ... l'anglais semble incontournable.

Foromus, si tu veux qu'on te conseille un langage, il faudrait déjà nous préciser tes besoins.
Si tu veux programmer, c'est que tu as des réalisations en tête.

Je serais tenté de t'orienter vers des langages de script (python ou autre) plutôt que compilé pour commencer.
En effet, ça t'éviteras de te confronter à des notions abstraites tel que les pointeurs, les libs statiques/dynamiques, la compilation, makefiles et autre joyeuseté.
Même si certains points te semble obscure en python, le C (je parle même  pas du C++ qui est hors catégorie) a aussi ces surprises et il te faudra passer par un débogueur à un moment ou un autre : GDB est très indigeste au début...
Enfin, je conseille d'utiliser un éditeur simple style "gedit" ou "kate" au début plutôt qu'un IDE.

L'IDE c'est bien quand tu rentre dans un mode productif ou tu veux gagner du temps sur des tâches répétitives.
Ce n'est clairement pas ton cas.
Te conseiller un IDE pour commencer c'est un peu comme mettre un enfant en pleine mer sans brassards : tu risques de te noyer avant même d'avoir réussi à barboter.
Maintenant, mon avis est peux-être biaisé car j'ai commencé par l'assembleur.

Hors ligne

#13 Le 06/09/2012, à 11:04

destroyedlolo

Re : Débuter en C

Une idee comme ca si tu veux te mettre au C de maniere ludique ... essaie CRobots : C'est un jeu de combat de robot ... que tu programmes en C.
L'avantage est que l'API est vraiment simple, que t'apprends les BASES du langage et en plus, c'est fun.

J'avais debute le C ... a la fin des annees 80 sur Amiga. Il venait du monde Unix (enfin, les scenes opensource pour Amiga et Unix etait vraiment tres liees a l'epoque donc ...), donc j'imagine qu'il doit etre dispo sous Linux.

Une fois les bases du langage maitrisees, tu pourra te lancer dans des trucs plus touchy (GTK, ...).

Dernière modification par destroyedlolo (Le 06/09/2012, à 11:13)

Hors ligne

#14 Le 06/09/2012, à 17:46

doudoulolita

Re : Débuter en C

Mon cas est un peu différent mais peut-être qu'il peut coller dans ce topic. Si ce n'est pas le cas, dites-le moi, je créerai un autre sujet.

J'ai appris un petit peu de Python (avec la biblitohèque Pygame). L'apprentissage de python me semble bien plus facile que C. Le truc est de trouver des gens sympas sur le forum d'Ubuntu pour se faire aider ! smile

Après, j'ai découvert le langage Renpy, plutôt conçu pour des visual novels, mais qui peut utiliser python en complément. Comme j'ai créé un autre jeu avec, ça m'a motivée pour progresser.

Ensuite, j'ai réussi à développer une activité que j'ai nommée intruders pour Gcompris en utilisant une autre activité comme base.
Grâce à la mailing-list de Gcompris et l'aide du créateur, Bruno Caudoin, je n'avais finalement plus qu'à changer un fichier xml et à ajouter quelques noms d'images dans un fichier Makefile.am puis à faire Make et ./runit.sh intruders-activity/ dans une console. Trop facile !

Maintenant, je voudrais créer de nouvelles activités plus complexes sans trop demander de choses à Bruno, et j'ai bien l'impression qu'il va falloir que je connaisse les bases du C. 

Je dois avouer que je n'avais pas fait attention à la différence avec C++, je viens de voir ça ici. Je crois bien que j'ai fait mon premier "Hello world" avec ce langage, avec code:blocks, en suivant le tuto du site du zéro.

J'ai acheté le journal Programmez! hier, il y a un article qui aide à choisir son langage de programmation.

Est-il mieux d'apprendre le C en faisant de petits programmes très simples à partir de 0 ou, en partant d'une des activités de Gcompris (ou d'un autre programme pour Foromus), d'essayer de comprendre les notions pour arriver à faire les changements voulus ?

Autre question : si je fais des petits programmes d'essais en C, quelle bibliothèque graphique dois-je utiliser pour me rapprocher de Gcompris ? Leur site est un peu confus pour une novice comme moi. Est-ce que c'est GTK ? Que veut dire API of the Gnomecanvas? Ils parlent aussi de Glib. Bref, plein de trucs compliqués que je ne pige pas bien et que j'aimerais appendre sans monopoliser  leur mailing list ! hmm

Dernière modification par doudoulolita (Le 06/09/2012, à 18:42)

Hors ligne

#15 Le 06/09/2012, à 19:51

moths-art

Re : Débuter en C

doudoulolita : oui, entre C/C++/Objective C/C# sans oublier GO (de google) ... y'a de quoi faire!

Bon, si tu n'es pas vraiment à l'aise sur un langage, tu risques de déchanter en retouchant un projet comme Gcompris.
Le mieux est de t’entraîner sur des tutos ... d'arriver au bout et de le modifier légèrement afin de comprendre des principes simples.

Une fois que tu arriveras à utiliser GCC/GDB facilement et que tu identifieras des bugs... tu pourras retoucher des projets existants.
Après, il vaut mieux s'atteler à modifier des petites parties sur un projet : soumettre des patchs.
Si tu soumets trop vite des grosses features, tu risques d'avoir pas mal de soucis pour l'inclusion, même si ça marche.
En effet, il y aura sans doute des problèmes de conception, de modularité etc.
Bref, ça t'obligeras à du refactoring.


Enfin, si tu veux te rapprocher de Gcompris, tu peux effectivement utiliser GTK. (gcompris en dépend : voir les dépendance du dépôt, tout simplement)

GTK c'est une boite à outil en quelque sorte pour créer un programme multi-plateforme.
Il en existe d'autre : QT pour KDE par exemple.
Il se présente comme une liste de composants à utiliser : boutons, listes déroulantes, navigateur de fichier etc.
Maintenant, GTK travaille en étroite colaboration avec d'autres librairies : glib -> boite d'outils non graphiques tel que l'ajout de cache, de threads etc.

Gnomecanvas c'est un composant de GTK qui permet du dessin libre.
L'interface graphique d'un jeu vidéo sous GTK se situerais à cet endroit.
Maintenant, c'est très bas niveau et si tu veux faire des trucs plus complexe, il faut utiliser la lib cairo. (surtout pour faire du vectoriel)

Perso, je m'amuse plus à dev que en C.
Je fais du python et si vraiment y'a des besoins critiques en calcul, je passe par le C.

Je crois qu'il existe un wrapper python pour gcompris donc tu devrais pouvoir l'utiliser...

Hors ligne

#16 Le 06/09/2012, à 20:01

Pacifick_FR42

Re : Débuter en C

@moths-art : python/c moi aussi je trouve ce compromis trés bien (et Qt pour les interfaces)

Hors ligne

#17 Le 06/09/2012, à 20:36

moths-art

Re : Débuter en C

Oui, Qt faudra vraiment que je m'y mette... (il parait que GTK est vraiment à des kilomètres)  pourquoi les journées ne font que 24h!

De l'autre, je crois avoir la réponse : beaucoup de projets auxquels j'ai participé sont en GTK : mypaint, gimp etc.

Hors ligne

#18 Le 07/09/2012, à 11:38

doudoulolita

Re : Débuter en C

Merci, moths-art ! Je vais suivre tes conseils et continuer avec python pour Gcompris, en même temps qu'apprendre un peu de C pour ne pas rester idiote ! lol

Encore que je me demande maintenant s'il ne vaut mieux pas devebir meilleure en python et ne pas me prendre la tête avec d'autres langages.

Ce qui est assez frustrant en programmation, c'est d'être obligé de passer plein de temps à apprendre un langage complexe avant de pouvoir réaliser des idées pourtant assez simples. Je suppose que c'est plus facile aujourd'hui qu'autrefois, mais ça reste encore assez ardu.

Dans un projet comme Gcompris, le fait de pouvoir créer de nouvelles activités encore plus facilement serait un sacré bonus car beaucoup d'enseignants pourraient apporter leurs idées. Leur doc pour les développeurs reste assez obscure si on démarre en programmation. Heureusement que Bruno Caudoin aide beaucoup via la liste de diffusion !

Je cherche aussi un journal pour les débutants (pour lire dans le métro et pour le plaisir du papier) mais Programmez ! s'adresse plutôt à des développeurs plus avancés, je viens de m'en rendre compte en le lisant aujourd'hui pour la première fois.

Côté bouquins, que me conseilleriez-vous, dans le genre "pour les nuls" ? wink

Dernière modification par doudoulolita (Le 07/09/2012, à 12:05)

Hors ligne

#19 Le 07/09/2012, à 11:42

Pacifick_FR42

Re : Débuter en C

moths-art a écrit :

Oui, Qt faudra vraiment que je m'y mette... (il parait que GTK est vraiment à des kilomètres)  pourquoi les journées ne font que 24h!

De l'autre, je crois avoir la réponse : beaucoup de projets auxquels j'ai participé sont en GTK : mypaint, gimp etc.

Qt & Python, avec le moulinette qui va bien, c'est plutôt simple wink

Hors ligne

#20 Le 07/09/2012, à 12:41

moths-art

Re : Débuter en C

doudoulolita : Je pense que ta démarche est bonne.
Concentre toi à fond dans un langage : une fois que tu en as fait le tour et compris certaines subtilités, c'est vraiment à partir de là que tu prendras ton pied et que certaines idées simples sur le papier te sembleront abordable.

Faire des tutos en C de temps en temps sans grande prise de tête, te permettra de relativiser. (avoir touché à plusieurs langage n'est que favorable)
En +, il ne faut jamais perdre à l'idée qu'un langage interprété est réalisé dans un langage compilé et que dans des cas exotiques, tu risques de t'en rendre compte. (combien de fois j'ai pu naviguer sur des sources en C pour comprendre une API ou utiliser GDB car le binding python était bancale dans certaines utilisations)
Ce que tu apprends en C, ne sera jamais perdu. (sont pas prêt de trouver un remplaçant)

doudoulolita a écrit :

Je suppose que c'est plus facile aujourd'hui qu'autrefois, mais ça reste encore assez ardu.

Oui et non.
Oui car t'as pleins de libs et de langages matures pour faire des choses de haut niveau.
Oui également car tu trouves beaucoup de choses sur le net sans avoir besoin d'un mentor physiquement à tes côtés ou d'une bibliothèque technique bien fourni.
Oui car les DVCS ont vraiment rendu le travail plus simple.
etc.

Non, car il y a de plus en plus de langage différents (le néophyte est vite noyé) et de programme qui jongle avec plusieurs.
Perso, je choisi déjà des langages non dépendant d'une entreprise (suffit de voir Java, C# pour se dégoûter)
Non, car la multiplications des plate-formes nécessite de faire des applis sur plusieurs archis, de connaître plus de concepts tel que les BDD, gestion de cache, Extreme programming, profiling, l'utf-8 et i18n, connaissance des réseaux et protocoles internet etc.

Non, car on invente + souvent la roue : combien de fois ça m'es arrivé de créer un truc puis de découvrir que ça existait déjà et en mieux. (ça m'arrive encore mais moins fréquemment)
Non, car on est souvent partagé entre plusieurs libs qui font presque la même chose : ça m'est déjà arrivé de changer 3/4 fois car je constatais amèrement que la lib utilisé ne convenait pas à mes besoins.
Non, car on passe des fois + de temps à configurer/améliorer son environnement de dev au début

doudoulolita a écrit :

Leur doc pour les développeurs reste assez obscure si on démarre en programmation. Heureusement que Bruno Caudoin aide beaucoup via la liste de diffusion !

Héhé, c'est le problème des devs. Plus tu avances et moins tu comprends le raisonnement des nouveaux.
En +, écrire de la doc... faut se faire violence.

Côté bouquins, que me conseilleriez-vous, dans le genre "pour les nuls" ?
Perso, j'ai commencé python avec ça : http://www.amazon.fr/Programmation-Pyth … 2212116772
Maintenant, la version de python utilisé commence à être vieillotte même si j'ai trouvé l'approche vraiment intelligente : ça monte en puissance.

Dernière modification par moths-art (Le 07/09/2012, à 12:50)

Hors ligne

#21 Le 11/09/2012, à 22:56

doudoulolita

Re : Débuter en C

@moths-art : Merci de tes conseils.
Le problème des bouquins, c'est que ça devient assez vite obsolète, faut avouer, mais j'ai du mal à m'en passer.
Aujourd'hui, les bouquins donnent pas mal d'adresses de sites pour compléter, ça c'est cool, mais il y a aussi des bouquins qui nécessitent le web pour pouvoir faire les exos, et ça , j'aime pas trop.

Petite déception aujourd'hui: j'espérais trouver un financement pour un projet où notre assoc' aiderait à développer des activités pour Gcompris (ou d'autres) sur le thème du développement durable mais mon assoc' a vu que c'est trop compliqué à obtenir.

Mais bon, je reste en contact avec ce topic, car on ne sait jamais, si c'est pas maintenant, ce sera pour plus tard et de mon côté, je peux continuer à titre perso à progresser.

Dernière modification par doudoulolita (Le 11/09/2012, à 22:58)

Hors ligne

#22 Le 14/09/2012, à 19:21

basquer

Re : Débuter en C

Je tombe sur ce fil de discussion et je ne pense pas qu'il faille recommander le C et encore moins le C++ pour s'initier à la programmation.
Le C a été créé pour la programmation système. On passe son temps à gérer des pointeurs et des pointeurs de pointeurs (**).
Les langages qui sont le plus adaptés à l'apprentissage de la programmation sont Pascal et Ada, qui est son prolongement.
Il existe un Free Pascal et pour Ada, il existe un IDE complet et gratuit soit chez Adacore, soit sur Debian.

Quant à la conception  d'une interface utilisateur par exemple avec GTK, il faut comprendre la programmation par événément, qui n'est
plus séquentielle, mais utilise des callbacks.

Pour l'apprentissage d'Ada (en anglais) :http://en.wikibooks.org/wiki/Ada_Programming/Basic

Pour un binding SDL en Ada (à jour de juillet 2012) :http://sourceforge.net/projects/adasdl/

Hors ligne

#23 Le 14/09/2012, à 20:39

Bousky

Re : Débuter en C

Mouais, enfin le Pascal et le C c'est la même chose… Sauf qu'en Pascal on est moins libre (et c'est moche tongue ).


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#24 Le 16/09/2012, à 17:05

illy91

Re : Débuter en C

Bonjour,

Je suis actuellement étudiant et apprend dans le cadre de mes études le C & le C++. J'ai pris pour habitude de coder sur Xcode ou bien sur VMS à l'école.

Je viens de télécharger Ubuntu dans l'optique de coder dessus donc je me permets de vous demandez conseil sur les logiciels ou autres éditeurs les plus adapté pour coder sur ces deux langages (ou bien d'autres). Le but pour moi étant enfin d'accrocher à la programmation et devenir d'un bon niveau.

Merci d'avance.

Hors ligne

#25 Le 19/09/2012, à 11:05

kaikim

Re : Débuter en C

Tu peux utiliser Geany ou Kate

Hors ligne