Quel est le meilleur language ?
Résolu
Lsadique
Messages postés
226
Date d'inscription
Statut
Membre
Dernière intervention
-
Lsadique Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
Lsadique Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai apprendre à coder, cela fait un moment que j'y pense. Mais il reste juste à trouver le langage qui serait le meilleur (JV,C,C++...) et quoi prendre pour bien apprendre. Donc c'est pour ça que je me tourne vers vous ! :) Merci d'avance :)
Je souhaiterai apprendre à coder, cela fait un moment que j'y pense. Mais il reste juste à trouver le langage qui serait le meilleur (JV,C,C++...) et quoi prendre pour bien apprendre. Donc c'est pour ça que je me tourne vers vous ! :) Merci d'avance :)
A voir également:
- Quel est le meilleur language ?
- Meilleur site de telechargement - Accueil - Outils
- Meilleur site de vente entre particulier - Guide
- Quel est le meilleur site de partage de photos - Guide
- Quel est le meilleur gps gratuit sans internet - Guide
- Meilleur site partage abonnement - Accueil - Services en ligne
3 réponses
Si tu souhaites apprendre à coder, je te conseille Python dans un premier temps. Tu peux aussi regarder du côté de HTML, CSS pour les langages web.
Pour aller plus loin, tu peux regarder le C. Pour les langages web, tu peux ajouter Javascript.
Le but final serait d'avoir un ordre d'idée des langages orientés objets donc Java et C++ (pour les plus connus).
Tu as là le chemin à suivre pour gagner un socle de compétence. Ensuite, tu peux te pencher sur les différentes API pour chaque langage selon ce que tu veux faire. En voici des exemples :
- Pour le webscrapping en Python : urllib.request > beautifulsoup > selenium > phantomJS (tu auras besoin de connaissance sur les expressions régulières aussi)
- Pour les IHM en Java : awt (pour l'apprentissage, ne pas utiliser) > swing > javafx
- Langage web avancé : ajax, php, asp, flash (web ?)
- Pour les IHM en C : Qt
Pour aller plus loin, tu peux regarder le C. Pour les langages web, tu peux ajouter Javascript.
Le but final serait d'avoir un ordre d'idée des langages orientés objets donc Java et C++ (pour les plus connus).
Tu as là le chemin à suivre pour gagner un socle de compétence. Ensuite, tu peux te pencher sur les différentes API pour chaque langage selon ce que tu veux faire. En voici des exemples :
- Pour le webscrapping en Python : urllib.request > beautifulsoup > selenium > phantomJS (tu auras besoin de connaissance sur les expressions régulières aussi)
- Pour les IHM en Java : awt (pour l'apprentissage, ne pas utiliser) > swing > javafx
- Langage web avancé : ajax, php, asp, flash (web ?)
- Pour les IHM en C : Qt
On ne peut pas dire qu'il y ait un "meilleur"
Il faut choisir le langage le plus adapté à ce que tu veux en faire.
Si tu veux tout faire le temps d'apprentissage d'un langage généraliste et puissant sera long avant de pouvoir t'en servir (avec un fort risque de découragement (C, C++, C#, Java, Python...ext))
Si tu veux apprendre la programmation sans peiner, il faut choisir un langage facile mais qui sera limité (Basic).
Il faut choisir le langage le plus adapté à ce que tu veux en faire.
Si tu veux tout faire le temps d'apprentissage d'un langage généraliste et puissant sera long avant de pouvoir t'en servir (avec un fort risque de découragement (C, C++, C#, Java, Python...ext))
Si tu veux apprendre la programmation sans peiner, il faut choisir un langage facile mais qui sera limité (Basic).
Bonjour carol103,
De nos jours, Basic est quelque peu en disgrâce, cela dit, ton intervention me rappelle cette discussion sur laquelle je suis intervenu il y a quelques années :
https://forums.commentcamarche.net/forum/affich-29227536-quel-langage-en-premier#54
ce fut une discussion très riche (et houleuse aussi)
Dal
De nos jours, Basic est quelque peu en disgrâce, cela dit, ton intervention me rappelle cette discussion sur laquelle je suis intervenu il y a quelques années :
https://forums.commentcamarche.net/forum/affich-29227536-quel-langage-en-premier#54
ce fut une discussion très riche (et houleuse aussi)
Dal
Salut, disgrâce n’est peut être pas le terme.
Basic en soit n’existe quasiment plus. Mais ses descendants si.
Un gros reproche qui est souvent fait à ces langages est qu’ils sont très tolérants à l’à peu près (typage faible, peu structuré) . Du coup ils donnent de mauvaises habitudes dont le codeur peut avoir du mal à se défaire en passant à un autre langages (ça a été mon cas). Ça n’empêche pas de pouvoir écrire de bons programmes avec eux.
Je n’ai pas lu complètement la discussion que tu as mis en lien, mais ces arguments reviennent aussi « contre php », pourtant un grand nombre de site est écrit en php.
Cas particulier de VB.Net, c’est un faux ami, Microsoft a voulu faire croire aux codeurs vb6 (beaucoup d’autodidactes) que c’est du vb et aux codeurs « pros » que c’est du .Net.
En fait ça n’est ni l’un (du vb) ni vraiment l’autre (du .net).
La structure du code et les mots clés sont directement hérités de vb6, la philosophie tout objet, l’orientation mvc et le typage fort de .net.
Mais on peut mélanger le tout objet et des fonctions de vb6, on peut aussi assouplir le typage, en terme de mauvaises habitudes c’est puissance 10 par rapport à vb6 et quand il faut debuger c’est infernal. Les questions vb.net ici ou sur CS regorgent d’amalgames.
Basic en soit n’existe quasiment plus. Mais ses descendants si.
- Les « Visual » VBA, VBS, VB.Net et même VB6, même si Microsoft le considère abandonné.
- Les macro openoffice .
- les programmes sur calculatrice casio (TI je sais pas).
- qbasic, qui se raréfie aussi.
- pleins d’autres certainement.
Un gros reproche qui est souvent fait à ces langages est qu’ils sont très tolérants à l’à peu près (typage faible, peu structuré) . Du coup ils donnent de mauvaises habitudes dont le codeur peut avoir du mal à se défaire en passant à un autre langages (ça a été mon cas). Ça n’empêche pas de pouvoir écrire de bons programmes avec eux.
Je n’ai pas lu complètement la discussion que tu as mis en lien, mais ces arguments reviennent aussi « contre php », pourtant un grand nombre de site est écrit en php.
Cas particulier de VB.Net, c’est un faux ami, Microsoft a voulu faire croire aux codeurs vb6 (beaucoup d’autodidactes) que c’est du vb et aux codeurs « pros » que c’est du .Net.
En fait ça n’est ni l’un (du vb) ni vraiment l’autre (du .net).
La structure du code et les mots clés sont directement hérités de vb6, la philosophie tout objet, l’orientation mvc et le typage fort de .net.
Mais on peut mélanger le tout objet et des fonctions de vb6, on peut aussi assouplir le typage, en terme de mauvaises habitudes c’est puissance 10 par rapport à vb6 et quand il faut debuger c’est infernal. Les questions vb.net ici ou sur CS regorgent d’amalgames.
Salut Whismeril,
Je ne connais pas les subtilités des versions Microsoft dont tu parles, et qui permettent de faire des applications exploitant pleinement les capacités des machines récentes. Tu es l'expert :-).
J'évoquais quant à moi le thème de mon post dont je donnais le lien, en parlant du Basic qui "n’existe quasiment plus" (comme tu l'évoques), qui présentait effectivement les limitations et la simplicité évoqués par carol103, et du lien que je faisais avec cet article de David Brin "Why Johnny can't code".
Aujourd'hui, plus de 10 ans après ce constat de David Brin (qui comparait la situation en 2006 par rapport à ce qu'elle était 20 ans avant), la tendance me semble avoir encore empiré, avec le développement du marché des tablettes ou téléphones portables au détriment de celui des ordinateurs personnels.
Le but des constructeurs et des éditeurs de systèmes d'exploitation n'est clairement plus de donner à l'utilisateur moyen le pouvoir de s'approprier la machine en leur donnant des outils accessibles de programmation et les moyens de se former simplement.
Dal
Je ne connais pas les subtilités des versions Microsoft dont tu parles, et qui permettent de faire des applications exploitant pleinement les capacités des machines récentes. Tu es l'expert :-).
J'évoquais quant à moi le thème de mon post dont je donnais le lien, en parlant du Basic qui "n’existe quasiment plus" (comme tu l'évoques), qui présentait effectivement les limitations et la simplicité évoqués par carol103, et du lien que je faisais avec cet article de David Brin "Why Johnny can't code".
Aujourd'hui, plus de 10 ans après ce constat de David Brin (qui comparait la situation en 2006 par rapport à ce qu'elle était 20 ans avant), la tendance me semble avoir encore empiré, avec le développement du marché des tablettes ou téléphones portables au détriment de celui des ordinateurs personnels.
Le but des constructeurs et des éditeurs de systèmes d'exploitation n'est clairement plus de donner à l'utilisateur moyen le pouvoir de s'approprier la machine en leur donnant des outils accessibles de programmation et les moyens de se former simplement.
Dal
Salut Lsadique,
Pour le jeu vidéo, tu as un article assez bien fait ici :
Programmation de jeux vidéo : par où commencer ?
il n'a malheureusement pas été mis à jour depuis 2012, mais il donne de bonnes indications sur le panorama des options possibles, dont la plupart sont toujours d'actualité.
Ces dernières années, avec HTML5 et les progrès de JavaScript, on peut ajouter tous les frameworks et moteurs de jeux exploitant ces technologies. On peut faire des choses assez amusantes avec https://phaser.io/ https://melonjs.org/ etc. Vois une liste sur https://html5gameengine.com/
Sinon, les jeux sur console et PC utilisant intensivement les ressources des machines sont développés en C++ la plupart du temps.
Dal
Pour le jeu vidéo, tu as un article assez bien fait ici :
Programmation de jeux vidéo : par où commencer ?
il n'a malheureusement pas été mis à jour depuis 2012, mais il donne de bonnes indications sur le panorama des options possibles, dont la plupart sont toujours d'actualité.
Ces dernières années, avec HTML5 et les progrès de JavaScript, on peut ajouter tous les frameworks et moteurs de jeux exploitant ces technologies. On peut faire des choses assez amusantes avec https://phaser.io/ https://melonjs.org/ etc. Vois une liste sur https://html5gameengine.com/
Sinon, les jeux sur console et PC utilisant intensivement les ressources des machines sont développés en C++ la plupart du temps.
Dal
Apprendre C++ te permettra d'utiliser des bibliothèque libres conçues pour faciliter la création de jeux comme SFML ou OGRE.
Mais C++ est certainement un des langages les plus difficiles à maîtriser complètement. Si tu t'orientes vers C++ comme premier langage, commence modestement et avec de bonnes bases, et un bon livre qui t'enseigne le C++ moderne ne serait pas de trop.
Je ne veux pas recommander un ouvrage en C++, car je ne le pratique pas suffisamment pour m'estimer qualifié pour le faire, cependant, vu la complexité du langage, je ne suis pas d'accord sur le fait qu'un ouvrage bien fait ne soit pas utile.
Pour créer tes objets 3D, tu devra aussi apprendre à utiliser des outils de conception tels que Blender, Maya, Softimage...
Créer un jeu un tant soit peu complexe nécessite beaucoup de compétences différentes.
Savoir utiliser des moteurs de jeux comme ceux qui ont été cités est encore autre chose. S'ils sont pour la plupart réalisés eux-mêmes en C++, ils demandent rarement à leur utilisateur de programmer en C++, mais cela n'empêche pas qu'ils soient très complexes à prendre en main. Ce sont des environnement de création de haut niveau avec interfaces graphiques pour gérer les contenus et les structurer, et des langages de script (Lua, JavaScript,...), du C#, ou des langages ad hoc... pour gérer la logique.
Bon courage :-)
Mais C++ est certainement un des langages les plus difficiles à maîtriser complètement. Si tu t'orientes vers C++ comme premier langage, commence modestement et avec de bonnes bases, et un bon livre qui t'enseigne le C++ moderne ne serait pas de trop.
Je ne veux pas recommander un ouvrage en C++, car je ne le pratique pas suffisamment pour m'estimer qualifié pour le faire, cependant, vu la complexité du langage, je ne suis pas d'accord sur le fait qu'un ouvrage bien fait ne soit pas utile.
Pour créer tes objets 3D, tu devra aussi apprendre à utiliser des outils de conception tels que Blender, Maya, Softimage...
Créer un jeu un tant soit peu complexe nécessite beaucoup de compétences différentes.
Savoir utiliser des moteurs de jeux comme ceux qui ont été cités est encore autre chose. S'ils sont pour la plupart réalisés eux-mêmes en C++, ils demandent rarement à leur utilisateur de programmer en C++, mais cela n'empêche pas qu'ils soient très complexes à prendre en main. Ce sont des environnement de création de haut niveau avec interfaces graphiques pour gérer les contenus et les structurer, et des langages de script (Lua, JavaScript,...), du C#, ou des langages ad hoc... pour gérer la logique.
Bon courage :-)
Tu peux aussi voir du côté des moteurs de jeu : Unreal engine, Unity etc.
Source : https://fr.wikipedia.org/wiki/Moteur_de_jeu