[Conseil] Choix d'un langage de programmation

Ce qui ne concerne ni le forum ni des problèmes
dennisnedry49
newbie
Messages : 4
Inscription : jeu. 30 juin 2016, 14:27

[Conseil] Choix d'un langage de programmation

Message par dennisnedry49 »

Bonjour : )
J'ai envie d'apprendre à programmer depuis un moment, mais n'ayant pas de projet défini je ne savais pas vers quel langage me diriger. J'ai enfin trouvé un projet et je viens donc demandé votre aide pour choisir un langage qui conviendrait à ce projet.

Donc j'aimerai coder un logiciel permettant de jouer à des JdR papiers sur pc avec d'autre joueurs en passant par le réseau (l'option webcam sera présente). J'ai pensé au python, car apparemment plus facile d'apprentissage et langage de scripts pouvant m'être utile pour certaines tâche sur ma distro'. Mais les autres choix sont: C, C++, Java. Je connais certaines différences entre chacun de ces langages mais je suis perdu pour en choisir un qui conviendrait à la tâche que je souhaite effectuer.

Merci pour vos avis : )
BlondVador
Chu Ko Nu
Messages : 302
Inscription : ven. 29 janv. 2010, 21:41

Re: [Conseil] Choix d'un langage de programmation

Message par BlondVador »

Bonjour,

Le choix du langage dépend de tes contraintes :
- Jusqu'à quel point as-tu besoin de gérer le matériel ?
- Souhaites-tu que ton logiciel soit multiplateformes ? Jusqu'à quel point ?
- Souhaites-tu que ce soit un logiciel "en dur" ou dans le nuage ?

Par exemple, pour ton type de logiciel, pour en faciliter le déploiement, il serait sage de ne l'écrire entièrement en python. Il demande un interpréteur et les systèmes d'exploitation n'en sont pas équipés de base. Si tu souhaites également déployer ta solution sur smartphone, il faut savoir que Python n'est pas disponible sous iOS (sauf Jailbreak) et ne dispose que d'une implémentation partielle sous Androïd.

A vrai dire, il n'y a pas de meilleur langage pour commencer. Certaines personnes te conseilleraient du C ou du Java, ces langages étant populaires, fournis en diverses bibliothèques. et en documentation. Tu pourras apprendre les paradigmes élémentaires du développement.

Mais il est tout à fait possible de se jeter à l'eau avec du Ruby, sans connaître la programmation orientée objet.

Dans tous les cas, il faut choisir un langage qui puisse répondre à tes contraintes. Le choix précis de l'un ou l'autre n'a au final que peu d'importance quand tu débutes, cela dépend principalement de toi, ta motivation et ta faculté à raisonner. Avec le temps, tu t'orienteras vers des langages avec lesquels tu te retrouves le plus dans leur syntaxe et leurs paradigmes (ou alors des langages qui offrent le plus d'employabilité ^^).
Dernière modification par BlondVador le jeu. 30 juin 2016, 15:47, modifié 1 fois.
dennisnedry49
newbie
Messages : 4
Inscription : jeu. 30 juin 2016, 14:27

Re: [Conseil] Choix d'un langage de programmation

Message par dennisnedry49 »

J'aimerai que le logiciels soit multiplateforme, linux, MS + OSX, car il reste encore des hérétiques qui n'utilise pas le manchot : /. Pas sur smartphone.

D'après ce que tu me dis le python est "déconseillé, car en effet langage interprété. Je pencherai plus pour le C++ du coup, C étant d'après ce que j'ai lu plutôt un langage "système". Et Java est interprété aussi.

Pour ma faculté à raisonner et ma motivation il n'y a pas de problème : P
BlondVador
Chu Ko Nu
Messages : 302
Inscription : ven. 29 janv. 2010, 21:41

Re: [Conseil] Choix d'un langage de programmation

Message par BlondVador »

Concernant le Java, c'est un peu différent. La machine virtuelle Java est installée sur la majorité des ordinateurs tant il est populaire (et parfois même par défaut sur certains Windows). Pour prendre un exemple célèbre, Minecraft est écrit en Java et ça ne l'a pas empêché d'être vendu à des dizaines de millions d'exemplaires.

Le C ou C++, très grossièrement, c'est pareil. Le C est plus bas niveau que le C++ et permet ainsi une interaction plus fine avec la machine. La grosse différence est que le C++ est un langage orienté objet contrairement au C (oui, les puristes me diront que la POO n'est pas nécessaires en C++ et qu'il apporte aussi les exceptions, les templates...).

Pour du multiplateforme, Qt, C, C++ et Java sont les langages populaires. Python, Perl, Ruby sont possibles, bien qu'ils demandent leurs interpréteurs respectifs, ils me semblent en effet plus accessibles aux débutants.

Dans tous les cas, tu pourras faire grossièrement la même chose avec chacun de ces langages et ils sont tous biens documentés. A toi de choisir celui qui te parle le plus, avec le temps et l'expérience tu seras capables de discerner les différences entre ceux-ci mais pour le moment, tu es là pour apprendre ;).
dennisnedry49
newbie
Messages : 4
Inscription : jeu. 30 juin 2016, 14:27

Re: [Conseil] Choix d'un langage de programmation

Message par dennisnedry49 »

J'ai le livre de Claude Delannoy pour avoir une introduction à la programmation, expliquant les bases, sur plusieurs langage. Donc je ne pense pas que prendre un langage "facile" à apprendre fera un grosse différence (il y a les forums pour les questions que je me poserai sans réponses : P)

Si le C peut convernir pour mon projet alors je pencherai plutôt pour celui là, car il m'intrigue depuis un moment, j'avais déjà fait un essai dessus mais je bloquais sur les pointeurs, j'avais notamment acheté 'la bible du C' : D
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17188
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Conseil] Choix d'un langage de programmation

Message par benjarobin »

Pour faire une interface graphique un minimum portable, je te conseil le C++ avec la bibliothèque Qt.
Sinon le fait que python ne soit pas installé sur la majorité des PC ne devrait pas être un gros problème.
Mais je doit t'avouer que ton projet est peut être un peu trop ambitieux pour une personne débutante...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
dennisnedry49
newbie
Messages : 4
Inscription : jeu. 30 juin 2016, 14:27

Re: [Conseil] Choix d'un langage de programmation

Message par dennisnedry49 »

benjarobin a écrit :Mais je doit t'avouer que ton projet est peut être un peu trop ambitieux pour une personne débutante...
Je commencerai peut-être par des projets un peu plus simple, mais mon but serait de développer ça : )

[je n'ai pas encore internet chez moi, donc s'il y a des réponse, ne vous étonnez pas si je ne réponds pas de suite]
a.mark
Hankyu
Messages : 12
Inscription : mar. 05 juil. 2016, 16:51
Localisation : Paris

Re: [Conseil] Choix d'un langage de programmation

Message par a.mark »

Yo !
Moi je considère que commencer la prog c'est un peu comme commencer le vélo :)

Au départ tu mets les deux petites roues derrière pour apprendre les bases : pédaler, tourner, klaxoner, te diriger.. Une fois que c'est fait et que tu maîtrises bien, tu retires les petites roues et tu commences à apprendre à gérer ton équilibre, ta vitesse ect...

Donc moi mon avis c'est qu'il vaut mieux commencer par un langage haut niveau pour acquérir les fondamentaux : variables, structures conditionnelles et cie pour ensuite plus tard enlever les petites roues et te lancer dans des langages qui te demanderont de te mettre un peu plus à la place de la bécane notamment la gestion de la mémoire que je compare à l'équilibre sur le vélo :)

Après y'a 40000 approches différentes. Moi j'éviterai Ruby je pense pas que ce soit le meilleur langage pour attaquer, Python c'est sympa.

Je pense que dans un premier temps il doit pas se soucier des besoins pour son projet, mais commencer par apprendre à programmer.
Avatar de l’utilisateur
Bismut
Chu Ko Nu
Messages : 343
Inscription : mar. 21 juil. 2009, 09:33
Localisation : Aix-en-Provence

Re: [Conseil] Choix d'un langage de programmation

Message par Bismut »

Perso, je te conseillerais plutôt du Web (HTML/CSS/JS) encapsulé dans une application Electron.
App Desktop, Multiplateforme, facilement évolutif en Webapp ou en app pour Smartphone dans le futur.
Javascript est quand même plus abordable que du C++ pour un débutant (et je parle en connaissance de cause)
Des tonnes de frameworks JS (Angular, MeteorJS, Polymer,...) ou bien de librairies graphiques existent (Material design, Bootstrap & Co.)
Mac Mini 2011 (SSD) avec Archlinux
Mac Mini 2009 (SSD) avec Archlinux
Asus EeePC S101 avec Archlinux
Zotac Mag et HP College avec Archlinux
Nexus S et Nexus 5 avec Android
Mac Book Air 2013 (SSD) avec OS X Yosemite (Désolé XD)
Répondre