Bonjour, j'aimerais me lancer dans la programmation mais je ne sais pas par quel language commencer. J'hésite entre le language C++ ou le language Java. Si un développeur passe par là pourrait-il me renseigné. Je compte apprendre les deux mais le lequel me permettrais d'entamer l'apprentissage de la programmation sereinement ? Merci a vous bonne journée
Cherche un peu dans les premières pages de ce forum, c'est une question qui revient 1 fois par semaine en moyenne.
Moi le conseil que je te donne, c'est de commencer avec un truc qui te fait plaisir et de pas trop écouter les gens qui disent qu il faut à tout prix du bas niveau pour bien apprendre.
C'est bien plus facile d’apprendre avec Java, tu pourra faire C++ après. Surtout si tu apprends en t’amusant avec ce livre gratuit extrait de cette sélection de bons cours Java : http://java.developpez.com/cours/ : Programmation Java pour les enfants, les parents et les grands-parents : http://java.developpez.com/livres-collaboratifs/javaenfants/
Ce livre est très bien écrit et truffé d'exercices facile et ludique pour apprendre la programmation en s'amusant, il y à énormément de réussites avec ce livre si tu lis le fil des commentaires de ce cours : http://www.developpez.net/forums/d497116/general-developpement/programmation-enfants/java-enfants-consultable-ligne/
Si tu comprends pas un truc pendant ton apprentissage tu as plus de 1800 réponses dans les FAQ Java : http://java.developpez.com/faq/
Amuse toi bien ![]()
Autant j'entends des gens déconseiller le C++ pour commencer, autant je connais des gens qui ont commencé avec le C++ (dont moi) et qui en sont satisfait.
La logique de la programmation est exactement la même sur tous les langages.
Bien sur que c'est possible, mais il y à beaucoup plus d'abandons sur C++ que sur Java ou Python comme premier langage. D'ailleurs il y à eu un débat fort intéressant sur la complexité du langage C++ avec le fait que par exemple pour certains le C++ moderne est une amélioration bienvenue alors que pour d'autres cela à rendu les choses encore plus complexes et généré de nouveaux abandons : http://www.developpez.com/actu/98780/Cplusplus-aujourd-hui-est-il-comme-Fortran-Aurait-il-atteint-ses-limites-Un-ingenieur-explique-pourquoi-il-ne-s-adonne-plus-beaucoup-au-Cplusplus-moderne/
Les SSII arrivent à former des nouveaux ingénieur pour Java ou C# en quelques mois, et arrivent à les placer rapidement chez les clients, alors que pendant ce temps les éditeurs de logiciels qui recrutent sur C++ demandent souvent 5 ans d'expérience, je pense que ça veux tout dire...
Cherche un peu dans les premières pages de ce forum, c'est une question qui revient 1 fois par semaine en moyenne.
ouais, je pense qu'il faudrait éventuellement essayer de faire un pdf communautaire comme celui qu'il y a sur le forum création de jeu pour la question "par quoi commencer pour faire un jeu vidéo"
Le 03 septembre 2016 à 11:56:20 tbol a écrit :
Bien sur que c'est possible, mais il y à beaucoup plus d'abandons sur C++ que sur Java ou Python comme premier langage. D'ailleurs il y à eu un débat fort intéressant sur la complexité du langage C++ avec le fait que par exemple pour certains le C++ moderne est une amélioration bienvenue alors que pour d'autres cela à rendu les choses encore plus complexes et généré de nouveaux abandons : http://www.developpez.com/actu/98780/Cplusplus-aujourd-hui-est-il-comme-Fortran-Aurait-il-atteint-ses-limites-Un-ingenieur-explique-pourquoi-il-ne-s-adonne-plus-beaucoup-au-Cplusplus-moderne/Les SSII arrivent à former des nouveaux ingénieur pour Java ou C# en quelques mois, et arrivent à les placer rapidement chez les clients, alors que pendant ce temps les éditeurs de logiciels qui recrutent sur C++ demandent souvent 5 ans d'expérience, je pense que ça veux tout dire...
Je vois. Est-ce que tu sais quels aspects du C++ font que les nouveaux abandonnent davantage? Les pointeurs? Les new/delete? Les templates?
Je suis d'accord que ce n'est pas le langage le plus attrayant. Perso, je ne m'en sert presque plus. Je code soit en C, ou bien C#/Java. Mais je vois tout simplement pas pourquoi le C++ est supposé être tant difficile. Les concepts sont exactement les mêmes dans tout les langages OO.
Le 03 septembre 2016 à 11:39:57 romtrep a écrit :
Autant j'entends des gens déconseiller le C++ pour commencer, autant je connais des gens qui ont commencé avec le C++ (dont moi) et qui en sont satisfait.La logique de la programmation est exactement la même sur tous les langages.
J'ai commencé avec le C++ il y a presque 17 ans sur un bouquin. Et je me suis presque dégoûté de la prog car je passais plus de temps sur des concepts et des problèmes techniques que sur mes objecifs.
J'ai un peu honte de le dire, mais quelques années plus tard, j'ai eu envie de faire un site d'échange par FTP et d'envoi de CDRom copiés par courrier (je sais c'est très mal), je me suis pris un bouquin sur PHP, mySQL et j'ai progressé à une vitesse de fou. Pourquoi? Parce que c'était des technos avec lesquelles on arrivait vite à un résultat.
C'est clair que ce n'est pas avec ça que j'ai appris les pointeurs, les classes et le reste. Cependant, ça m'a entraîné à manier des variables, tester leur valeur, faire des boucles... Et lorsque je suis passé à du plus consistant, du genre Java et du C++, toute cette expérience accumulée m'a été utile et a servi de "bicarbonate" pour aider à digérer les concepts plus complexes de ces langages. Si j'avais commencé par C++, j'aurai avalé l'apéro, l'entrée, le plat principal, le dessert et le café en même temps, et donc y'aurait eu plus de chances que je m'arrête pour cause d'indigestion en route.
C'est pour ça que mon conseil à tout hobbyiste ou débutant, c'est de faire des choses qui leur plaisent. La programmation est un apprentissage très incrémental dans le sens ou l'expérience se forge et les compétences s'améliorent toujours avec la pratique même des années et des années après (même après 13 ans de prog professionnelle je me sens meilleur qu'il y a 2 ans en arrière). Donc, l'important pour réussir, c'est de DURER.
Le 03 septembre 2016 à 12:32:06 romtrep a écrit :
Le 03 septembre 2016 à 11:56:20 tbol a écrit :
Bien sur que c'est possible, mais il y à beaucoup plus d'abandons sur C++ que sur Java ou Python comme premier langage. D'ailleurs il y à eu un débat fort intéressant sur la complexité du langage C++ avec le fait que par exemple pour certains le C++ moderne est une amélioration bienvenue alors que pour d'autres cela à rendu les choses encore plus complexes et généré de nouveaux abandons : http://www.developpez.com/actu/98780/Cplusplus-aujourd-hui-est-il-comme-Fortran-Aurait-il-atteint-ses-limites-Un-ingenieur-explique-pourquoi-il-ne-s-adonne-plus-beaucoup-au-Cplusplus-moderne/Les SSII arrivent à former des nouveaux ingénieur pour Java ou C# en quelques mois, et arrivent à les placer rapidement chez les clients, alors que pendant ce temps les éditeurs de logiciels qui recrutent sur C++ demandent souvent 5 ans d'expérience, je pense que ça veux tout dire...
Je vois. Est-ce que tu sais quels aspects du C++ font que les nouveaux abandonnent davantage? Les pointeurs? Les new/delete? Les templates?
Tout à été dis dans ce débat déjà je vais pas te le refaire à moi tout seul il y à 80 commentaires ! Le sujet est vaste et complexe : http://www.developpez.com/actu/98780/Cplusplus-aujourd-hui-est-il-comme-Fortran-Aurait-il-atteint-ses-limites-Un-ingenieur-explique-pourquoi-il-ne-s-adonne-plus-beaucoup-au-Cplusplus-moderne/ ![]()
Je suis d'accord que ce n'est pas le langage le plus attrayant. Perso, je ne m'en sert presque plus. Je code soit en C, ou bien C#/Java. Mais je vois tout simplement pas pourquoi le C++ est supposé être tant difficile. Les concepts sont exactement les mêmes dans tout les langages OO.
Donc tu as pas regardé le C++ moderne : http://www.developpez.com/actu/84487/Bjarne-Stroustrup-publie-les-fonctionnalites-proposees-pour-Cplusplus-17-quelles-nouveautes-voulez-vous-voir-integrer-a-la-norme/ ?
Pour certains c'est une bénédiction mais pour d'autres une nouvelle raison de laisser tomber et de passer à autre chose...
Le 03 septembre 2016 à 13:06:31 tbol a écrit :
Le 03 septembre 2016 à 12:32:06 romtrep a écrit :
Le 03 septembre 2016 à 11:56:20 tbol a écrit :
Bien sur que c'est possible, mais il y à beaucoup plus d'abandons sur C++ que sur Java ou Python comme premier langage. D'ailleurs il y à eu un débat fort intéressant sur la complexité du langage C++ avec le fait que par exemple pour certains le C++ moderne est une amélioration bienvenue alors que pour d'autres cela à rendu les choses encore plus complexes et généré de nouveaux abandons : http://www.developpez.com/actu/98780/Cplusplus-aujourd-hui-est-il-comme-Fortran-Aurait-il-atteint-ses-limites-Un-ingenieur-explique-pourquoi-il-ne-s-adonne-plus-beaucoup-au-Cplusplus-moderne/Les SSII arrivent à former des nouveaux ingénieur pour Java ou C# en quelques mois, et arrivent à les placer rapidement chez les clients, alors que pendant ce temps les éditeurs de logiciels qui recrutent sur C++ demandent souvent 5 ans d'expérience, je pense que ça veux tout dire...
Je vois. Est-ce que tu sais quels aspects du C++ font que les nouveaux abandonnent davantage? Les pointeurs? Les new/delete? Les templates?
Tout à été dis dans ce débat déjà je vais pas te le refaire à moi tout seul il y à 80 commentaires ! Le sujet est vaste et complexe : http://www.developpez.com/actu/98780/Cplusplus-aujourd-hui-est-il-comme-Fortran-Aurait-il-atteint-ses-limites-Un-ingenieur-explique-pourquoi-il-ne-s-adonne-plus-beaucoup-au-Cplusplus-moderne/
Désolé. Je vais pas me taper 80 commentaires d'opinions de l'un et de l'autre. ![]()
Je posait la question plutôt dans un sens globale. Est-ce qu'il y a des chiffres qui montrent que le C++ cause plus d'abandons que le Java? Pour avoir connu une école qui débute la prog avec Java, il ne manquait pas d'abandons non plus. Sur une classe de 32, il en restait 14 à la deuxième session. ![]()
Bah oui mais on te donne des liens et tu veux pas les lire ![]()
J'ai pas d'étude à te donner sur le taux d'abandon, il en existe peut être, tout ce que je peu te dire c'est que les profs commencent généralement par enseigner avec soit Python, soit Java ou C# (autrefois Pascal ou C), mais pas par C++, C++ ça viens bien après dans le cursus (et encore que dans certaines écoles, comme des écoles d'ingénieur), donc ils ont leurs raisons.. A titre personnel si javais à enseigner de nouveau je proposeras le Pascal comme autrefois, ou alors Python ou C# ou Java (pour pas avoir l'air trop ringard avec du Pascal) et j'ai constaté que énormément de nouveaux arrivent à apprendre la programmation avec Python, ou C#, ou Java (spécialement avec le cours Java enfants), alors que sur les forums on trouve très souvent des messages de nouveaux qui se plaignent de n'arriver à rien en programmation très souvent parce qu'ils veulent commencer par C++ (tu peu regarder sur ce forum même).
Perso j'ai toujours fais du C++, j'ai commencé le Java récemment et de ce que je vois la couche objet sur ce dernier est plus "stricte", t'as moins de possibilités et t'es plus encadré dans son utilisation, donc j'avoue que ça m'étonne pas trop que les débutants comprennent mieux la POO avec le Java qu'avec le C++.
Il y à cette études US qui montre que en éducation en premier langage le plus souvent utilisé c'est Python et Java arrive en deux : http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-u-s-universities/fulltext
J'avais vu d'autres études avec des résultats similaire...

Le 03 septembre 2016 à 14:29:57 tbol a écrit :
Il y à cette études US qui montre que en éducation en premier langage le plus souvent utilisé c'est Python et Java arrive en deux : http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-u-s-universities/fulltext
J'avais vu d'autres études avec des résultats similaire...
Oui, le Java est davantage enseigné pour répondre aux demandent sur le marché car il existent beaucoup plus d'emploies Java que C++ et non parce que le Java est plus simple que le C++.
Pas besoin d'apprendre la vaste étendue de la STL pour faire du C++. En ne se servant que des concepts OO de base qui sont dans tous les langages OO, c'est aussi simple que du java ou C#.
Les débutants qui se plaignent de ne rien pouvoir faire ont tout simplement aucun idée de l’empleur de la programmation. Même en Java, tu ne fera rien de ce que tu veux faire avant plusieurs mois voir des années à étudier les concepts.
PS. J'ai lu les articles que tu as mis. Seulement pas les commentaires auxquels tu fais référence ou tout le monde donne son opinion sans fondement.
Le 03 septembre 2016 à 15:26:11 romtrep a écrit :
Oui, le Java est davantage enseigné pour répondre aux demandent sur le marché car il existent beaucoup plus d'emploies Java que C++
C'est pas faux, on le voie clairement dans cette étude par exemple : "Offres d'emploi développeur : Java est toujours en croissance et le langage le plus demandé" http://emploi.developpez.com/actu/101670/Offres-d-emploi-developpeur-Java-est-toujours-en-croissance-et-le-langage-le-plus-demande-suivi-dans-cette-etude-detaillee-par-JavaScript-et-PHP/
Mais je pense parce que que c'est aussi plus facile.
Les profs continuent d’enseigner parfois des langages comme Lips ou Prolog et c'est pas les offres d'emploi qui se bousculent à la sortie, c'est aussi des choix éducatifs.
Python est devenu le langage numéro 1 en éducation et c'est pourtant devancé dans les offres d'emploi par Java, C# et PHP, c'est à cause de la facilité.
et non parce que le Java est plus simple que le C++.
Pas besoin d'apprendre la vaste étendue de la STL pour faire du C++. En ne se servant que des concepts OO de base qui sont dans tous les langages OO, c'est aussi simple que du java ou C#.
Peut être que tous le monde est pas aussi intelligent que toi, tous le monde à pas 150 ou 180 de QI. La POO ça à l'air simple pour toi, certaines personnes n’arrivent pas à s'y mettre et utilisent le C et pas le C++ pour cette raison... Quand tu voie sur le forum que après deux ans certains étudiants n'ont toujours pas compris ce qu'est un pointeur en langage C, alors que c'est environ une heure de cours avec les exemples et exercices, alors le C++... ![]()
Enfin dans la théorie ce que tu écris est exact, dans la pratique...
La raison pour laquelle ils enseigne python ou scratch est souvent parcequ'il ne cherchent pas a produire des informaticiens mais simplement a developper la pensee calculatoire (computational thinking). Et donc ils preferent des langages qui retire le plus de syntaxe possible.
Souvent on enseigne aux informaticiens directement l'ingenierie logicielle et la java est plutot pas mal.
C'est ça, Python est par exemple très utilisé pour une initiation à la programmation dans les écoles non spécialisées en informatique, alors qu'il y à encore des écoles d’informatique qui enseignent Java directement, mais ce sont des généralités après on trouve de tout.