Apprendre le C

Salut tout le monde,

Je compte me mettre au C (je vais essayer :mrgreen: ).

j’ai trouvé un site qui a l’air sympa. Qu’en pensez-vous ?

Données et Algorithmique --> http://ptrau.free.fr/program/algo.htm
Langage C --> http://ptrau.free.fr/program/tpc.htm

Mes connaissances en Dev (php,HTML, LotusScript)

Merci

2 J'aime

Salut
je m’y met avec ça :
siteduzero.com/tuto-3-8-0-ap … -en-c.html
Je le trouve sympa, et il y a des petits exos à la fin de chaque partie

Curieux cette génération qui apprennent d’abord le php, l’html puis pour venir au C.
Il y a de ça quelques années on apprenait d’abord le langage machine, puis l’assembleur et après on apprenait le pascal ou le C :smt003

Si j’ai un livre à conseiller c’est

en entrée puis en plat de résistance

et en dessert
ou

1 J'aime

Qu’apportent C ou C++ en action quand tu viens de “lire” Prog sys en C sous linux ?

[quote=“MikeMeilleur”]http://www-ipst.u-strasbg.fr/pat/program/algo.htm
Langage C --> http://www-ipst.u-strasbg.fr/pat/program/tpc.htm
[/quote]

Pas mal comme site pour les bases, mais aussi de bonnes perles sur developpez.com, notamment pour les doc sur les librairies.
Pour rejoindre dmon, une paire de bon bouquin le fait aussi.

C’est drôle quand même, moi le C j’en fais depuis longtemps, alors que je me suis mis à l’html et au php cette année seulement.

Je te souhaite de bien t’amuser avec ce bon langage :smiley:
Fais attention à la mémoire !

C’est vrai que c’est un peu bizarre d’apprendre le php avec le C, mais pourquoi pas…

Si tu connais déjà le php, étant nettement inspiré (syntaxiquement parlant) du C tu ne devrais pas avoir de problème pour faire un petit programme simple en console.

Je te conseille aussi le site du zéro pour commencer et Developpez.com pour te perfectionner.

Amuse toi bien ! Et même si le C est un peu compliqué quand on veut aller un peu plus loin il ne faut pas oublier que c’est un langage rapide et puissant !

Un très bon site sur le C

mapage.noos.fr/emdel/

Le plus facile et meilleur bouquin (c’est mieux un livre dans la pratique)

C’est “The C Language” Ritchie & Kernighan.

J’ai appris le language comme ça et ce fut une expérience unique.

Ensuite tu peux presque maitriser tous les languages.

C’est plus une base de compréhension.

Livre de chevet.

en.wikipedia.org/wiki/The_C_Prog … uage_(book

oué enfin le k&r c’est un peu vieillot maintenant… :slightly_smiling:

Moi je dit:

int main(int argc, char **argv)
{
  char pouet[] = "Je code pour apprendre.\n";
  printf("%s", pouet);
  return 0;
}
1 J'aime

C’était même vieillot à l’époque à laquelle je l’ai lu.

Mais justement… Ca permet d’exploiter toute la puissance du “produit”.

Un exemple très simple c’est la copie de structure.

En C puriste c’est a = b.

Ca a été repris pour la gestion des classes en C++

Exemple : plutot que de faire un strcpy d’une chaine tu utilises une structure dont tu fais une copie.

Quelques instructions CPU (4 je crois) et le code est executé. combien pour un strcpy ?

ça dépend ce qu’on veut fait avec le langage C!!!

Moi je trouve que c’est le meilleur langage pour les DSP et les microcontrôleurs.

printf("apprend %s",C'est pour te marrer ? le ch'ti : Pour te prendre la tête ? Java : Pour gérer l'album photo de la famille ? le php : pour bosser en administration ? foxpro : Pour passer pour un g33k néo rétro ? Pascal : Pour développer sérieusement ? C : visual basic);

Le site du zéro, moi j’aime beaucoup, pour ma part j’ai appris le C à l’école (ce fut assez horrible, avec le pseudo code et tout, ou comment faire trois pages de papier pour 5 lignes de code :laughing: )

juste pour info, le site a déménagé, il est désormais sur http://ptrau.free.fr/program/algo.htm et http://ptrau.free.fr/program/tpc.htm.
J’en suis l’auteur, et compte profiter de ma prochaine retraite pour le remettre à jour

2 J'aime

Merci beaucoup pour cette mise à jour et bienvenue sur le forum.

J’ai commencé par le BASIC puis je me suis mis à l’assembleur Z80 et ensuite au langage C car à l’époque c’était ce qu’il y avait de plus abordable tant au niveau matériel qu’investissement financier. J’ai ensuite appris le HTML,CSS et Php ainsi que d’autres langages et notamment d’autres langages assembleur .
Il n’y a rien d’étrange à commencer par ce qui est le plus répandu ou le plus accessible pour ensuite s’intéresser à un langage tel que le C. Les temps ont changé et je ne conseillerai personne de commencer par le BASIC car le langage Python permet de s’initier facilement à la programmation tout en permettant d’aller jusqu’à de la programmation objet si on le souhaite. Certes cette programmation objet sous Python est partielle et ne saurait remplacer C++. Le point commun entre C++ et le C est l’usage de pointeurs, un chapitre essentiel et donc incontournable en matière de programmation en C mais loin d’être évident au premier abord. Si l’on s’intéresse davantage au « backend » ou aux systèmes embarqués sans programmation orientée objet alors le C serait le langage de prédilection (Je ne connais pas encore Rust mais il se pourrait bien qu’il devienne un jour le langage de prédilection par son niveau de sécurité plus important). Si par contre on souhaite développer une application Web ou « frontend » alors Php ou Python sont beaucoup mieux appropriés car il permettent notamment de s’affranchir de la gestion de la mémoire. La tendance de ces dernières années est toutefois en faveur de Python face à Php pour les nouveaux projets Web.
De toute évidence, la meilleure formation est celle qui répond à ses besoins: faut-il apprendre à réinventer la roue en apprenant le binaire, l’utilisation des registres, ou utiliser des usines à gaz que sont les frameworks ? Il n’y a pas de réponse toute tranchée, cela dépend du contexte, des besoins. On aurait tendance à penser que la formation que l’on a reçue est la meilleure mais c’est oublier un peu vite que d’autres courants de pensée ou d’angles d’attaques d’un problème existent. Le meilleur langage pourrait bien être celui le mieux maîtrisé par une équipe…
Dans tous les cas, une ouverture d’esprit est nécessaire pour ne pas répéter certaines erreurs du passé ou reprendre des techniques obsolètes ou s’engouffrer aveuglément dans de nouvelles méthodes qui peuvent être parfois des bombes à retardement et mettre à mal les projets notamment d’un point de vue sécurité. Non, en matière de formation il n’y a pas qu’un seul parcours ! Généralement ceux de la vieille école ne connaissent pas bien les frameworks et les dernières générations ne maîtrisent pas suffisamment les langages tels que le C ou le C++ pourtant très utilisés. On peut noter toutefois un point très négatif dans les dernières tendances sur le plan technique ou des connaissances, à savoir le changement tous les six mois de version de framework; dans le dernier ou avant dernier numéro de Programmez ce problème est évoqué. Côté positif, les clients peuvent vite devenir des vaches à lait s’ils ne disposent pas de leurs propres informaticiens ou s’ils pensent que le turn-over est la solution.

2 J'aime

Le pseudo code c’est bien pour faire abstraction du langage mais c’est vrai qu’au premier abord c’est un peu déroutant que de décomposer les opérations. C’est un peu comme réapprendre à compter pour apprendre à compter en binaire cependant on peut difficilement y échapper, tout du moins le temps de la phase d’apprentissage.