J’aimerais améliorer mon niveau en C (qui se limite aux bases) mais je ne sais pas trop par où commencer (haha): j’ai dl les sources de coreutils mais rien qu’à la vue des différents codes sources j’me sens un peu paumé… (pas l’habitude des codes aussi longs et je ne dois pas saisir toutes les subtilités)
Si quelqu’un a un conseil / un bon lien, je suis preneur !
Ca dépends de ce que tu cherche à faire, mais si tu veut tu peut reproduire les commandes coreutils toi même (tu peut te limiter à POSIX c’est plus simple) et comme lecture le seul livre sur le C que j’ai lu c’est “programmation en C sous linux”…
Je ne souhaite pas spécifiquement reproduire les commandes coreutils. Seulement pour commencer les “choses sérieuses” en C ça me paraissait un bon point de départ… Mais je trouve ça déjà un peu galère
Merci pour la référence du livre, j’essaye de trouver ça !
Je suis une bille en C, et pourtant j’arrive à comprendre à peu près comment fonctionnent les codes écrits chez suckless.org . Ils restent assez simple et plutot clair. Mais bon, ce ne serait qu’une étape avant les choses hyper sérieuses
C’est normal de se sentir dérouter en lisant le code source des différents commandes de coreutils, ces derniers sont loin d’être simple. D’ailleurs, je trouve que la pluspart des sources du projet GNU sont assez difficile à lire et à comprendre. En règles générale je trouve les sources des BSD plus “pédagogique” et plus simple (ce n’est que mon avis).
Sinon, comme l’a dit MisterFreez cela dépend de ce que tu veux faire et aussi où tu en est au niveau du langage C. Tu as déjà lu des livres sur le sujet comme le K&R (Le langage C Norme ANSI) par exemple?
Thuban: merci pour le lien, ça m’a l’air bien sympa comme site !
Taurre: Je n’ai pas beaucoup utilisé la littérature existante, je dois bien l’avouer. Je vais essayer de me procurer ces ouvrages mais également les sources BSD.
Globalement j’ai compris les concepts << de base >> du C mais je n’ai que trop peu pratiqué. Un peu de lecture de code va sans doute me (re)motiver pour m’y mettre
Mon conseil : c’est en forgeant que l’on devient forgeron. Choisis une idée de programme et mène là jusqu’au bout.
Je te conseille de faire un programme de tri d’entiers. Ce programme prend en entrée deux noms de fichiers. Dans le premier fichier, il y a un nombre sur chaque ligne. Le programme doit trier les entiers par ordre croissant et stocker le résultat dans un fichier (le nom de ce fichier est le deuxième argument passé au programme).
En parleant de forger pour être forgeron, il y a un site super sympa : pythonchallenge.com/
Alors, c’est à la base pour le python, mais le principe peut être fait avec n’importe quel langage!
En gros, tu arrives sur une page avec une énigme, tu dois la résoudre en utilisant la programmation. La réponse te donne l’adresse de la page web suivante.
Tu peux par la suite aller observer les corrigés, tu trouveras tout un tas d’autres manières de faire ce que tu viens de faire. C’est très enrichissant.
Il existe peut-être d’autres sites du genre?
Bonjour à tous,
Il n’est plus grande vérité que celle qui consiste à dire que c’est en forgeant que l’on devient forgeron ! C’est pourquoi, si tu maîtrises les bases du langage, il faut se lancer dans un projet !
Il y a bien une commande ou une petite application qui te manque. Ou, s’il elle existe, elle ne te convient pas parfaitement. Lance-toi dans le codage de celle-ci et je peux t’assurer que tu progresseras !
Avec un peu de courage, les sites de documentations officielles, les forums et tutoriels devraient te mener à ce (double) but.
[quote=“thuban”]En parleant de forger pour être forgeron, il y a un site super sympa : pythonchallenge.com/
Alors, c’est à la base pour le python, mais le principe peut être fait avec n’importe quel langage!
En gros, tu arrives sur une page avec une énigme, tu dois la résoudre en utilisant la programmation. La réponse te donne l’adresse de la page web suivante.
Tu peux par la suite aller observer les corrigés, tu trouveras tout un tas d’autres manières de faire ce que tu viens de faire. C’est très enrichissant.
Il existe peut-être d’autres sites du genre?[/quote]
Je trouve ça intriguant de résoudre ces énigmes avec python à partir d’un site web…la piste est dans le code source des pages??