Apprendre à programmer

Bonsoir à toutes et à tous,

Alors voilà, j’aimerais me mettre à la programmation mais j’avoue que dans la forêt des languages, je ne sais pas trop par où commencer, même si après une recherche ici même, je m’orinete à priori vers le C# ou le java,c’est pourquoi je m’en remets à vous.

Sachant que je suis en fin d’année de seconde, auriez-vous des conseils à me donnez ainsi que des Urls et de préférence des livres (en français ou en anglais, encore mieux même), je suis preneur, en tenant compte de mon niveau.

Merci d’avance.

En préambule, il faut savoir que je n’ai jamais pondu une ligne de code…
Mais il y a quelques années, j’étais tombé sur ca C’est tres gamin, mais j’avais trouvé le principe interessant… (et en plus c’etait a mon niveau :stuck_out_tongue: )

Pour les URL, il y a déjà développez.com qui regroupe un peu tout ce qui connu en programmation. Les bouquins, je ne connais pas du tout et j’en ai jamais utilisé pour l’instant, ça veut pas dire qu’on peut forcément s’en passer, mais ce n’est pas ça qui m’a empêché d’apprendre les bases. Maintenant, j’ai aussi appris en cours à la fac et tout…

Personnellement, je pense que pour débuter, il vaut mieux ne pas s’encombrer d’un gros IDE genre Visual ou Eclipse mais plutôt d’un éditeur de texte qui sache colorier syntaxiquement et tabuler correctement quand on fait un if(condition) {. Ces IDE ont en effet tendance à un peu tout faire et il me semble qu’il vaut quand même mieux savoir au début ce qu’on fait, ce qu’on écrit…

Sinon, une chose indispensable pour le débutant : le compilateur a toujours toujours raison et ce, en toutes circonstances. S’il te gueule dessus suite à une quelconque erreur, c’est de ta faute, c’est pas parce qu’il est buggué et c’est donc à toi d’aller trouver l’erreur que tu n’as pas vue.

PS : contrairement à ce que dit la signature d’Iron Momo, le QWERTY est souvent plus pratique pour programmer.

Merci à vous deux pour vos réponses, je vais explorer ça.
D’autres avis?

Hello =)

Ton choix de language est tres intéressant =) Tu hésites entre ces deux languages par hasard? qu’est ce qui te motive dans ces languages?

Je te conseillerai bien d’essayer le livre “Le langage C#” de Valentin Billote et Marc Thevenet (chez micro app), qui est assez simple pour débuter - mais il y a un déséquilibre dans ce libre, autant le début est bien expliqué, autant la suite devient assez difficile à suivre.

Sinon, je ne peux que te recommander, si jamais tu veux faire un détour par le C, le livre de G Willms, Langage C de chez micro app, toujours. J’ai vraiment mis les pieds dans la programmation avec ce bouquin =)
Il est rigoureux, il explique vraiment bien. Je l’ai trouvé parfaitement adapté à un apprentissage d’autodidacte =)

[quote=“Berzehk, post:5, topic: 29057”]Hello =)

Ton choix de language est tres intéressant =) Tu hésites entre ces deux languages par hasard? qu’est ce qui te motive dans ces languages?

Je te conseillerai bien d’essayer le livre “Le langage C#” de Valentin Billote et Marc Thevenet (chez micro app), qui est assez simple pour débuter - mais il y a un déséquilibre dans ce libre, autant le début est bien expliqué, autant la suite devient assez difficile à suivre.

Sinon, je ne peux que te recommander, si jamais tu veux faire un détour par le C, le livre de G Willms, Langage C de chez micro app, toujours. J’ai vraiment mis les pieds dans la programmation avec ce bouquin =)
Il est rigoureux, il explique vraiment bien. Je l’ai trouvé parfaitement adapté à un apprentissage d’autodidacte =)[/quote]
En fait pour le choix des languages, j’ai pris ces deux là car ils étaient revenus assez souvent dans des threads assez similaires du mien (fonction recherche powaa).
Après je sais pas trop, peut être qu’il est plus judicieux de commencer par autre chose…

Merci pour le bouquin, je vais voir ça.

Anyone else?

Si tu veux apprendra a programmer, c’est vrai que C# et java reviennent souvent car c’est tout d’abord deux langage très utilisé et qui sont vraiment pas mal. En fait quand tu sais programmer sur un langage, passer sur un autre n’est pas très compliqué. Pour le syntaxe le c# et le java sont relativemnt proche
Après, le java est peu être un peu plus compliqué pour commencer, c’est un peu le bordel ce langage. Moi même qui l’utilise depuis un peu plus d’un an, c’est des fois super chiant de s’y retrouver entre tout les trucs que tu peux avoir besoin pour développer.
J’avais trovué un tuto pour le C# très intéressant car je connaissais pas le language.Il est simple et très complet pour apprendre la syntaxe de ce langae. Bon par contre ca te donnera pas les techniques pour programmer.
Bon je filerais l’url quand je l’aurais retrouvé

edit : ok je l’ai retrouvé
T’as de quoi lire. Je l’ai trovué très simple mais j’avas idéja toutes les notions vu que je fait du dev alors j’ai un peu de mal à me rendre compte si quelqu’un qui n’y connait rien ne sera pas paumé. Mouai après relecture vite fait, c’est peu être pas le plus simple, enfin ca pourra toujours te servir de référentiel pour plus tard :stuck_out_tongue:

Moi je te conseillerai le php. Meme si c’est un langage de programmation web, il permet surtout d’obtenir des resultats assez rapidement, genre te faire un mini site pour te faire la main. De plus sa syntaxe est très proche de celle du C donc si un jour tu veux t’y mettre, ce sera beaucoup plus simple.

Mon choix n’est surement pas objectif vu que je suis tres orienté prog web.

Hu ouai je déconseille le web pour débuter, c’est prendre de mauvaise habitudes :P.

Nan franchement, prend le C# ou le java, en ne te préoccupant pas de la notion d’objet pour commencer, juste une programmation basique avec des boucles, des conditions, des affichages… c’est un bon début, ca permet de faire des petits trucs vite fait et de te familiariser avec le dev. Après si tu veux un truc ave un résultat rapide et facile, chope une version de VB6, y’a pas d’objet, c’est assez assité et ca te permet d’avoir un résultat visible rapidement. MAis bon beaucoup te diront que le VB c’est pourris (et ils auront pas totu à fait tord :P)

Je rajouterais juste qu’il est assez hardu de commencer à programmer tout seul. Avoir un prof pour débuter ca aide beaucoup pour comprendre comment tout ca fonctionne et acquérir la tournure d"esprit adhéquate. :stuck_out_tongue:

Mon conseil va sans doute paraitre à contre courant mais bon…

Je te conseille de commencer avec flash.

Aie! ne me tapez pas. Bon, c’est vrai que flash, ça fait moins leet que du bon vieux c++, mais ça présente énormément d’avantages pour un débutant:

  • Flash ne pose jamais aucun problème de compilation, tu peux télécharger n’importe quelle source sur internet, elle va compiler tout de suite, aucun problème de configuration du compilateur, d’intégration de bibliothèques, d’incompatibilités entre plateformes… Comme ça tu vas pouvoir te concentrer sur l’algorithmique sans la frustration des core dump, paths relatifs et autres headers introuvables.

  • Tu vas pouvoir faire plein de trucs rigolos assez rapidement (des petits jeux quoi), ce qui est très motivant.

  • Conceptuellement, le language de flash (actionscript) est de plus en plus proche de java. Tu vas d’abord apprendre à programmer de manière séquencielle (comme en C), et ensuite tu pourras te familiariser avec la programmation objet et le concept de classes (comme en java).

Une fois que tu te sentiras à l’aise avec tout ça, tu pourras te lancer dans la jungle de la bidouille que sont les autres languages…

Quand j’ai commencé, je pensais que la difficulté dans la programmation provenait de la complexité des languages. En fait non, j’ai eu beaucoup de difficultés sur un gros projet en php (language réputé facile) et beaucoup moins de mal en assembleur et c++. Ce qui est difficile, c’est d’organiser la structure de tes programmes, pas le language en lui même.

Sans rentrer dans la guegerre habituelle que l’on peut voir dans ce genre de thread, j’abonde dans le sens de gring.

J’ai aussi commencé la “vraie” programmation objet avec Flash… et maintenant je suis developpeur Java ( pour de vrai ).

Voilà, pas besoin d’aller plus loin. La programmation c’est d’abord un état d’esprit, une façon de penser. Les mauvaises habitudes ça se perd.
Donc débutes avec ce que tu sens, et surtout fais toi aider. Etre autodidacte ça fait perdre beaucoup de temps parfois.

Merci pour tous vos conseils, par contre pour le prof, bah, c’est pas pour tout de suite :P.

Côté bouquin, j’ai entendu que ceux de chez O’Reilly sont pas mal du tout, y-a-t-il d’autres collections/auteurs ou autres qui pourraient m’aider à débuter?

Et merci encore :P.

En forme Jean-Claude ?

Les bouquins de chez O’Reilly sont généralement assez chers. C’est tout ce que je peux en dire.
Pour chaque langage, developpez.com a un bel ensemble de références et parfois de critiques de bouquins, ça peut donc t’aider d’aller voir ce qui se fait en la matière.

Pas de bolle, flash 8 ne tourne pas sous linux, par manque de lecteur/plug-in de macromedia :stuck_out_tongue:

Sinon comme les autres, java ou c#, puis un tutorial et zou c’est partie, un livre peut être utile si tu trouves que tu n’avances pas assez vite avec les ressources du web.

Huhu flash :stuck_out_tongue:

Moi je conseille de debutter par le javascript.

pff, ça commence…

Effectivement, il n’y a pas de player flash 8 pour linux. Ils ont externalisé le développement et comptent directement passer à la 8.5 . Ce que je voulais dire, c’est que si vous téléchargez un fichier source flash qui a été créé sur un mac, il va immédiatement compiler sous windows.

Flash est loin d’être parfait, mais je maintiens ce que j’ai dit. Flash est fourni avec un ensemble certes limité, mais cohérent de fonctions. On peut tracer des traits et dessiner des pixels très vite et très facilement, pas besoin de ce cogner ce champ de mines qu’est MFC. Il y a des miliers de tutoriaux sur le net.

Pour ma part, je me sers souvent de flash pour faire des tests d’algos, des maquettes d’interfaces de logiciels etc…
Le language de flash est un vrai language orienté objet, qui est de plus en plus proche de java.

Je suis d’accord avec Monsieur Max. Apprendre à programmer, c’est d’abord apprendre à penser d’une certaine manière. Un bon programme commence souvent par un schéma sur du papier. Je pense que c’est ce que Snake cherche à apprendre, pour les cycles en V, les ulcères liés au diagrammes de Gantt, et les histoires de stagiaires pisseurs de code sous payés qui n’ont aucune idée du projet sur lequel ils travaillent, il verra plus tard…

Je déconseille à mort de commencer par php. C’est pour finir par faire du fortran ça.

J’aime bien l’idée de flash parce qu’il fait super chier sur la syntaxe et que de l’oop tu vas en prendre plein la gueule à la deuxième ligne de code quoi q’il arrive. Et puis au moins tu feras vite des trucs qui clignote mais je vois pas bien en quoi il balance pas des erreurs de compilation?

Je prendrais c#, au moins l’ide a de la gueule, intelisense à lui seul va te sauver des prises de têtes que ceux qui voulaient apprendre se tapaient avant (ouhlà c’est le matin).

Cela dit ça dépend ce que tu veux faire comme truc… moi à ton age j’apprendrais plutôt la guitare (c’est ce que je fais à à peu près la même époque). Ca y est je radote.

Gring> En parlant de Flash de toute façon, ça fera forcément réagir du monde, c’est déjà etonnant que personne n’est bavé sur c# ou Java en affirmant que l’un est plus meilleur que l’autre.

Non sérieusement, comme approche de la programmation objet, Flash8 est génial. C’est un peu rat de dire ça, mais je le rapprocherai un peu du LOGO à son époque ( mais la comparaison est bien hasardeuse quand même). Tu fais des trucs tres graphiques et tu peux progressivement te passer de ce que proposes l’interface du logiciel pour n’utiliser au final que l’IDE.
Le problème de Flash est qu’il faut d’abord comprendre le logiciel avant de comprendre le soft qui va derrière, et c’est déjà une bonne tartine. On rajoute qu’en plus, c’est payant et quand même ultra cher et que Linux n’existe pas pour macromédia Adobe.

Il ne faut pas oublier que la programmation ça dependra aussi d’un certain talent, même si ça n’a rien d’artistique. Donc quelqu’un qui a ça dans le sang, peut aborder directement avec des langages assez poussés. Sinon il existe d’autres langages moins ardu, pour debuter, je pense au VB notamment.

Sinon au pire tu t’achètes un AS400 d’occase et tu programmes en GAP ou en COBOL dessus.

Si tu n’as jamais programmé, commence par le Javascript (avec un editeur quelquonque).

Tu te prendras pas la tete avec plein de concept dont un débutant n’a que faire… Par contre , en avançant, tu vas commencer à te poser des questions et tu iras naturellement ensuite vers des environements de développement.