Je ne sais pas quoi choisir !

C/C++ lequel vaut le plus la peine ?

a marqué ce sujet comme résolu.

Bonjour , ça fait déjà un moment que je souhaite apprendre de la programmation (mais vraiment correctement quoi) . J’ai déjà appris quelque langage mais c’était pas grand chose , et je ne compte pas trop les langages web .

Seul souci , j’ai du mal à choisir . J’hésite entre le C++ et le C , bien que ce soit désormais des langages très différent , je ne sais pas lequel vraiment choisir . Alors voici plusieurs questions :

  • Peut on faire du bas niveau avec du C++ ? Et par la suite pouvoir l’utiliser avec de l’assembleur , ce qui d’habitude est fait en C .

  • Peut on s’amuser avec du C/C++ . Enfin plutôt y prendre plaisir ou ce sont des langages très professionnel et dur à écrire ?

  • Le C++ est il vraiment un langage horrible comme l’a dit Linus Torvald ? (notroll s.v.p)

  • Peut aussi bien gérer la mémoire et le matériel que le C ?

PS : Je suis jeune moins de 14 ans faut il des niveau en mathématiques pousser si on veut créer certains type de programme ? Je ne compte pas créer des trucs avec OpenGL ou tout ça mais bon .

Merci de ne pas transformer ce post en guerre C vs C++ . Et ne me dite pas "Apprend le python" j’en ai déjà fait et je déteste les langages interprétés et surtout le python pour son indentation sémantique .

Merci ! ;)

+0 -0

Salut,

Il y a bien plus d’alternatives que ça, le choix est très large. Quels domaines de la programmation t’intéressent ? Lequel souhaites-tu découvrir en premier ?

Et ne me dite pas "Apprend le python" j’en ai déjà fait et je déteste les langages interprétés et surtout le python pour son indentation sémantique .

Asstryfi

Pourquoi cette haine contre les langages interprétés ? Et pourquoi contre l’indentation qui a de la valeur ? Au final, tu indentes aussi dans les autres langages.

Salut,

Il y a bien plus d’alternatives que ça, le choix est très large. Quels domaines de la programmation t’intéressent ? Lequel souhaites-tu découvrir en premier ?

Et ne me dite pas "Apprend le python" j’en ai déjà fait et je déteste les langages interprétés et surtout le python pour son indentation sémantique .

Asstryfi

Pourquoi cette haine contre les langages interprétés ? Et pourquoi contre l’indentation qui a de la valeur ? Au final, tu indentes aussi dans les autres langages.

tleb

C’est difficile à te dire , j’aimerais juste programmer pour comprendre un peu le bas niveau et créer des applications efficaces et "cool". Le C à l’air intéressant pour le bas niveau et le C++ à l’air intéressant pour la POO.

Pour les langages interprétés je n’aime tout simplement pas , pour python j’aime bien indentée comme je le veux et à la manière que je veux , pas qu’on me le signale à chaque fois. Les langages interprétés sont chiants , il faut faire plein de trucs pour savoir ce qui ne va pas dans le script etc… J’aime tout simplement pas .

+0 -0
  • (1) Peut on faire du bas niveau avec du C++ ? (2) Et par la suite pouvoir l’utiliser avec de l’assembleur , ce qui d’habitude est fait en C .
  1. Oui.
  2. Un poil plus compliqué quand il s’agit d’appeler du C++ depuis du code assembleur et pas l’inverse*.

* mais c’est vraiment ultra spécifique comme besoin.

  • (1) Peut on s’amuser avec du C/C++ . (2) Enfin plutôt y prendre plaisir ou ce sont des langages très professionnel et dur à écrire ?
  1. Je n’utilise C++ que pour ça.
  2. Ben ça dépend de ce qui te fait plaisir.
  • Le C++ est il vraiment un langage horrible comme l’a dit Linus Torvald ? (notroll s.v.p)

Tu ne veux pas de troll et tu cites Linus Torvald qui l’un des troll les plus célèbres du monde. Linus balaie rarement à sa porte.

  • Peut aussi bien gérer (1) la mémoire et (2) le matériel que le C ?
  1. Pas de soucis de ce côté.
  2. Pareil, à part si tu vas chercher vraiment des plateformes tordues.

PS : Je suis jeune moins de 14 ans faut il des niveau en mathématiques pousser si on veut créer certains type de programme ? Je ne compte pas créer des trucs avec OpenGL ou tout ça mais bon .

Pas vraiment.

  • (1) Peut on faire du bas niveau avec du C++ ? (2) Et par la suite pouvoir l’utiliser avec de l’assembleur , ce qui d’habitude est fait en C .
  1. Oui.
  2. Un poil plus compliqué quand il s’agit d’appeler du C++ depuis du code assembleur et pas l’inverse*.

* mais c’est vraiment ultra spécifique comme besoin.

  • (1) Peut on s’amuser avec du C/C++ . (2) Enfin plutôt y prendre plaisir ou ce sont des langages très professionnel et dur à écrire ?
  1. Je n’utilise C++ que pour ça.
  2. Ben ça dépend de ce qui te fait plaisir.
  • Le C++ est il vraiment un langage horrible comme l’a dit Linus Torvald ? (notroll s.v.p)

Tu ne veux pas de troll et tu cites Linus Torvald qui l’un des troll les plus célèbres du monde. Linus balaie rarement à sa porte.

  • Peut aussi bien gérer (1) la mémoire et (2) le matériel que le C ?
  1. Pas de soucis de ce côté.
  2. Pareil, à part si tu vas chercher vraiment des plateformes tordues.

PS : Je suis jeune moins de 14 ans faut il des niveau en mathématiques pousser si on veut créer certains type de programme ? Je ne compte pas créer des trucs avec OpenGL ou tout ça mais bon .

Pas vraiment.

Ksass`Peuk

Merci , j’avais déjà poster quelque chose de similaire sur OCR mais j’ai modifier et je l’ai reposter ici

Ah et :

… le C++ à l’air intéressant pour la POO.

Asstryfi

La POO est une partie infime de C++, et les pères de la POO considèrent que c’est de toute façon très dur de respecter la vision OO qu’ils ont eu en utilisant C++ (et que c’est encore plus dur avec Java ou C#, mais bien plus facile avec JS. Ce qui est rigolo).

Ah et :

… le C++ à l’air intéressant pour la POO.

Asstryfi

La POO est une partie infime de C++, et les pères de la POO considèrent que c’est de toute façon très dur de respecter la vision OO qu’ils ont eu en utilisant C++ (et que c’est encore plus dur avec Java ou C#, mais bien plus facile avec JS. Ce qui est rigolo).

Ksass`Peuk

Ah et :

… le C++ à l’air intéressant pour la POO.

Asstryfi

La POO est une partie infime de C++, et les pères de la POO considèrent que c’est de toute façon très dur de respecter la vision OO qu’ils ont eu en utilisant C++ (et que c’est encore plus dur avec Java ou C#, mais bien plus facile avec JS. Ce qui est rigolo).

Ksass`Peuk

Intéressant , mais toute la librairie standard utilise l’OO non ?

+0 -0

j’aimerais juste programmer pour comprendre un peu le bas niveau et créer des applications efficaces et "cool"

Si tu veux comprendre le bas niveau en effet ses langages sont adaptés, mais pour créer des applications "efficaces" et "cool" je doute que ça soit la meilleure solution. Un langage comme python te permettra de crée bien plus facilement des applications sans avoir à gérer des tas de trucs toi même. Sauf si gérer la mémoire toi-même te parait être le comble du fun et du truc passionnant. :p

Dans 99% des cas, on se fiche des performances du langage, surtout pour ce que tu vas pouvoir faire à ton âge. Le jour où tu sera limité par les performances de ton langage, c’est probablement pas tout de suite. Pour te donner une idée, en finance, les traders ont souvent des codes en python (langage plutôt "lent") et ne passent sur du C/C++ que quand vraiment ils ont absolument besoin de performance et que la seule solution devient d’optimiser le bas niveau. Mais en attendant on va plutôt chercher à mieux écrire le code ou faire les choses autrement. Par ce que souvent un code bien écrit suffit à gagner en performance selon ce qu’on veut dire. Tant qu’on peut éviter le bas niveau on le fait.

Donc pour apprendre C/C++ pour le bas niveau je suis d’accord, mais pour faire des trucs cool tu ira beaucoup plus vite et t’amusera bien plus avec des langages plus haut niveau comme python/C#/js. Js te permet de faire pas mal de choses, et de découvrir la prog fonctionnelle et de l’orienté objet très différent des autres langages.

+2 -0

j’aimerais juste programmer pour comprendre un peu le bas niveau et créer des applications efficaces et "cool"

Si tu veux comprendre le bas niveau en effet ses langages sont adaptés, mais pour créer des applications "efficaces" et "cool" je doute que ça soit la meilleure solution. Un langage comme python te permettra de crée bien plus facilement des applications sans avoir à gérer des tas de trucs toi même. Sauf si gérer la mémoire toi-même te parait être le comble du fun et du truc passionnant. :p

Dans 99% des cas, on se fiche des performances du langage, surtout pour ce que tu vas pouvoir faire à ton âge. Le jour où tu sera limité par les performances de ton langage, c’est probablement pas tout de suite. Pour te donner une idée, en finance, les traders ont souvent des codes en python (langage plutôt "lent") et ne passent sur du C/C++ que quand vraiment ils ont absolument besoin de performance et que la seule solution devient d’optimiser le bas niveau. Mais en attendant on va plutôt chercher à mieux écrire le code ou faire les choses autrement. Par ce que souvent un code bien écrit suffit à gagner en performance selon ce qu’on veut dire. Tant qu’on peut éviter le bas niveau on le fait.

Donc pour apprendre C/C++ pour le bas niveau je suis d’accord, mais pour faire des trucs cool tu ira beaucoup plus vite et t’amusera bien plus avec des langages plus haut niveau comme python/C#/js. Js te permet de faire pas mal de choses, et de découvrir la prog fonctionnelle et de l’orienté objet très différent des autres langages.

Demandred

Je trouve ça divertissant moi de gérer la mémoire (ça fait un peu maso mais bon) . Le C# à l’air cool mais je sais pas si il est rapide , portable et dispose de beaucoup de librairie

Intéressant , mais toute la librairie standard utilise l’OO non ?

Asstryfi

Pas du tout :) . Il n’y a pas le moindre OO dans la lib standard C++. Ce n’est pas parce que c’est des objets en C++ que c’est de l’objet (c’est ça qui est bien avec le mot objet dont on abuse partout).

Ksass`Peuk

Donc ce n’est pas parce que l’on utilise des classes des méthodes etc… Que l’on fait de l’OO ?

Normalement, en C++ le mot c’est "fonction membre". Si on regarde d’un peu plus près. Normalement, en objet, les opérations doivent toujours pouvoir être supplantées par d’autres. Ce qui n’est pas le cas en C++, les fonctions membres ne peuvent pas être changées par défaut, c’est juste le cas pour les fonctions membres virtuelles (et elles, éventuellement, on pourrait les appeler méthodes).

Et ne me dite pas "Apprend le python" j’en ai déjà fait et je déteste les langages interprétés

Je ne sais pas ce que "langage interprété" veut dire, mais ce que je sais, c’est que Python est un langage compilé dans toutes ses implémentations connues.

+5 -0

Et ne me dite pas "Apprend le python" j’en ai déjà fait et je déteste les langages interprétés

Je ne sais pas ce que "langage interprété" veut dire, mais ce que je sais, c’est que Python est un langage compilé dans toutes ses implémentations connues.

Eusèbe

Non il n’est pas compilé il est interprété ce n’est pas un code binaire qui est éxécuter , mais un interpréteur qui lui fournit du code binaire mais à la voler

Je trouve ça divertissant moi de gérer la mémoire (ça fait un peu maso mais bon) . Le C# à l’air cool mais je sais pas si il est rapide , portable et dispose de beaucoup de librairie

Asstryfi

On vient de t’expliquer pourquoi la rapidité ne devrait pas être un facteur de choix. Et niveau portabilité, Python est bien mieux que C, C++ et consorts.

Non il n’est pas compilé il est interprété ce n’est pas un code binaire qui est éxécuter , mais un interpréteur qui lui fournit du code binaire mais à la voler

python est compilé en bytecode dans la majorité des implémentations de python.

Ensuite, oui C# est rapide, non il n’est pas bas niveau, et bien évidemment qu’il a beaucoup de lib car il a .NET (et nuget aussi d’ailleurs).

PS: ne pas gérer la mémoire c’est un piège dans tous les langages, même en python, java ou C#.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte