d´apres dnob700, tu peux dire que c´est un basic. et tu peux dire que ce n´est pas un basic
j´ai trouver un guide sur son site officiel. mais en anglais, il y´a pas un moyen pour avoir un guide en français
Commencer son apprentissage de la programmation avec le C++ "parceque c´est ce que les pros utilisent", c´est comme commencer le ski avec le saut à ski : La manière la plus efficace de se casser la gueule.
Enfin bon, ce que j´en dis, moi...
Le C++ reste un langage haut niveau assez simple d´accés.
Moi je conseille plutot de commencer par le C.
Mais rien d´impossible la dedans.
Je pense que l´on ne se place pas du même point de vue, lapintade. Je pensais au pur débutant qui n´a jamais entendu parler de programmation de sa vie. Certains n´ont sans doute même jamais entendu parler d´instruction conditionnelle (si le mot clé "if" ne vous dit rien, vous êtes en plein dedans).
Le C++ c´est bien beau, ça fait très pro, mais je pense qu´à n´importe quel niveau, un programmeur qui sera efficace en BASIC sera plus intéressant qu´un programmeur qui patauge entre pointeurs, templates, constructeurs de copie et cast dynamique.
L´envoyer d´une une jungle telle, avec pour consigne de se débrouiller avec la quantité incroyable de documentation disponible, c´est comme de laisser un élève se débrouiller avec ses bouquins à la maison. Il va patauger, se démotiver et abandonner.
Même si le langage ne fait pas tout, il est quand même évident que si un bon programmeur C/C++ produira du code contenant environ 5 erreurs pour 100 lignes de code, un débutant aura du mal à digérer sa première corruption de pile. Il me semble qu´il existe des environnements largement mieux adaptés à l´apprentissage.
Quand je regarde les profils, je vois du 12-14 ans, et je me dis qu´à cet âge là, l´instruction passe encore par un cadre d´enseignement adapté. Il n´y a qu´à voir la quantité de gens qui se gauffrent en fac pour voir qu´être autonome n´est pas inné.
Si tu rappelles sans cesse à chacun que placer la barre trop haut pour son projet le conduira tout droit à l´echec, permet moi de te rappeler qu´il en va de même dans l´apprentissage de la programmation.
Non non, pas de probleme de point de vue. Je suis certainement le plus apte a me placer au niveau d´un debutant (de part mon recul grace a mon grand age
)
La langage C/C++ est un langage assez vaste et je voudrais preciser que lorsque je dis qu´il est accessible aux debutant, je parle des notions de base, de l´algorithmique basique. D´ailleurs puisque le mots est lancé, dans les basic on retrouve la meme chose. Tu parle de "if", mais dans un basic tu aura aussi des instructions conditionnelles.
Maintenant tu parles de "pointeurs, templates, constructeurs de copie et cast dynamique", et bien pour moi je considere pas que ce soit des points obligatoire quand on programme. C´est des options, donc un debutant peut trés bien se passer.
Pour preuve, regardes mes exercices NGCK :
http://perso.numericable.fr/~ckckck/NGCK_doc.htm
Beaucoup de debutant "purs" ont reussis a faire ces exercices. J´estime que ce resultat prouve que mes dires sont juste.
Je pense que Nesca tu as une vision trop large du langage C/C++ et tu considere que ca forme un tout. Moi je considere que c´est un langage qui fonctionne par couche. La premiere couche est totallement accessible aux debutants.
Quand, j´ai commencé moi, j´ai fait un peu de basic et tout de suite de l´assembleur (il y avait que ca a l´epoque). Je ne conseillerais pas ce genre de choses a un debutant. Je pense que j´aurais été bien mieux avec un C.
Donc pour moi, Basic ou C, c´est la meme chose. Ce sont des langages evolués qui permette facilement d´obtenir des resultats.
Maintenant il est clair qu´un debuttant ne fera pas de programmation C++ avancée, mais il en aura pas besoin donc pas de probleme (meme moi maintenant, je me sers toujours pas de certains trucs en C++).
"permet moi de te rappeler qu´il en va de même dans l´apprentissage de la programmation."
Jettes juste un oeil a ma methode NGCK et tu verras que tu as adapté mes propos a ta propre vision du langage C/C++.
Si je parlais des "if", c´était simplement pour emettre l´idée qu´il est possible qu´une partie de l´audience ne sache même pas de quoi il s´agit. Dès lors, je trouvais discutable de les tourner vers un langage aussi complexe.
De même, pour moi "NGCK != C++". Les boucles "for", les bon vieux "if" l´utilisation d´un DrawRect, les modulos et un affichage proche du mode texte, ça me fait fortement penser à QBasic.
Je ne critique pas NGCK en tant que méthode d´apprentissage, je trouve au contraire que c´est un merveilleux tutorial pour commencer la programmation de manière ludique. Une très bonne initiative, parfaitement exécutée.
Sauf que QBasic ne demande pas d´avoir DirectX9 et VC++ d´installé et un PATH à jour pour compiler. A part la syntaxe, ces excercices n´ont rien d´un apprentissage du C++. On pourrait, et je reprends l´exemple d´un environnement qui m´est cher, les reproduire en QBasic sans le moindre effort.
Avant de me faire taper sur les doigts, je corrige : On pourrait passer la NGCK en QBasic *quasiment* sans effort, la réécriture de la librairie étant inévitable, mais le fonctions me semblent quasiment correspondre une par une à des fonctions disponibles.
Moi je conseille le dark basic avec on peut faire des jeux 3D assez facilement et ces le meilleurs (ou l´un des meilleurs) basics, parce que ce kid basic n´a pas l´air d´etre tres puissant vaut mieux direct apprendre le db ou le c++ (dur) que de perde du temp a apprendre ce language que l´on va quitter pour en apprendre un autre
"ces excercices n´ont rien d´un apprentissage du C++. "
Ces exercices sont la pour completer l´apprentissage via un bouquin et un tuto.
Maintenant je vois pas trop l´interet d´apprendre un langage quasiment inconnu alors que pour la meme chose, on peut apprendre LE langage. Enfin bon, ca mene a rien cette discussion, je sais bien que j´ai totallement raison et les gens qui m´envoient des mails pour me remercie de NGCK en sont la preuve
Bonne journée.
Je ne connais personne autour de moi qui n´ait jamais appris qu´un langage. On est, de par son environnement scolaire puis professionnel, amené à s´adapter. Apprendre un nouveau langage n´est souvent qu´une nouvelle syntaxe à assimiler et un concept ou deux à adapter, la base restant la même. Je ne compte même plus.
Reste à savoir si l´on désire se plonger dans la programmation ou non. Si on veut faire "programmeur", il faut s´attendre à réapprendre en permanence de nouveaux langages et de nouvelles techniques. Si non, les makers restent ouverts.
"ces excercices n´ont rien d´un apprentissage du C++. "
Ces exercices sont la pour completer l´apprentissage via un bouquin et un tuto.
Ces exercices me semble surtout apprendre de bonnes bases de structure de programme et de flux d´exécution. Ils n´apprennent pas le langage C++ dont le seul nom fait mouiller les culottes, mais plutôt à faire un premier jeu.
Apprendre à commander une Guiness, ça n´est pas apprendre l´anglais, même si ça fait bien plaisir.
Ceci dit, je suis bien d´accord, si le premier contact avec LE LANGAGE (que j´appellerais UN LANGAGE DU TOP 3) se fait de manière aussi agréable, nul doute qu´il aiguisera les curiosités et qu´il amènera l´élève à aller plus loin.
et ces le meilleurs (ou l´un des meilleurs)
Pour dire ça il faudrait ptet en essayer d´autre des BASIC (si c´est le cas, autant pour moi)
Le liberty= nul
pure= bof
dark basic pas mal
blitz : pas mal aussi
le reste sont hors corse parce qu´il sont nuls
"Commencer son apprentissage de la programmation avec le C++ "parceque c´est ce que les pros utilisent", c´est comme commencer le ski avec le saut à ski : La manière la plus efficace de se casser la gueule.
Enfin bon, ce que j´en dis, moi..."
-> C´est parfaitement mon point de vue.
Mais c´est quand même encore un BASIC.
Il y a quand même une grosse diférence entre du basic et du C++ : si on utilise le C++ qu´à un niveau débutant (if, for et Cie) et le basic de même (sauf que pour le basic, il n´y a pas forcément beaucoup d´autre chose) alors on est beaucoup plus limité en C++ qu´en basic.
Car on n´a pas les pointeurs du C++ alors qu´en basic ils ne sont pas nécessaire, on peut utliser les mots clefs byval et byref (QB et VB) qui se comprennent très facilement, ou alors on peut alouer des tableau dynamiquement sans se soucier le moins du monde de gestion de la mémoire.
Sans compter la gestion des chaines qui est transparante en basic, alors qu´en C++, même si c´est possible, aucun débutant ne le sait (il y a peu de tuto qui introduisent les string avant les char* même si c´est plus simple - surtout que dans ce cas là, il y a une aproche objet dont on se passe à 100% en basic).
Bon et en dernier, des facilité comme l´absences des points virgules, l´insensibilité à la casse, le support natif la plupart du temps de la console et d´une fenêtre graphique (même si encore une fois en C++ on peut l´avoir (c´est le but de ma bibliothèque advio2)) et une véritable exécution pas-à-pas permettant un débogage ultra simplifié (avec Dev C++, c´est pas évident, avec VC++ c´est possible, mais c´est moins agréable (on ne peut pas par exemple modifier le code pendant l´exécution (même s´il prétend que l´on peut, ça ne marche pas vraiment))).
Tout ça font à mon avis que le basic est un bien meilleur choix pour débuter dans la programmation lorsque l´on a aucune base.
P.S. j´ajoutterais juste en conclusion pour lapintade que LE langage reste pour l´instant le VB, qui est largement le langage le plus utilisé en entreprise, même si ça ne concerne pas les logiciel les plus commerciaux.
Moi j´ai appris le langage C++ alors que j´avais tout juste 13 ans. J´ai appris ce langage tout simplement parce que c´est le seul dont j´avais entendu parler et après j´ai appris que c´était un langage très utilisé par les professionnels (au moins 99% des jeux vidéos sont programmés en C++) et j´ai aussi apris que c´était un langage très compliqué même si je n´avais aucun problème. Personnellement je n´utilise quasiment jamais des notions comme les pointeurs, l´allocation de mémoire, etc... tout simplement parce que au début je ne comprenais pas l´interêt de ces notions et que j´arrive à faire sans (même si parfois ça donne un code assez sale).
Oui moi aussi j´ai commencé en apprenant le C++. Et maintenant ca va. Je le maitrise ![]()
Ca demande du temps c´est sur, ensuite j´ai voulu me mettre a programmer sur ma calculatrice, et je me suis apercu qu´on avait presque aucune liberté sur calculette.
Vive le C++, le C# c´est mieu que le C++
avec quel language ce KPL, svp tres urgent
KPL = Kid Programming Language.
Donc c´est un langage va pas chercher plus loin