IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Les écoles apprennent le C et non le C++


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de lakitrid
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    1 535
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 535
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Citation Envoyé par lakitrid
    j'ai eu des cours d'algorithmique objet
    L'algorithmique, je connais assez bien. La POO aussi. Mais les deux ne concernent pas la même classe de problèmes et l'expression "algorithmique objet" m'intrique. L'algorithmique traite de comment résoudre un problème. La POO est une manière d'organiser un programme.

    Si le fond de ton intervention est qu'il y a plus et plus important dans l'apprentissage de la programmation que le langage utilisé, je suis entièrement d'accord. C'est une des raisons pour laquelle je pense que C est inadapté comme premier langage: on est contraint de s'occuper du langage plutôt que de ces autres choses.
    Excuse moi, "algorithmique objet" est un abus de langage pour dire que nous avons étudié l'algorithmique directement avec un "emballage" objet

    Sinon je suis d'accord sur le fait que le C n'est pas forcement le bon choix, mais le problème est que généralement on doit être opérationnel assez rapidement et donc apprendre des langages plutôt répandus. Si on reprend l'ADA par exemple, il est utilisé en industrie je crois, mais je ne crois pas qu'il soit aussi répendu que le Cobol, le C++, le C ou le Java.

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par lakitrid
    Sinon je suis d'accord sur le fait que le C n'est pas forcement le bon choix, mais le problème est que généralement on doit être opérationnel assez rapidement et donc apprendre des langages plutôt répandus. Si on reprend l'ADA par exemple, il est utilisé en industrie je crois, mais je ne crois pas qu'il soit aussi répendu que le Cobol, le C++, le C ou le Java.
    Ce n'est pas sans raison que j'ai précisé:
    sur un cursus suffisamment long pour qu'une contrainte du genre "il est nécessaire de connaître le C au moment où les élèves partent en stage" ait une influence notable,
    mais note j'ai eu des retours d'expérience d'enseignants trouvant qu'ils avaient moins de problèmes en faisant de l'Ada la première année et du C la seconde qu'en faisant directement du C; en particulier parmis les élèves qui croyaient connaître le C en commencant :-) Le cursus peut donc être relativement court.

    De toute façon sur une formation suffisemment longue, il faut aborder plus d'un langage.

  3. #3
    Membre Expert
    Avatar de lakitrid
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    1 535
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 535
    Par défaut
    désolé j'avais juste retenu ta référence à l'ADA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    De toute façon sur une formation suffisemment longue, il faut aborder plus d'un langage.
    Oui. Il reste après à doser correctement le nombre de langages à aborder. Et surtout essayer de piocher dans des types de langages différents (objets, non objets, ou du type du PROLOG, etc.)

  4. #4
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Par défaut
    Citation Envoyé par Johor
    Je parlais d' EPITECH, qui apparement n'enseigne que le C. Les écoles EPITA et SUPINFO traitent très légèrement du C++ (quelques heures de cours).
    je suis a EPITA et je peux te dire que le c++ ce n'est pas seulement quelques heures de cours! On ecrit un compilateur de tiger en C++ tout de meme! (enfin on l'ecrit pas entierement mais une bonne partie)

  5. #5
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    mais note j'ai eu des retours d'expérience d'enseignants trouvant qu'ils avaient moins de problèmes en faisant de l'Ada la première année et du C la seconde qu'en faisant directement du C
    C'est exactement ce que nous avons fait à la fac. En fait la première année on a fait ADA, la deuxième c'était ADA le premier semèstre et OCAML le second. Et en troisième année nous avons fait du C ce semestre et le semestre qui arrive nous ferons du Java.

    Au début je trouvait ADA embêtant, mais ça permet de se concentrer plus sur l'algorithmique que le langage, de plus le passage au C fut beaucoup plus simple. (pas forcément pour moi, j'avais fait du C avant mais j'ai trouvé que la promo avait eu beaucoup moins de mal).

    Personnellement, le plus important c'est l'algorithmique, le langage n'a qu'assez peu d'importance, en fait. Si ton algo a une approche impérative, tu prends un langage impératif, si ton algo à une approche fonctionnelle, tu utilises un langage fonctionnel et ainsi de suite. L'important c'est de connaître un minimum le langage pour savoir coder ses algos, les optimisations que permettent le langage sont minimes par rapport à celle que tu peux obtenir avec l'algorithmique. (un tri par tas ira toujours beaucoup plus vite sur un langage "lent" qu'un tri par selection en assembleuur)

    Pour ce qui est du marché, il est vrai qu'il vaut mieux connaître quelques langages de références. Mais je pense qu'il vaut mieux en connaître un ou deux à fond et si on te demande un autre langage, un bon bouquin fera l'affaire. D'ailleur quand on voit certaines offres d'emploi ça fait peur :

    Recherche developpeur pour maintenance du parc informatique et salaire de misère :
    Langages requis :
    C/C++/Java/Fortran/Prolog/Pascal/OCAML/ADA/Lisp/HTML/Php/CSS/Javascript/ASP/.NET/SmallTalk/Assembleur/Eiffel/ ...
    Systèmes d'exploitation :
    Windows/Linux/MacOs/Solaris/QNX/Novell/...
    Franchement même en sortant d'une très bonne école on ne peut pas connaître tout les langages et technologies. Contente toi d'aprendre exactement ce que l'on t'enseigne, généralement celà fait une bonne base et ensuite il faut que tu t'adaptes au marché. Si tu comptait sortir de l'école directement chef de projet c'est raté ... . L'école ne t'aprend pas un metier (ou dans de très rares cas).

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par défaut
    Hello...

    Alors je vais apporter ma petite touche perso dans ce post fort interessant..

    Moi je suis un Master 1° année d'informatique..Et depuis la première année, on ne pratique que du C et du Java...
    Je pense que ces languages sont assez facile a assimiler et a découvrir le monde des algorithmes...
    Je pense également qu'un programmeur doit etre capable de s'adapter à chaque language... Si tu sais programmer en C et faire des algos correct, avec un peu de doc, t'arriveras facilement à passer au C++ ou à un autre language...

    Le but de ton école est de t'apprendre à raisonner correctement, afin d efaire des algorithmes corrects.
    Pourquoi le C, je pense que le fait que les systèmes sont la plus part codé en C aide beaucoup

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Par défaut
    Citation Envoyé par hegros
    Citation Envoyé par Skyrunner
    Pource que qui est de la question :
    C'est simple de passer au C++ quand on connait le C

    Je repondrai NON
    Le C++ ce n'est pas du C ce n'est pas la meme approche
    Tu peux connaitre le C sur le bout des doigts passer au C++ ne sera pas facile pour autant.
    vous avez des témoignages de personnes pour qui cela a été dur parce que ce que vous dites finalement on le retrouve que dans les bouquins informatique.
    Je suis passé au C++ depuis quelques mois, en fait le problème est de trouver les bonnes sources d'informations, les bons sites (developpez.com?), pour régler au plus vite les questions et problèmes auxquels ont doit faire face quand on a pas d'experience. (utilisation de la STL, comprendre que les references >> pointeurs ...)
    Le concept objet du C++, et de maniere général la programmation objet n'est pas ce qui m'a semblé le plus embetant quand on passe du C au C++.

  8. #8
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut
    Citation Envoyé par omega67
    Si tu sais programmer en C et faire des algos correct, avec un peu de doc, t'arriveras facilement à passer au C++ ou à un autre language...
    Pas trop, c'est normal qu'on passe du C à C++/Java/C# facilement parce que ce sont des langages principalement impératifs + de l'objet pour les derniers.
    Mais on passe pas du C au Lisp/OCaml comme ça, c'est pas évident au premier abord. C'est une autre manière de penser.
    Certes, un temps d'adaptation suffit, mais voilà parfois, on rédige pas un programme C de la même maniere dans un autre langage, au niveau du style.
    Disons qu'en fait, plus on a été formatté à programmer dans un certain style, et plus le fait d'appréhender un langage de style différent est plus délicat et déroutant.
    Et un langage comme par exemple OCaml c'est bien parce qu'il est à la fois impératif, fonctionnel et objet. Ca permet d'être plus flexible par rapport aux différents algorithmes à coder.

    Un tableau algorithme linéaire ? Hop style impératif.
    Une liste à parcourir, algorithme linéaire ? Hop style fonctionnel.
    Modéliser des entités pour un jeu ? Hop quelques classes + mix des 2 précédents pour les algorithmes s'applicant sur elles.

    Et pas :
    Hum... comment j'fais faire avec ma boucle for pour manipuler cette liste qui contient des entités chacune vérifiant cette propriété et donc on voudrait trier celles qui [...] ?
    Ben un pointeur sur ça, variable temporaire pour faire ça, qui vont vite me rendre zinzin!

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut
    Je ne sais pas si ça déjà été dit mais la majorité des programmes qui tournent actuellement dans les entreprises ont été écrit en C, il y a donc une forte maintenance autour du C.
    C'est également une raison pour laquelle il est nécessaire de connaitre le C aujourd'hui.

    De plus, ça déjà été dit, le C ne cache rien, les pointeurs, les allocations mémoires, toutes ces choses n'apparaissent pas forcement dans les autres languages.

    Je pense que c'est normal et rassurant que tu commences par faire du C, par contre en effet, il ne faut absolument pas faire que ça.
    De ce coté plus de doute, qq'un d'Epita t'as dis qu'en 3eme tu feras de l'objet.

    Bon courage pour la suite.

    PS : Autre ecole d'inge en informatique : IFIPS (Paris XI)

  10. #10
    Membre Expert
    Avatar de lakitrid
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    1 535
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 535
    Par défaut
    Citation Envoyé par ludotech
    Je ne sais pas si ça déjà été dit mais la majorité des programmes qui tournent actuellement dans les entreprises ont été écrit en C, il y a donc une forte maintenance autour du C.
    Très très loin après le Cobol !

    Le C est très implanté de part sont utilisation en programmation système (Noyau Linux, etc.).
    Mais le Cobol reste le langage sur lequel il y a le plus de maintenance applicative. Peu de nouveau dévellopement (à part des évolutions).

Discussions similaires

  1. Réponses: 42
    Dernier message: 29/12/2015, 13h03
  2. Réponses: 55
    Dernier message: 05/04/2011, 12h00
  3. Réponses: 6
    Dernier message: 22/08/2008, 17h20
  4. Réponses: 133
    Dernier message: 06/04/2008, 15h47
  5. Réponses: 4
    Dernier message: 29/05/2007, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo