Aller au contenu


apprendre a programmer en c linux,mac,windows


9 réponses à ce sujet
  • Vous ne pouvez pas répondre à ce sujet

#1
Murasaki-shen

  • messages 43
  • Inscrit(e) : 03 juin 2011

  • Humeur du actuel : Aucun choisi

Réputation : 1 (Neutre)
voila je vous laisse un lien qui vous permettra de download le livre pour apprendre le "c "
http://www.fileserve.com/file/btCsqbC
excuser moi je upload que sur filserve
  • 0

#2
Ichigo-Roku

  • messages 14
  • Inscrit(e) : 19 décembre 2011

  • Humeur du actuel : Aucun choisi

Réputation : 0 (Neutre)
On peut commencer par le cours en C++ sans avoir lu le cours en C... J'ai jamais touché à un cours de C et pourtant je me débrouille bien en C++...

Modifié par Ichigo-Roku, 14 janvier 2012 - 10:47.

  • 0

#3
Invité_Relampago_*

On peut commencer par le cours en C++ sans avoir lu le cours en C... J'ai jamais touché à un cours de C et pourtant je me débrouille bien en C++...


Logique, le c++ c'est du C transformé.

C'est même plus simple je pense à coder en C++, grâce aux flux, et toutes les utilitaires. Disons que le c++ est un c dont on a corrigé les principaux défauts.

Je vais pas expliciter toutes les différences...ça prend en gros 20h de cours et 40h de tp.

#4
goldbergg

  • messages 176
  • Inscrit(e) : 06 octobre 2011

  • Humeur du actuel : Aucun choisi

Réputation : 51 (Se fait un nom)
en faite l'un est un language procédural(le C) l'autre orienté objet(le C++), c'est trés diférent, le seul point commun c'est les base,

L'un ne remplace pas l'autre

Arrétez de dire que le C++ est une amélioration du C, c'est archie faux en fonction de se que l'on code le C peut s'avéré bien supérieur au C++.

C'est comme si je disait que le C# été une amélioration du C++, c'est n'importe quoi ! C'est juste deux language qui on leur avantage et leur inconveniant.

Pour en revenire au sujet du post je dirait qu'avant de vouloire aprendre le C ou le C++ il faut apprendre les vraix base, l'algorithmique ;)

Modifié par goldbergg, 14 janvier 2012 - 20:07.

  • 0

#5
Invité_Relampago_*

Non mais...comment ça archie faux ?

On sait tous que les objets(les class) dans le langage C++ sont très proches des structures(struct) dans le C.

C'est juste que dans les class c'est par défaut private et que dans les structures c'est public.

Mais je pourrait bien faire des class définit public et ça serai comme les structures du langage C. De même dans le langage C++ tu peux remplacer tous tes class par des struct pour le système c'est rigoureusement pareil ! Pendant que tu définit ce qui est public ou private.

Le langage C++ est en faite une mise à jour du langage C car il était limité...c'est une version 2.0 du C en corrigeant certains défauts de celui-ci comme tu l'as bien résumé en gros : la gestion des objets(surtout de l'héritage et de la dérivation, virtual), Rajout des iostream, Passage par référence, Surcharge des opérateurs.

D'ailleurs vous pouvez essayer de coder avec les fonctions du C dans du C++ rien ne vous empêche de utiliser (s)printf, (s)canf au lieu de cout << ou cin >>.

Mais il faut bien comprendre que le "bas niveau" du C et du C++ est presque pareil. Bref langage C c'est pour apprendre à coder, la logique de la programmation. Le C++ c'est juste pour approfondir avec les objets.

Modifié par Relampago, 15 janvier 2012 - 23:40.


#6
goldbergg

  • messages 176
  • Inscrit(e) : 06 octobre 2011

  • Humeur du actuel : Aucun choisi

Réputation : 51 (Se fait un nom)
Certe une structure peux faire penssé a une classe sans méthode mais sa reste diférent et on retrouve les strucure en POO de plus il n'y a pas de Public/Private/Protected/Static en procedural vue qu'il n'y a pas de classe et donc pas de gestion d'encapsulation.

On peut trés bien faire du procédural en C++ mais sa revient presque au même que de faire de C ainssi le C++ perd beaucoup de sont intéré et autant repassé au C.

Se que j'ai voulut dire par "s'est différent" c'est que c'est deux projet différent, une phylosophie diférente pour deux language différent, limite* le C++ pourait rejoindre le C#, le Java et autre PHP, c'est un language qui reprend la base du C et qui en fait autre chose pour répondre a d'autre besoin, et il ne peut être considéré comme une simple verssion 2, bien que le C++ est le language qui se raproche le plus du C.

Et encore aujourd'hui on retrouve des projet qui son codé en C et non pas en C++ comme certain aimerai le faire entendre, la POO n'est pas la reponsse a tous et se n'est pas forcement la meilleur façon de codé, tous depend don de se que l'on code.

*J'ai bien dit limite, le java est autre C# sont trés diférent dans leur fonctionment et leur exécution(bytcode,...), qu'on ne me jéte pas de pierre inutilement.
  • 0

#7
Invité_Relampago_*

La question c'est pas de savoir si le C est utile, c'est évident que pour des systèmes où il y a pas besoin d'objets, d'encapsulation, de protection du code...

Comme par exemple les drivers de périphérique. Le C est plus performant car celui ci est plus proche de justement "le bas niveau".

N'empêche que la première phrase de mon 1er cour du C++ est :

-Le C++ est un sur-ensemble du C (C++ inclue le C). Toute utilisation du C dans du C++ (en utilisant les bons #define naturellement) est possible (si le code respecte les normes ANSI-C).

-intégration du C dans le C++ (préservation de la syntaxe).

-Évolution de la syntaxe vers une plus grande rigueur.

-De nombreuses extensions syntaxiques pour les manipulation objets.

=> Donc pour moi c'est simple si tu prend quelque chose et que tu l'améliore c'est une version 2.0 cela ne dit pas qu'elle est meilleurs dans tout les cas. C'est juste que je connais bien le C et que le C++ en gros c'est des petits rajouts par ci par là. Mais globalement on apprend le C avant le C++ c'est pas pour rien. C'est pour voir la différence, et donc ne pas les confondre.


Donc : Oui le C++ peut remplacer le C...maintenant à nous de voir si c'est plus efficace. C'est au cas par cas. Mais soyons honnête celui qui maitrise le C maitrisera le C++ car c'est extrêmement ressemblant. Mais il faut garder en tête les avantages et les inconvénients des deux langages sur cela je suis d'accord avec toi.

Je pourrai par exemple difficilement dire que le C est une version 2.0 de l'assembleur. Alors que si on y regarde bien nous avons quand même de gros point commun mais dans un langage ce qui le définit c'est la syntaxe. Pas son utilisation nous pouvons parfaitement nous amuser à faire du multitâche windows (et donc de l'objet) avec des process, avec des threads en C !

Modifié par Relampago, 16 janvier 2012 - 21:29.


#8
Ichigo-Roku

  • messages 14
  • Inscrit(e) : 19 décembre 2011

  • Humeur du actuel : Aucun choisi

Réputation : 0 (Neutre)
Relampago, logique pour toi et moi mais pas logique pour ceux qui ne connaissent pas et qui voient dans le titre qu'il faut faire du C avant de passer au C++. Quand je dis que je n'ai jamais touché à un cours en C c'est faux car la base est le C mais ce que je voulais dire par là c'est que t'as pas besoin de te taper tous les cours du C pour commencer le C++.

goldbergg, c'est vraiment utile l'algorithmie ? Parce que perso je me suis direct lancé dans le C++ et rien ne me manque à part peut-être un entraînement un peu plus intensif !
  • 0

#9
goldbergg

  • messages 176
  • Inscrit(e) : 06 octobre 2011

  • Humeur du actuel : Aucun choisi

Réputation : 51 (Se fait un nom)


L’algorithmique (on dit algorithmique et non algorithmie même si beaucoup utilise se terme, je sais on s’en fou mais bon)est une sorte de concept et que l'on le veuille ou non on en fait sans s’en rendre compte.

"Pour faire cuire des pates il faut faire chauffer de l'eau, tant que l'eau n'est pas bouillante j'attends sinon je verse les pate, etc..." est un exemple d'algo de la vie de tous les jours. (Et oui ça ne concerne pasforcement l'informatique).

il intervient principalement dans la phase de conception d'un projet, donc bien avant le codage, techniquement de la partie algorithmique va/peux dépendre le langage qui sera utilisé.

On peut très bien codé sans avoir réellement fais de cour d'algorithmique, je croie comprendre que tu en est un parfait exemple et conte tenue du coté assez chiant que cela puisse avoir il est vrai que l'on peut se posé des questions sur l'utilité.

Perso j'ai commencé par l'algorithmique en cour, plutôt que d'apprendre "bêtement" directement a coder, j'ai d’abord étudié le fonctionnement d'un programme, et le C n'a été pour moi qu'un moyen de faire une mise en pratique réel (autre que sur un bou de papier). Le prof nous aproposé le C, mais sa aurait pu être du python, du perl, du php ou encore du java ça n'aurait pas posé problème, tous le concept de la prog procédurale(typage, strucure conditionel, boucle, fonction, etc....) je l'avait déjà acquis en algorithmique.

Petit exemple:
en algorithmique on apprend a faire une structure conditionnelde cette façon:
SI blabla EST DIFERENT DE bla ALORS FAIRE
mon instruction
SINON
mon autre instruction
FIN SI
Ce qui est parfaitement compréhensible par n'importe qui de non informaticien au passage (un autre but de l'algorithmique).
La première fois que j'ai touché au C le prof nous a juste dit: "la condition "SI" en C sa s'écrie comme sa:

if("blabla" != "bla"){
mon instruction
}else{
mon autre instruction
}

et c'est tous, le concept on l'avais déjà, il aurais voulu nous illustré l'algorithmique avec le VB il nous aurais montrer sa:

If "blabla" != "bla" Then
mon instruction
Else
mon autre instruction
End If

et on aurait compris près a coder un bous de code en VB 5 min après avoir découvert la syntaxe du langage.
(Bon j'ai choisi un exemple assez simple, je ne sais pas si le message que j'ai voulu passé est claire, ça devient plus intéressant sur des choses plus technique tel que la POO par exemple ou d’un langage a l’autre la façon de coder est très différente, mais d’un point de vue algorithmique c’est la même chose (saviez vous que l'on pouvez ecrire des classe en JS?, cherchez pas sa ne ressemble en rien au class du C++)).


En gros l'algorithmique en plus de t'apprendre à faire fonctionner ton cerveaux et ainsi penser de façon logique, sa permet aussi une fois toute les notion bien assimilé de pouvoir passé d'un langage a un autre sans trop de difficulté(il te suffira de regarder la syntaxe et c'est tous)(c’est peut-être pour ça que pour moi C et C++ sont deux langage bien distinct, car d’un point de vue algorithmique c’est très différent).

j'ai appris a codé en C, C#(on m'a appris ces deux langage dans le seul but de mettre en pratique les chose vue en algorithmique),PHP, JS et PL/SQL pourtant sans avoir suivie de cour je sais aussi codé en Java (application PC et android), W-langage(WinDev). Et bien que je n'ai encore jamais codé de réel application dans ces langages je me sans capable de me lancer sur des projets en VB, Visual C++ ou encore Python. Les seuls langages qui ne me seront pas accessible seront les langages dit de très bas niveaux tel que l'asm ou la logique est très différente et donc l'algorithmique aussi. On peut ainsi considérer l'algorithmique en développement comme la partie théorique, une fois acquis le reste passe tous seul.

Mais ce n'est pas tous, l'algorithmique me sert aussi dans les phase d'analyse et de conception (c'est dailleur dans ces cas-là que ça devient limite quelque chose que l'on se doit de connaitre, maitriser l'algorithmique c’est savoir comment doit être créé une appli ou un site web conséquent, (l'architecte ne sait pas comment poser un parpaing mais il sait comment le tous doit s'assembler, pour le concepteur c'est pareil, il ne sait pas forcément coder, mais il sait se qui est possible ou non et comment sa doit être fais pour un rendu optimal).

Mais bon après, une certaine expérience dans un langage peut probablement remplacer les cours d'algorithmique.

Modifié par goldbergg, 18 mars 2012 - 12:56.

  • 0

#10
Tornado

      God’s in his heaven, all’s right with the world

  • messages 1 068
  • Inscrit(e) : 19 janvier 2012

  • Humeur du actuel : Vegged Out

Réputation : 75 (Se fait un nom)
De plus l'algorithmique, ne se limite pas qu'à l'informatique, c'est aussi applicable en électronique et en système (automatisme).

=> c'est la base de la "logique" avec les bascules, mais aussi dans la représentation des états dans une modélisation.

Avec les horloge et tout le bazars de l'électronique numérique, qui pourrai aujourd'hui se passer des fonctions ou-exclusif, ou , et nor ? XOR . Avec les FPGA, DSP (les Processeurs de traitement numérique du signal), les processeurs bien entendu et les microprocesseurs.

C'est un outil très puissant. On peut l'appliquer à peut prêt partout surtout dans les mathématiques très poussé ! Comme en Finance. Toute les mathématique qui permettent d'approcher un résultat se basent sur des algorithmes. Comme par exemple la méthodes des moindres carrés pour connaitre les paramètres d'un système. Avec par exemple la méthode de Newton..etc.

Bref...c'est le fondement même de la puissance d'un ordinateur.

Modifié par Anonymous, 17 mars 2012 - 20:46.

  • 0

131222073057808347.png

Spoiler





0 utilisateur(s) dans ce forum

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)

Community Forum Software by IP.Board
Licence accordée à : AnimeServ.NET
Design & Code by Bad.Y o/
© 2013 AnimeServ