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 :

technos cloud, rust.. Quid d'apprendre le C aujourd'hui?


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Août 2024
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Août 2024
    Messages : 1
    Points : 1
    Points
    1
    Par défaut technos cloud, rust.. Quid d'apprendre le C aujourd'hui?
    Bonjour,

    je m'interroge sur un apprentissage du développement de programmes informatiques
    j'utilise linux et unix depuis quelques années, et windows aussi.

    pour moi, au vu de la réputation qui n'est plus à faire, et de la rigueur nécessaire, je pense que le C est un très bon choix.
    j'ai trouvé une chaine internet, mais je vois un peu tous les jours différents avis et astuces par rapport à leur apprentissage.

    cependant, deux bémols :
    1-par rapport au Rust, est ce que le C/C++ sont toujours défendables? je pense que oui, mais le futur retraité Joe Biden avait carrément imposé à l'administration US de passer au Rust pour des raisons de sécurité… est ce que le Rust joue dans la même cour au point d'être un nouveau messie, ou est ce mélanger les torchons et les serviettes?

    par rapport au C++, j'ai souvent entendu des devs C se plaindre de la syntaxe (du ++).. mais j'imagine que si
    le C++ est autant utilisé, c'est qu'il est nécessaire à la plupart des interfaces graphiques?

    au vu de la tendance actuelle des langages demandés (python, java, technos cloud, etc), à part dans l'embarqué, est ce que le C reste porteur sur le marché du travail? personnellement je le trouve très appréciable en quelques jours mais j'imagine qu'il faut plusieurs années pour être à la hauteur,

    est ce qu'il est préférable de faire une formation payante, ou de favoriser l'autodidaxie, via les ressources en ligne, tutos, pdf, vidéos..?

    merci bcp de vos réponses

    ressources que j'ai estimées intéressantes :
    cours de FormationVidéo :

    mooc de harvard : https://cs50.harvard.edu/x/2023/
    https://informaticienzero.github.io/...dre-son-temps/

    https://en.wikipedia.org/wiki/CS50

  2. #2
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 463
    Points : 4 642
    Points
    4 642
    Par défaut
    Bonjour,

    Le C a été créé pour remplacer l'assembleur dans la programmation de bas niveau (initialement OS puis drivers, MPU). Avec une abstraction supérieure, il permet à peu près tout ce que l'assembleur autorise. C'est son intérêt et son défaut.

    Rust tente de diminuer ce défaut mais il est délicat de donner plus de fiabilité sans plus de contrôles et donc une moindre efficacité.

    Les autres langages proposent généralement des abstractions de niveau supérieur et sont mécaniquement plus gourmands en ressources. Cela n'est pas une critique. Même s'il est pratiquement possible de tout faire avec n'importe quel langage, les critères de vitesse, sécurité, fiabilité, vitesse de développement etc. définissent des choix divers. Le rêve d'un langage unique qui coche toutes les cases, et nous permette de n'avoir qu'un langage à apprendre, a la vie dure.

    Je conseillerais d'apprendre plusieurs langages ne serait-ce que pour éviter le syndrome "celui qui ne possède qu'un marteau traite tous les problèmes comme des clous". Le second langage est le plus dur à apprendre car il faut accepter de perdre en efficacité un temps. Les autres s'apprennent plus facilement car les mécanismes de base sont communs (par exemple, dans la plupart (tous ?) des langages, l'écriture du code affecte un résultat avant de le calculer - à comparer avec le stockage d'un calcul dans une calculatrice).

    Pour revenir au C, s'il doit rester sur son axe d'efficacité prioritaire, je regrette essentiellement qu'il n'ait pas intégré les vecteurs correspondants aux instructions SIMD comme types de base (je ne parle pas de bibliothèques mais des trucs comme v16uint8...).
    1. C++ donne des résultats aussi efficients qu'en C quand il est utilisé comme du C. En simplifiant, Rust met la fiabilité en 1 et l'efficacité en 2 à l'inverse de C. Les comparer se fera toujours au travers de critères. A critères différents correspondront des résultats différents.
    2. Je trouve aussi que C++ ne s'améliore pas. La boulimie fonctionnelle pour en faire un outil universel me semble contre productive : pour chaque type d'usage, une part faible des possibilités seront utiles mais pour les utiliser, il faut toutes les connaître. Je sais que cet avis n'est pas partagé par tous et je ne prétends pas détenir une quelconque vérité. Mais cela reste mon avis.
    3. Comparer les langages me semble un peu vain (d'autant qu'on ne compare pas seulement les langages mais surtout les outils qui les supportent et la formation des développeurs). Mais comparer un langage natif à des langages de script m'apparaît impossible. La comparaison en terme d'emploi reste cependant valide. Trouver un job rapidement sans formation longue oriente vers les langages du web. Mais cela signifie une rémunération moyenne. Les langages plus difficiles à apprendre et maîtriser (et le C l'est car il implique une très bonne connaissance de la cible matérielle et OS) seront plus intéressants financièrement mais généralement avec plus de contraintes de localisation.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/02/2024, 09h58
  2. Réponses: 0
    Dernier message: 11/03/2019, 18h30
  3. Réponses: 2
    Dernier message: 05/02/2013, 14h13
  4. Quel langage apprendre aujourd'hui?
    Par miløu dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 29/05/2012, 12h41

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