Apprendre le langage C et quelques questions
Le
heron maladroit
question :
Ne souhaitant pas passer trop de temps sur le langage C, ça fait 1 an
que j'ai commencé et je considère y donner encore 1 année de plus (=
à
raison de 4 à 8 heures par semaine), je pense que ce n'est pas
nécessaire de lire le K&R en profondeur pour un niveau en C que je
veux garder "basique". C'est bien de l'avoir sous le coude et par
moment pour voir un peu un style de programmation définitivement
brillant au niveau algorithmes.
En effet, étant comptable, je ne sais pas très bien à quoi le langage
C pourrait me servir concrètement. L'informatique occupe beaucoup mon
temps en dehors du temps de travail mais je ne vois pas pour le temps
que je peux y consacrer pour apprendre comment dans les conditions
actuelles du marché, trouver un travail dans ce domaine en qualité
d'autididacte. Peut-être je peux envisager d'écrire des petites
applications sur des appareils mobiles ou des applications web ? On
dirait que les grands éditeurs mettent en place des outils de
développement maison pour les appareils Androïd, iPhone
Et également, j'utilise linux et je ne sais pas quel niveau en langage
C il faut pour apprécier plus en profondeur cet OS ? J'ai vu que le
langage Shell est quelque chose d'utile pour personaliser Linux. Y-a-t-
il un pont entre le Shell (un des shell) et le langage C ?
J'ai quelques bases en C qu'on retrouve dans d'autres langages
(notamment au niveau algorithmique, pointeurs), c'est pourquoi
j'envisage après de me consacrer au C++. Mais je souhaite avant
consolider les bases et les aspects un peu délicats de ce langage
assez éprouvant à apprendre (mais j'ai commencé avec beaucoup de
sacrifices sur les loisirs, la vie de famille etc et je ne ferais pas
machine arrière). Je garde professionnellement la tête hors de l'eau,
je donne la priorité pour gagner de l'argent mais c'est beaucoup
d'énergie Côté francophone, l'initiative d'entreprendre et
également d'apprendre n'est pas tant encouragée. Malheureusement, on
voit le résultat ; l'état en France préfère une distribution Linux
anglo-saxonne au dépit de Mandriva.C'est un autre débat.
Je voudrais savoir si jusqu'à présent la "route" que j'ai choisie est
cohérente. Et surtout comment orienter la dernière année
d'apprentissage. Dans un livre, j'ai pu voir la bibliothèque Glib.
J'ai trouvé que la programmation était assez différente de celle de
stdio, stdlib. Faudrait-il que je me consacre à cet bibliothèque afin
d'avoir une connaissance plus pratique de ce langage ? Ou est-ce que
c'est réserver à un usage niveau expert du langage C, qui ne serait
pas très "utile" lors d'une conversion vers C++, Python, Php,
Javascript des langages vers lesquels je souhaite m'orienter par la
suite. Des langages comme Vb net, C sharp m'intéresseraient également.
Avant, je considère passer approximativement le double du temps que
j'ai passé à apprendre le C sur le C++ afin de comprendre la POO. Je
ne sais pas si c'est cohérent.
Merci pour vos conseils (on dirait que ce groupe est de moins en moins
animé - faut-il s'exprimer en anglais pour retrouver les experts de ce
forum)
Ne souhaitant pas passer trop de temps sur le langage C, ça fait 1 an
que j'ai commencé et je considère y donner encore 1 année de plus (=
à
raison de 4 à 8 heures par semaine), je pense que ce n'est pas
nécessaire de lire le K&R en profondeur pour un niveau en C que je
veux garder "basique". C'est bien de l'avoir sous le coude et par
moment pour voir un peu un style de programmation définitivement
brillant au niveau algorithmes.
En effet, étant comptable, je ne sais pas très bien à quoi le langage
C pourrait me servir concrètement. L'informatique occupe beaucoup mon
temps en dehors du temps de travail mais je ne vois pas pour le temps
que je peux y consacrer pour apprendre comment dans les conditions
actuelles du marché, trouver un travail dans ce domaine en qualité
d'autididacte. Peut-être je peux envisager d'écrire des petites
applications sur des appareils mobiles ou des applications web ? On
dirait que les grands éditeurs mettent en place des outils de
développement maison pour les appareils Androïd, iPhone
Et également, j'utilise linux et je ne sais pas quel niveau en langage
C il faut pour apprécier plus en profondeur cet OS ? J'ai vu que le
langage Shell est quelque chose d'utile pour personaliser Linux. Y-a-t-
il un pont entre le Shell (un des shell) et le langage C ?
J'ai quelques bases en C qu'on retrouve dans d'autres langages
(notamment au niveau algorithmique, pointeurs), c'est pourquoi
j'envisage après de me consacrer au C++. Mais je souhaite avant
consolider les bases et les aspects un peu délicats de ce langage
assez éprouvant à apprendre (mais j'ai commencé avec beaucoup de
sacrifices sur les loisirs, la vie de famille etc et je ne ferais pas
machine arrière). Je garde professionnellement la tête hors de l'eau,
je donne la priorité pour gagner de l'argent mais c'est beaucoup
d'énergie Côté francophone, l'initiative d'entreprendre et
également d'apprendre n'est pas tant encouragée. Malheureusement, on
voit le résultat ; l'état en France préfère une distribution Linux
anglo-saxonne au dépit de Mandriva.C'est un autre débat.
Je voudrais savoir si jusqu'à présent la "route" que j'ai choisie est
cohérente. Et surtout comment orienter la dernière année
d'apprentissage. Dans un livre, j'ai pu voir la bibliothèque Glib.
J'ai trouvé que la programmation était assez différente de celle de
stdio, stdlib. Faudrait-il que je me consacre à cet bibliothèque afin
d'avoir une connaissance plus pratique de ce langage ? Ou est-ce que
c'est réserver à un usage niveau expert du langage C, qui ne serait
pas très "utile" lors d'une conversion vers C++, Python, Php,
Javascript des langages vers lesquels je souhaite m'orienter par la
suite. Des langages comme Vb net, C sharp m'intéresseraient également.
Avant, je considère passer approximativement le double du temps que
j'ai passé à apprendre le C sur le C++ afin de comprendre la POO. Je
ne sais pas si c'est cohérent.
Merci pour vos conseils (on dirait que ce groupe est de moins en moins
animé - faut-il s'exprimer en anglais pour retrouver les experts de ce
forum)

Poser une question


Alors, ça commence mal à mon humble avis. ;-)
Hum, en tant que débutant, j'ai bien l'impression que le K&R
*soit* la base.
Pourquoi en fais-tu alors ?
Si tu vises de faire du web, fais du web enfin ! Ça n'a rien
à voir avec le C. Et ça n'est vraiment pas un prérequis.
L'avis du débutant que je suis est que non, ta route n'est
pas vraiment cohérente. Tu fais du C, mais tu ne sembles pas
savoir pourquoi. C'est visiblement pour apprendre à
programmer, mais pour ça de nombreux langages te seront plus
utiles, comme Python qui t'a été déjà cité si je ne m'abuse.
Tu veux faire autre chose que du C, en fait. Alors fais-le.
Tu penses que ça sera un retour en arrière, mais non ou très
peu. Et tu progresseras beaucoup plus rapidemment ensuite.
--
Unix is simple. It just takes a genius to understand its simplicity
--Dennis M. Ritchie
C'est LA Bible.
Tu peux le lire en un week-end et tu auras les meilleures bases possibles.
Je suis d'accord sur ce point. L'apprentissage de la programmation
est un processus qui prend beaucoup de temps. Et avec le C, la
difficulté est assez élevée puisqu'il faut gérer la mémoire
explicitement. Ce qui semble être quelque chose de difficile.
Ça dépend pour quoi faire ^^; Je n'ai pas lu le K&R car mon formateur
nous l'avait fortement déconseillé (peu accessible au programmeur
débutant). Mais je ne doute pas qu'il soit une référence que tout
développeur C doit avoir au moins parcouru.
L'apprentissage du C te permet déjà d'entre-apercevoir qu'il n'est
pas la technologie dont tu as besoin dans l'immédiat. C'est déjà pas
mal. Et au moins, tu auras compris ce que sont les pointeurs, les
problèmes liés à l'allocation et l'initialisation de la mémoire, son
usage, etc.
En quoi le C n'a rien à voir avec le Web ? On peut faire sans
problème du Web en C. Il y a même des cas où c'est considéré comme
incontournable (routeurs avec interface de configuration web par exemple).
Et personnellement, je considère encore toujours que des
connaissances (au moins basiques) de C et d'assembleur sont nécessaires
dans le cursus de l'apprentissage de la programmation. Rien que pour
comprendre les mécanismes sous-jacents de son langage de programmation
préféré. Mais tout le monde sur cette liste ne partage pas cet avis, et
cette remarque risque de lever un énorme troll velu et féroce.
Quitte à troller À noter que c'est un très bon bouquin (un peu verbeux, mais bon, il
faut bien modeler les esprits).
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
ah, pourquoi ça..
Plus d'un le considère comme la bible du C.
Ne serait-ce que parce que c'est, par définition, le 1er.
Mais c'est pas usurpé..
ah bah ça, c'est l'apanage d'un autre language.
C'est pas plutôt des cas dits "d'école", que le bouquin aborde ?
Ce qui est très bien, il en faut ; mais si je me souviens bien
l'illumination n'est que temporaire.
En général, il est pas recommandé aux débutants (en programmation),
mais si on a deja trifouillé 2, 3 languages, il est chaudement
recommandé de l'avaler.
eh ben.. bon courage, bonne chance, bonne année.. (s)
entre 0 et +oo ? toute valeur est acceptable amha.
Le 1er est écrit à l'aide du 2ème.
algorithmie, oui, on trouve ça dans pas mal de languages.
[sauf peut-être certains, où l'algorithmie se sent que très peu]
</mode "c'est_gratuit"="off">
Si tu arrives quelque part, c'est qu'elle l'était.
(je peux pas répondre pour toi, bien qu'a vu de nez, ça semble
un peu partir dans tous les sens..)
Allez, 2 balles de conseil, qui n'engage que celui qui le suivra:
laisse tout tomber sauf 1 ou 2, et focalise toi là dessus.
Je suggère JS et/ou PHP, parce qu'on peut faire plein de jolies choses
relativement rapidement.
Sinon, à 2 ans par language..
J'ai bien ma petite idée là-dessus =)
ah, bah qu'est-ce qu'il te faut !
Tu as vu le nombre de réponses / la taille des enfilades que tu génères ?
f.c.l.c not dead !
C'est toi qui vois...
Tu speakes bien l'english, ou si tu vas profiter du fait que tu apprends
7 languages (de progra) pour en apprendre un 8ème ?
--
christophe.
OK, je suis effectivement allé trop vite. *À son niveau*,
s'il veut faire du web, ce n'est je pense pas vers le C
qu'il faut se tourner ( encore une fois, Python ? ).
--
Unix is simple. It just takes a genius to understand its simplicity
--Dennis M. Ritchie