GNT sans publicité, site mobile, fonctionnalitées exclusives...

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)
Lire les 89 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 18
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vivien Moreau
Le #22159171
On 2010-05-23, heron maladroit wrote:

Ne souhaitant pas passer trop de temps sur le langage C [...]



Alors, ça commence mal à mon humble avis. ;-)

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".



Hum, en tant que débutant, j'ai bien l'impression que le K&R
*soit* la base.

En effet, étant comptable, je ne sais pas très bien à quoi le langage
C pourrait me servir concrètement. [...]



Pourquoi en fais-tu alors ?

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...



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.

Je voudrais savoir si jusqu'à présent la "route" que j'ai choisie est
cohérente.



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
alain
Le #22159561
heron maladroit wrote:
question :

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 LA Bible.
Tu peux le lire en un week-end et tu auras les meilleures bases possibles.
Mickaël Wolff
Le #22159551
Le 24/05/2010 07:59, Vivien Moreau a écrit :

Alors, ça commence mal à mon humble avis. ;-)



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.


Hum, en tant que débutant, j'ai bien l'impression que le K&R
*soit* la base.



Ç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.


En effet, étant comptable, je ne sais pas très bien à quoi le langage
C pourrait me servir concrètement. [...]





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.

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.



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.


Je voudrais savoir si jusqu'à présent la "route" que j'ai choisie est
cohérente.



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.



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
xtof.pernod
Le #22159891
Le 23/05/2010 21:36, heron maladroit a fait rien qu'à écrire :
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



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é..

veux garder "basique".



ah bah ça, c'est l'apanage d'un autre language.

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.



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.


On
dirait que les grands éditeurs mettent en place des outils de
développement maison pour les appareils Androïd, iPhone...



eh ben.. bon courage, bonne chance, bonne année.. (s)


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



entre 0 et +oo ? toute valeur est acceptable amha.

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 ?



Le 1er est écrit à l'aide du 2ème.

J'ai quelques bases en C qu'on retrouve dans d'autres langages
(notamment au niveau algorithmique, pointeurs...), c'est pourquoi



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">

(..)
Je voudrais savoir si jusqu'à présent la "route" que j'ai choisie est
cohérente.



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..)

(...) Php,
Javascript des langages vers lesquels je souhaite m'orienter par la
suite. Des langages comme Vb net, C sharp m'intéresseraient également.



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..

(...) la POO, Je
ne sais pas si c'est cohérent.



J'ai bien ma petite idée là-dessus =)

Merci pour vos conseils (on dirait que ce groupe est de moins en moins
animé -



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 !

faut-il s'exprimer en anglais pour retrouver les experts de ce
forum...)



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.
Vivien Moreau
Le #22160381
On 2010-05-24, Mickaël Wolff wrote:

Le 24/05/2010 07:59, Vivien Moreau a écrit :
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.



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).



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
Publicité
Suivre les réponses
Poster une réponse
Anonyme