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

Langages de programmation Discussion :

Continuer avec du C, C++, ou objective C


Sujet :

Langages de programmation

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut Continuer avec du C, C++, ou objective C
    C'est la question qui tue!

    Oui en effet je connais les bases du C, apprises grâce à quelques tutos (fgets(), unions, listes chaînées, pointeurs de fontions).


    J'adore le C car je suis à l'aise avec ce langage et je le trouve logique au possible, et ce grâce entre autre à sa subtilité!


    Néanmois je me demande s'il ne serait pas plus "judicieux" de me tourner vers le C++, car le C est un vieux langage créé en 72 qui sera tôt ou tard vouer à extinction et est et de moins en moins utilisé.
    De plus le C++ est une évolution du C et donc on y trouve la POO et pleins d'autres améliorations.
    A savoir que je trouve important l'apprentissage de la POO pour pouvoir créer des applications complexes plus simplement.

    Donc le C++ permet de faire des "choses" que le C permet difficilement ou pas du tout.
    Si jamais j'apprends le C et que plus tard je dois apprendre le C++, j'ai peur de ne pas pouvoir y arriver, étant trop accoutummé au C.

    Finalement, ne serait-il pas plus approprié que je me mette à l'objective C, c'est exactement la même chose que le C avec la POO, non?

    Bref, c'est face à une sorte de "dilemne" que je me trouve.


    Je vous prierai de bien vouloir m'aider, s'il vous plaît.



    Merci!


    P.S: A savoir que si vous me conseillez de continuer le C, j'achèterai le livre de Bradelaire : "la méthodologie du C".

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par 0v3rb1t
    C'est la question qui tue!
    ... qui n'apporte jamais de reponse definitive...

    Citation Envoyé par 0v3rb1t
    A savoir que je trouve très important l'apprentissage de la POO.
    Ben, C++ alors.

  3. #3
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Citation Envoyé par 0v3rb1t
    le C est un vieux langage créé en 72 qui sera tôt ou tard vouer à extinction
    Comme nous tous...

    Citation Envoyé par 0v3rb1t
    et est et de moins en moins utilisé.
    Ah bon ? Quand je vois le nombre de boîtes qui veulent me débaucher parce que j'ai 4 ans d'xp en développement C dans les télécom, je me demande...

    Si tu veux un conseil, apprends le C. Quand tu te débrouilleras en C, apprends le C++. Quand tu te débrouilleras en C++, apprends Java.
    Mieux vaut avoir plusieurs cordes à son arc, comme on dit.

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par 0v3rb1t
    car le C est un vieux langage créé en 72 qui sera tôt ou tard vouer à extinction et est et de moins en moins utilisé.
    Archi faux !

    Vieux certes (ce qui est son avantage) mais je dirais surtout que depuis il a fait peau neuve, tu peux d'ailleurs le remarquer dans le monde Linux où il est encore massivement utilisé !

    Non non et non, je ne veut pas faire de troll


    Si tu t'interesse à la POO tu peux te mettre au C++ ou d'autres langages plus évolués comme Java ou C# !


    Citation Envoyé par 0v3rb1t
    Si jamais j'apprends le C et que plus tard je dois apprendre le C++, j'ai peur de ne pas pouvoir y arriver, étant trop accoutummé au C.
    Je pense au contraire que d'apprendre le C avant le C++ te permettra de prendre quelques bonnes habitudes car le C demande beaucoup de rigueure, le passage au C++ se fera alors plus en douceur !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Tu sais qu'il existe encore énormément de boites dans lesquelles on demande la connaissance du COBOL, qui est *encore* plus ancien que le C ? (principalement dans le secteur des banques et des assurances, d'ailleurs)

    Ce qui se passe, et c'est vrai pour le C comme pour le COBOL, c'est qu'il y a des millions de lignes de code écrites dans ces différents langages (et, sauf erreur, la dernière norme du C ne date "que" de 1999 )

    Ces millions de lignes de codes, dont une partie date sans doute encore du temps des cartes perforées, sont pourtant toujours utilisées. Et, tu comprendras sans doute que, si l'on voulait en arriver à transformer toutes ces lignes de code en un langage plus "récent", ben on en aurait pour des années avec une équipe complete...Bref que ce serait un gouffre financier pour, en définitive, quelque chose qui n'apportera sans doute pas énormément d'avantage, vu que l'existant fonctionne tres bien

    D'un autre coté, tout le monde est pleinement d'accord avec le fait que la POO permet certaines facilités (et une certaine sécurisation du système créé) que ne permet pas forcément la programmation séquentielle classique...

    Mais, il faut malgré tout aussi se rendre compte que, à un moment où un autre, tu finira toujours par retomber, meme en POO, sur de la programmation séquentielle... que ce soit pour déterminer dans quel ordre appeler les fonctions membres et arriver au résultat que tu veux ou, tres souvent, pour créer les fonctions membres de la classe que tu mets au point.

    Tu dois donc partir des memes connaissances de base: la programmation séquentielle, auxquelles tu devra rajouter des concepts tels que l'héritage, le constructeur, le destructeur, le polymorphisme etc...

    Rien de ce que tu pourrais apprendre en C ne sera tout à fait inutile quand tu décideras de passer en C++...

    Simplement, une fois en C++ tu apprendra qu'il existe une classe "chaine de caractères" (std::string) qui est bien plus facile d'utilisation que ce qui s'en rapproche le plus en C: un tableau de caractères terminé par le caractère \0 ...

    Mais comme, dans certains cas historiques, tu te trouveras malgré tout devans l'obligation d'utiliser une chaine "C-Like", tu seras bien content d'en avoir déjà appris le fonctionnement

    Le reste, quel que soit le langage que tu décideras d'utiliser, sera souvent plus une question de syntaxe à utiliser pour arriver à quelque chose...

    Un probleme de traduction, en sommes

    Un simple exemple: créer une boucle incrémentale... en pseudo-code ca donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Pour i=0 à i=10 (par pas de 1)
       ce qu'il faut faire
    Fin Pour
    En C et en C++, ca donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int i;//déclaration d'un entier (le C++ autorise de le déclarer directement dans for)
    for(i=0;i<10;i++)
    {
       //ce qu'il faut faire
    }
    en basic (le vieux, pas le VB) ca donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (i=0 to 9)
        ;ce qu'il faut faire (je suis pris d'un doute sur le symbole de commentaire
    next
    et en cobol, cela donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Perform varying i from Var-I by 1 Until var-I <10
    	les instructions
    End-perform
    Et enfin, il y a l'épineux probleme de tes aspirations et de tes gouts...

    Untel préféreras C à C++, un autre adoreras VB ou java alors qu'un autre détestera, un troisième utilisera l'un dans un cas particulier, mais l'autre d'ans un autre cas... et ca, ben c'est une histoire de gout et de couleurs, donc à ne pas discuter
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    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 0v3rb1t
    J'adore le C car je suis à l'aise avec ce langage et je le trouve logique au possible, malgrés sa compléxité!
    Si tu trouves le C complexe, je me demande ce que tu diras du C++.

    Néanmois je me demande s'il ne serait pas plus "judicieux" de me tourner vers le C++, car le C est un vieux langage créé en 72 qui sera tôt ou tard vouer à extinction et est et de moins en moins utilisé.
    Je ne vois pas la mort du C (ni du C++) à l'horizon. Trop de code existant. Le Fortran est le plus vieux des langages et toujours bien portal. Cobol et Lisp ne sont pas beaucoup plus jeune et bien portants également. Et C++ n'est pas beaucoup plus jeune que le C (début des années 80).

    Donc le C++ permet de faire des "choses" que le C permet difficilement ou pas du tout.
    Il y a des compilateurs C++ vers C...

    Si jamais j'apprends le C et que plus tard je dois apprendre le C++, j'ai peur de ne pas pouvoir y arriver, étant trop accoutummé au C.
    Quoi que tu fasses, ne te limites pas à un langage. Apprend au moins un langage d'assemblage, un langage fonctionnel (Haskell par exemple), un langage logique (Prolog par exemple). Et si tu restes au C, un langage OO (SmallTalk par exemple).

    Bref, c'est face à une sorte de "dilemne" que je me trouve.
    C'est quoi tes objectifs à cours terme? Dans quel cadre es-tu? C'est difficile de donner un bon conseil sans savoir ta situation.

  7. #7
    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 Franck.H
    Non non et non, je ne veut pas faire de troll

    Si tu t'interesse à la POO tu peux te mettre au C++ ou d'autres langages plus évolués comme Java ou C# !
    Ça en serait un si tu étais dans le groupe C++...

    Plus sérieusement, il faudra m'expliquer en quoi ils sont plus évolués que le C++. Le seul avantage qu'ils ont, c'est l'absence de compatibilité avec le C (c'est pas un troll non plus )

  8. #8
    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 Franck.H
    Je pense au contraire que d'apprendre le C avant le C++ te permettra de prendre quelques bonnes habitudes car le C demande beaucoup de rigueure, le passage au C++ se fera alors plus en douceur !
    Apprendre le C avec comme objectif final d'apprendre le C++ est un mauvais conseil. Surtout si on ne connais pas d'autres langages. C'est plus facile d'apprendre d'abord à programmer avec le C++ puis de passer au C si on prend une méthode moderne de C++.

    Si l'objectif est d'apprendre le C, passer par le C++ est inutile.
    Si l'objectif est d'apprendre le C++, passer par le C est inutile.
    Si l'objectif est d'apprendre les deux, je conseille C++ puis C.
    Si l'objectif est autre, je peux même conseiller d'autres approches que ces langages.

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut
    merci énormément pour vos conseils, je pense que je vais rester au C, puis peut-être essayer un autre language.


    Pourriez vous me dire quels sont les avantages du C par rapport au C++ et réciproquement.
    Mais quel autre langage, assembleur? java? python?... étudier en complémentarité du C.


    Sinon vous ne pensez pas que l'objective C est le mieux pour moi?

  10. #10
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par 0v3rb1t
    J'adore le C car je suis à l'aise avec ce langage et je le trouve logique au possible, malgré sa compléxité!
    Le C n'est pas complexe. Il est subtil, plein de pièges, demande rigueur et expérience, mais non, il n'est pas complexe. C++ est complexe.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut
    merci -ED-, en effet c'est sa subtilité qui me plaît le plus, contrairement à d'autres langages haut-niveau comme le visual basic ou le python.

  12. #12
    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 0v3rb1t
    Sinon vous ne pensez pas que l'objective C est le mieux pour moi?
    On ne connait rien de toi... comment savoir?

  13. #13
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par 0v3rb1t
    Sinon vous ne pensez pas que l'objective C est le mieux pour moi?
    Objective C a une niche dans la programmation MacOS X, mais GCC inclut un compilateur pour ce langage. Il est cependant bien moins populaire que le C ou le C++ (pour des raisons historiques, principalement).

  14. #14
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par 0v3rb1t
    merci énormément pour vos conseils, je pense que je vais rester au C, puis peut-être essayer un autre language.


    Pourriez vous me dire quels sont les avantages du C par rapport au C++ et réciproquement. Mais quel autre language, assembleur? java? python?...


    Sinon vous ne pensez pas que l'objective C est le mieux pour moi?
    Le choix de ton langage d'apprentissage ne dépend que de toi...

    A titre personnel, j'aurais tendance à apprendre d'abord avec un langage qui permette de travailler en "non orienté objet", de manière à etre peut etre plus graduel (mais d'autres personnes auront sans doute d'autres points de vue sur le sujet )

    Sauf erreur, comme langage "de découverte", il semblerait que le python est relativement prisé... mais, là encore, les gouts et les couleurs...

    L'avantage de l'assembleur, c'est que c'est le langage le plus bas niveau que tu pourras trouver...l'inconvéniant, c'est que tu devra, par exemple, calculer toi meme les adresses où aller chercher les informations...

    Le java, sauf erreur, est "full POO", ce qui peut représenter des avantages pour certains et des inconvéniants pour d'autres

    Et l'astuce, c'est que, de manière générale, pour chaque langage que tu pourras citer, tu trouveras des gens pour te dire "vas-y, c'est génial pour apprendre" et d'autres pour te dire "prends-en un autre pour apprendre"

    On peut t'indiquer les différentes caractéristiques des différents langages (compilé/interprété/semi interprété, orienté objet ou non...) mais de la à choisir un langage pour toi...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut
    Je pense que je vais continuer en C, même si j'aurais aimé apprendre l'objective C (mais pas de bons livres).
    Comme langage complémentaire je ne sais pas mais peut-être python car c'est le langage qui me dégoute le moins (hormis le C).
    En effet j'ai regardé des codes source d'une grosse quantité de langages bien différents mais à chaque fois je suis écoeuré...

  16. #16
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Bonjour.

    Je pense que se limiter au côté esthétique du code n'est pas une très bonne idée. Un code moche d'apparence peut être très facilement lisible pourvu qu'on est des notions sur la syntace du langage.
    Il est vrai que le Python est particulièrement joli, toujours très bien indenté (sinon le code ne marche pas, c'est facile), sans trop de caractères ésotériques, assez proche de l'algorithmique...

    Le C est justement un langage qui n'est pas considéré comme étant facilement lisible (c'est une opinion générale, pas forcément mon opinion (moi aussi, je veux éviter le troll )).
    Inversement, un langage comme le Lisp est réputé comme facilement lisible, alors qu'au premier abord, alors que personnelement aux premiers abord je comprend pas grand chose...

    Avant de juger un langage, étudie le un minimum, tu pourrais passer à côté de vrai Perl(e) (bah quoi, j'ai bien le droit de venter un peu mon langage de prédilection nan ).

    Une dernière chose, je doute que le Java t'ecoeure si tu trouves le C joli, c'est quasiment la même chose en fait...

    Pour nous permettre de t'aider, tu peux aussi nous dire ce que tu attends du langage que tu voudrais apprendre par la suite.

  17. #17
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par 0v3rb1t
    En effet j'ai regardé des codes source d'une grosse quantité de langages bien différents mais à chaque fois je suis écoeuré...
    Je peux te montrer du C qui te fera vomir tout ton quatre-heure... IOCCC

  18. #18
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par 0v3rb1t
    Comme langage complémentaire je ne sais pas mais peut-être python car c'est le langage qui me dégoute le moins (hormis le C).
    Python vaut vraiment le coup de s'y attarder ou voir même de s'y consacrer pleinement !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  19. #19
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Franck.H
    Python vaut vraiment le coup de s'y attarder ou voir même de s'y consacrer pleinement !
    ou Ruby.

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut
    ruby me plaît beaucoup!
    merci -ED-!

    est ce que ce tuto est bien pour son apprentissage:
    http://www.ruby-doc.org/docs/beginner-fr/xhtml/

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/04/2007, 13h04
  2. Réponses: 6
    Dernier message: 08/03/2007, 14h55
  3. Réponses: 10
    Dernier message: 07/07/2006, 14h26
  4. [Threads] Actions continues avec des threads
    Par MiJack dans le forum Concurrence et multi-thread
    Réponses: 6
    Dernier message: 10/10/2005, 17h32

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