Aide Linux - Liste de diffusion Ze-Linux
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [ Language C ] Apprendre la programmation en C



Salut,

Effectivement le livre que tu cite de Christophe Blaess à l'air allechant
comment ca, mais pour commencer à programmer ce n'est peut être pas un choix
judicieux ... c'est déjà d'un niveau intermédiare et spécifique à la
programmation systeme comme le dit son titre :-) et personnellement, je ne
trouve pas qu'il soit fait pour lire de la page 1 à 900, c'est plus un
outil, tu prend ce qui t'intéresse.
Mais si tu connais pas du tout la programmation je te conseil plus des
livres généraliste sur le C genre "Le language C". A mon avi pour commencer
c'est quand même plus simple et en plus ca évitera de te dégouter de la
programmation avec des trucs ultra spécifique.
Par contre tu peux garder ton bouquin au chaud car tu pourra en avoir besoin
plus tard quand tu arrivera aux notions qui sont développées dans le
bouquin.
Enfin si j'ai un conseil à te donner c'est de prendre des bouqin plus à ta
porté, dérrière il est marqué que c'est un bouquin pour les administrateurs
!système! et au élève de 1 et 2 cycle d'ingé ... en gros ca veux dire
connaissance requise ...

Perso j'ai commencer avec "Langage C" chez micro application il est pas mal
et il a l'avantage de faire windows et linux { bien que ca soit réstreint au
niveau spécifique linux}. C'est pas la référence mais en tout cas ca m'a
permis d'avancer...

Pour répondre à tes questions :

J'ai appris le C en faisant des projets de plus en plus compliquer { hello
world, agenda, batail naval, manipulation de fichier, programmation réseau,
etc} et en lisant beaucoup mais c'est bien la pratique qui fait progresser
{nuit blanche, crises de folie aïgues, doliprane, coca et clope sont des bon
complément lol nan fumer c'est mal}.

La différence entre le C et le C++ c'est que le C++ est orienter objet c'est
a dire au lieu d'ecrire un fichier source avec des fonctions tu l'ecrit en
faisant inter-agire des objet entre eux c'est un peu suxX comme ca mais
quand tu aura commencer a tater du C tu pourra comprendre les réels anvancée
faite avec la programmation objet.
Le java est un language completement objet { et non orienté objet ;)}
Je en considére pas le html comme un langage mais plus comme un moyen de
formatter un text.
Quand au javascript et au C# je ne connais pas asser pour t'en faire un bref
exposé.


voila j'espere que ca à pu t'éclairer

bon courage ++


> -----Message d'origine-----
> De : Yves [mailto:yves.dornier@tiscali.fr]
> Envoyé : mardi 1 juillet 2003 20:51
> À : aide-linux@lists.over-link.net
> Objet : [ Language C ] Apprendre la programmation en C
>
>
> Slt la liste,
>
> Chez moi j'en ai fais mon os principal avec linux il y a de ça + de 6
> mois, windows contient quelques jeux et ne démarre que 1 fois / mois
> maintenant. Alors que linux mini 1 fois/jour mini.
> Je me suis mi à fond dans linux, internet au niveau de la doc. En 2
> mois, j'en savais suffisement pour en faire mon os principal et en faire
> autant sous win que sous linux.
>
> J'aimerais programmer sous linux, j'ai acheter un bouquin de
> programmation " Programmation système en C sous linux ". Au debut on
> nous explique les outils qui sont sous linux,  ensuite je commence à
> attaquer les intructions C et à partir de là je trouve qu'on commence
> par Z pour allez jusqu'a A dans ce bouquin.
> C'est comme si on vous montrait comment paramétrer mon machine sous
> linux en mode console alors que vous ne savez pas vous déplacer, copier,
> déplacer les fichiers, créer supprimer...
>
> Je vous donne un ex tirer du couquin :
>
> Premières instructions que j'apprends alors que je ne sais pas commenter
> un fichier source " fork() "" getppid () " et " getpid " C'est expliquer
> en gros ( je dis en gros car on n'esplique pas ce qu'on peux mettre dans
> les parentèses et il doit manquer surement d'autres trucs).
> Ensuite il propose un exemple appelé exemple_fork.c (désolé pour la mise
> en forme mais un espace ne correspond pas à la taille d'un caractère
> sous mozilla ):
>
>
>     #include <stdlib.h>
>     #include <stdio.h>
>     #include <unistd.h>
>     #include <errno.h>
>     #include <sys/wait.h>
>
>     int
> main (void)
> {
>     pid_t   pid_fils;
>
>     do {
>           pid_fils = fork ();
>     } while ((pid_fils == -1) && (errno == EAGAIN));
>
>     if (pid_fils == -1) {
>        fprintf (stderr, "fork () impossible, errno=%d\n, errno);
>     }
>     if (pid_fils == 0) {
>        fprintf (stdout, "Fils : PID=%d,  PPID=%d\n",
>           getpid (), getppid ())
>        return (0);
>     } else {
>        fprintf (stdout, "Père : PID=%d, PPID=%d\n",
>              getpid (), getppid ());
>        wait (NULL);
>        return (0);
>     }
> }
>
> Il montre ce que le prog affiche lors de son exécution
>
> $ ./exemple_fork
> Père : PID=31382, PPID=30550, PID fils=31383
> Fils : PID=31383, PPID=31382
> $
>
> Avec les 3 fonctions apprises, j'ai compris 10% du programme ( aucun
> commentaire dans le prog ou après sauf sur "wait (NULL)" et 100% des
> valeurs affichées lors de son exécution sans même voir marquer Père ou
> Fils les résultats parlent d'eux même.
> Comment peut-on donner un exemple, comme ça, sans rien expliquer des
> autres fonctions utilisés.
> Peut être que le livre ne correspond pas à ce que j'attendais.
>
> wait (NULL) sert à attendre la fin de l'éxécution du fils avant le père.
> Sinon on aurait pu observer:
>
> $ ./exemple_fork
> Père : PID=31382, PPID=30550, PID fils=31383
> $ Fils : PID=31383, PPID=1
>
> Mes questions sont :
> Comment avez-vous appris le language C ?
> Quel est la différence avec C++ et C# ( est-ce des autres languages
> totalement différents et peut-il compléter le langaguge C ( un peut
> comme le html et javascprit )
> Quel livre de programmation C me conseilleriez-vous pour un gas qui ne
> connait rien en programmation ?
>
> Merci, d'avoir tout lu l'email.
> @+
>
>
>
>
> ----------------------------------
> Informations, désabonnement, règles, obligations sur la liste Aide-Linux :
> http://lists.ze-linux.org/howto_ml.html

----------------------------------
Informations, désabonnement, règles, obligations sur la liste Aide-Linux :
http://lists.ze-linux.org/howto_ml.html


Aide Linux - Liste de diffusion Ze-Linux