hilpers


  hilpers > comp.lang.* > comp.lang.c

 #1  
15/02/2017, 17h09
lovecratreides
Bonjour,
je cherche à apprendre le C, qui est le langage utilisé à 42 (souhaitan
postuler à une piscine à ma majorité).
Cependant, j'ai lu au cours de mes recherches qu'il s'agissait d'un langag
assez complexe, voire obscur pour un total néophyte comme moi.

D'où ma question
: vaut-il mieux apprendre le C directement ou apprendre d'abord un autre langag
(comme le javascript ou [attention, débat lancé] le C++, dont j'ai également l
qu'ils étaient plus simples à aborder) qui me permettrait d'intégrer la logiqu
de prog avant de me lancer dans le grand bain, sachant qu'il me reste encore 2/
ans au lycée ?

Au passage, si vous pouviez me conseiller des sites pour apprendre le C (j'en a
trouvé relativement peu) au style interactif qui évite les pages entières d
texte, ça m'arrangerait beaucoup !

Merci d'avance, en espérant ne pas avoir déclenché la 3e Guerre Mondiale d
débat C vs C++ bien connue des forums !

lovercratreides

 #2  
15/02/2017, 17h28
Olivier Miakinen
Bonjour,

Le 15/02/2017 17:09, lovecratreides a écrit :
> [...]
> : vaut-il mieux apprendre le C directement ou apprendre d'abord un autre langage
> (comme le javascript ou [attention, débat lancé] le C++, dont j'ai également lu
> qu'ils étaient plus simples à aborder) qui me permettrait d'intégrer la logique
> de prog avant de me lancer dans le grand bain, sachant qu'il me reste encore 2/3
> ans au lycée ?


Sans trop me mouiller, je dirais que tu as intérêt à apprendre le
langage dont tu peux avoir l'utilité dès aujourd'hui, et pas dans
deux tiers d'ans (ou dans deux ou trois ans, selon comment on lit
ton « / »).

Si tu as la possibilité de faire un site web et que c'est ça qui te
branche, tu pourrais faire un peu de JavaScript ou (inclusif) un
peu de PHP.

Mais selon tes centres d'intérêt tu pourrais préférer faire du C,
du C++, voire du C# si tu es sur Windows, ou bien du lisp, du
python, du ruby, voire même du cobol, du fortran ou du basic !
Chaque langage a ses qualités et ses défauts (bon, certains ont
surtout des défauts, mais à la limite ça peut être amusant aussi
de jouer avec ces défauts).

Si tu as accès à Windows encore une fois, tu peux même jouer à te
programmer des jeux vidéo, d'abord avec l'interface graphique, puis
avec un langage de script dont la syntaxe est très proche de celle
du C (et de C++, JavaScript, PHP, etc.) :
<http://www.yoyogames.com/gamemaker>.

Bref, ne demande pas quel est le meilleur langage pour commencer,
mais celui qui correspond le mieux à ce que tu aimerais faire
*aujourd'hui* comme programmes.
 #3  
16/02/2017, 19h21
lovecratreides
Le mercredi 15 Février 2017 à 17:09 par lovecratreides :
[..]
> lycée ?
> Au passage, si vous pouviez me conseiller des sites pour apprendre le C (j'en
> ai trouvé relativement peu) au style interactif qui évite les
> pages entières de texte, ça m'arrangerait beaucoup !
> Merci d'avance, en espérant ne pas avoir déclenché la 3e
> Guerre Mondiale du débat C vs C++ bien connue des forums !
> lovercratreides

merci pour ta réponse Olivier, je me posais juste la question de savoir si le
était abordable pour un outsider du code ou si il valait mieux que je commenc
par d'autres langages qui me permettraient de mieux l'appréhender.

Je vais donc me lancer dans le C :)

Du coup, deux autres questions :

- As-tu, comme dit plus haut, des sites / tutos à me conseiller ?

- Vaut-il mieux que je me concentre sur un seul langage à approfondir o
plusieurs langages que j'apprendrais en même temps, sachant que j'ai tendanc
à être très touche-à-tout ??

P.S : le "/" veut bien dire "ou" :)
 #4  
16/02/2017, 19h40
Olivier Miakinen
Le 16/02/2017 19:21, lovecratreides s'est répondu :
> Le mercredi 15 Février 2017 à 17:09 par lovecratreides :
>> [...]
>> lovercratreides

> merci pour ta réponse Olivier,


C'est rigolo : pourquoi cites-tu l'intégralité de ce que tu avais écrit
toi-même avant de me répondre ?

> je me posais juste la question de savoir si le C
> était abordable pour un outsider du code ou si il valait mieux que je commence
> par d'autres langages qui me permettraient de mieux l'appréhender.


À mon avis, n'importe quel langage convient pour commencer. Garde
juste en tête qu'aucun langage n'est parfait et que chacun d'entre
eux peut induire des « tics » de programmation dont il pourrait
être difficile de se défaire si tu n'en pratiques qu'un seul de
manière intensive.

> Je vais donc me lancer dans le C :)
> Du coup, deux autres questions :
> - As-tu, comme dit plus haut, des sites / tutos à me conseiller ?


Non. J'ai appris le C il y a si longtemps que tout ce que j'ai utilisé
moi-même pour l'apprendre est dépassé depuis belle lurette. En plus
j'avais déjà pratiqué un certain nombre d'autres langages avant de me
mettre au C, eux-mêmes encore plus dépassés.

> - Vaut-il mieux que je me concentre sur un seul langage à approfondir ou
> plusieurs langages que j'apprendrais en même temps, sachant que j'ai tendance
> à être très touche-à-tout ??


C'est à toi de voir si tu arrives à apprendre plusieurs langages sans
les confondre. Si oui, et surtout si tu es touche-à-tout, alors je
pense que ça peut être une très bonne idée d'en voir plusieurs en
même temps. S'ils sont très différents, ce sera peut-être plus facile
de ne pas se mélanger les pinceaux. S'ils sont proches ce sera moins
facile, mais tu verras peut-être mieux les avantages et inconvénients
de telle ou telle approche.

> P.S : le "/" veut bien dire "ou" :)


:)

C'est bien ce que j'avais supposé, mais je suis resté très joueur.
 #5  
17/02/2017, 09h46
Marc Espie
Allez on va troller un peu.

Comme le disait Olivier, Jean-Baptiste, je ne sais pas pourquoi tu
poses une question si tu n'ecoutes meme pas la reponse.

Si tu as l'intention d'apprendre le C, vas-y. Ca reste un langage
extremement interessant.

Difficile comme langage ? Pour moi, ca l'etait pas vraiment plus que
le reste de "l'offre" que j'avais a l'epoque. C'etait clairement
moins complique que l'assembleur, potentiellement a peu pres aussi
performant. J'avais deja teste le pur interprete/pas verifie/sans variables
locales, et l'idee d'avoir un compilateur qui *verifiait* ce que je faisais
et me sortait des erreurs de type a la compilation, c'etait juste un gros
progres sur le reste...

(faut voir que le reste, c'etait basic, assembleur, pascal, ou forth...)

et vu les machines dont je disposais, ben les autres langages evolues avaient
tout bonnement une trop grosse empreinte memoire pour faire quoi que ce soit
d'utile (la-encore, le reste c'etait lelisp, buggue jusqu'a l'os)

Pour ce qui est d'apprendre le langage, tu vas devoir te farcir du texte.

Attention, on parle d'apprendre le langage, pas juste bidouiller des trucs
tendance bisounours et etre content parce que tu as passe deux levels sur
un site interactif qui t'apprend juste a ecrire un fragment de quinze
lignes de code.

Par essence, le C, ca reste le langage pour ecrire des vrais trucs, faire
des bisous au systeme, et tout reecrire from scratch si necessaire parce
que sinon ca ira pas assez vite. Donc une bonne dose de manuel. Un bouquin
quelconque d'apprentissage, des petits programmes qui deviennent rapidement
le truc vraiment cool que t'as envie de finir qui te pousse a lire une
vraie doc propre (le Kernighan et Richie, ou le Harbison et Steele, voire
pour les fous-furieux, la norme).

Faut juste eviter de rester sur son code, et il faut regarder du code autre
DE PREFERENCE du code de production, et pas du code moisi venant
de developpezsiteduzero42moisi.com.

Voila. C'est peut-etre plus la culture inherente au fait de programmer en C
et l'etat d'esprit qui sont importants. Et je parle pas du fait de se faire
bizuter avec six mois a faire semblant d'ecrire du code, mode "fire and forget"
je fais un projet qui tourne a peu pres, je finis pas de debugguer et je
passe a autre chose, mais bien la notion de faire des trucs qui fonctionnent
et maitrises.

Dans les autres langages, je vais avoir du mal a recommander le C++ en
auto-didacte, parce que c'est quasi-impossible de trouver des documents
propres qui parlent du langage AUJOURD'HUI. Il y a eu une grosse revolution
depuis 2011, et on ne programme plus du tout en C++ pareil aujourd'hui
qu'il y a quelques annees... sauf que les docs seront plus concernees, soit
avec des trucs qui n'ont plus lieu d'etre aujourd'hui, soit avec du
branlage de nouille sur des concepts esoteriques comme la meta-programmation
fonctionnelle avec des templates partout. A force de tout generaliser et
de rajouter des concepts bizarres un peu partout, C++ a totalement reussi
a etre inabordable pour le neophyte. Je vois pas comment on peut apprendre
le langage aujourd'hui sans devoir se farcir tous les accidents historiques
accumules en 98.
 #6  
17/02/2017, 10h22
Lucas Levrel
Le 15 février 2017, à 10:09, lovecratreides a écrit :

> Cependant, j'ai lu au cours de mes recherches qu'il s'agissait d'un langage
> assez complexe, voire obscur pour un total néophyte comme moi.
> D'où ma question : vaut-il mieux apprendre le C directement ou apprendre
> d'abord un autre langage (comme le javascript ou [attention, débat
> lancé] le C++, dont j'ai également lu qu'ils étaient plus simples à
> aborder) qui me permettrait d'intégrer la logique de prog avant de me
> lancer dans le grand bain, sachant qu'il me reste encore 2/3 ans au
> lycée ?


Si tu n'as jamais rien programmé, il y a deux difficultés à distinguer :
- apprendre à programmer ;
- apprendre un langage de programmation.

J'ai des étudiants de master qui n'arrivent pas à programmer, non pas par
absence de maîtrise du langage, mais faute de comprendre la logique qui
sous-tend la programmation.

Aussi, si vraiment tu n'as jamais rien programmé, je te conseillerais de
commencer par un langage interprété et interactif. Un truc comme Scilab
n'est pas du tout destiné à faire de l'informatique, mais te faciliterait,
à mon avis, les premiers pas avec « for », « if », « while », le concept
de fonction... les bases.

Ne pas y rester trop longtemps, comme l'a dit Olivier, car tu pourrais
prendre de mauvaises habitudes, et aussi parce que des concepts importants
de l'informatique sont cachés chez les langages simples : typage,
pointeurs...

Je dirais à la louche, mais j'attends l'avis des profs d'informatique dont
je ne fais pas partie, que tu pourras passer à un langage « complexe »
comme le C quand tu sauras faire, avec le langage simple que tu auras
choisi, un programme capable de déterminer tous les nombres premiers entre
1 et N (N choisi par l'utilisateur).

Réponds aussi à la question d'Olivier : qu'aimerais-tu faire *aujourd'hui*
comme programmes ? Tu seras plus persévérant si ton objectif t'attire.
 #7  
17/02/2017, 15h05
lovecratreides
Le mercredi 15 Février 2017 à 17:09 par lovecratreides :
[..]
> lycée ?
> Au passage, si vous pouviez me conseiller des sites pour apprendre le C (j'en
> ai trouvé relativement peu) au style interactif qui évite les
> pages entières de texte, ça m'arrangerait beaucoup !
> Merci d'avance, en espérant ne pas avoir déclenché la 3e
> Guerre Mondiale du débat C vs C++ bien connue des forums !
> lovercratreides merci pour vos réponses !


epsie, que veux-tu dire par "code de production" ?
quelques choses comme des codes sources ?
 #8  
17/02/2017, 15h44
Olivier Miakinen
Le 17/02/2017 15:05, lovecratreides s'est encore répondu :
> Le mercredi 15 Février 2017 à 17:09 par lovecratreides :
>> [citation complète du texte de lovecratreides]
>> lovercratreides

> merci pour vos réponses !


Bonjour Olivier Miakinen, comment ça va Olivier Miakinen ? Pas
mal Olivier Miakinen, et toi Olivier Miakinen ? Oh, merci Olivier
Miakinen. Allez, salut Olivier Miakinen !
 #9  
18/02/2017, 14h45
Marc Espie
In article <e9CdnZTVHqm7njrFnZ2dnUU798zNnZ2d>,
lovecratreides <nospam_jeanbaptiste.rege> wrote:
>Le mercredi 15 Février 2017 à 17:09 par lovecratreides :
>merci pour vos réponses !
>epsie, que veux-tu dire par "code de production" ?
>quelques choses comme des codes sources ?


ben si t'es meme pas foutu de recopier un nom sans te gaufrer c'est plutot
mal barre pour apprendre a programmer. Ca reclame un peu de rigueur.

J'entend le code source de "vrais programmes", pas des exos debiles qui
ne servent a rien.
 #10  
18/02/2017, 19h17
Olivier Miakinen
Le 18/02/2017 14:45, Marc Espie a écrit :
> [...]
> lovecratreides [...]
>>> lovercratreides

>>epsie, [...]

> ben si t'es meme pas foutu de recopier un nom sans te gaufrer


Même le sien, il n'est pas capable de l'écrire deux fois pareil. ;-)

> c'est plutot
> mal barre pour apprendre a programmer. Ca reclame un peu de rigueur.
> J'entend le code source de "vrais programmes", pas des exos debiles qui
> ne servent a rien.


Pas mieux.
 #11  
24/03/2017, 18h58
Jo Engo
Le Fri, 17 Feb 2017 08:46:41 +0000, Marc Espie a écrit :

> le Kernighan et Richie


Juste indispensable.
(c'est un livre, il s'appelle C, ou le langage C je ne sais plus)

Discussions similaires
cx-freeze pour les très nuls et juste pour voir

Linux pour les nuls ou pour des centaines de millions de particuliers

Un sujet pour les profs de philo (pas pour les nuls du forum)

Plateforme J2EE pour le plaisir, et pour apprendre...


Fuseau horaire GMT +2. Il est actuellement 03h41. | Privacy Policy