Programmation...quel livre?!

Pour tout ce qui est fan arts, homebrew, shooters codés à la main, rip de sprites, doujins et toute autre productions artistiques ou logicielles faites maison.
Répondre
Dirge
Insert Coin
Messages : 8
Inscription : 02 juin 2010, 13:24

Bonjour/bonsoir (désolé si le sujet n'est pas a bonne place)
Voilà je voudrais me mettre à la programmation.....le seule problème c'est que je ne sais pas par ou commencer >x<,
Déjà première question...quelle language? (On m'a conseillé le PYTHON)J'ai un projet assez iniréalisable pour l'instant, il s'agit d'un danmaku...quel language est le meilleur pour un projet de ce type?
Ensuite quel ouvrage?( et oui je n'aime pas lire sur un ordinateur de plus je suis plus confiant avec un livre). Si quelqu'un connaitrait un livre pour débutant (vraiment débutant) compréhensible (Je n'est que 13ans) que ce prophète me révele le titre de ce livre. *O*
Voilà et surtout soyez sur que je sais que programmer c'est vraiment dur et que je vais en chi***.
Merci d'avance
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

Eheh, effectivement, sujet pas à la bonne place (pour ce genre de sujet c'est homemade et création)
J'attend de savoir si les modo vont déplacer le sujet ou te demander de le recréer ailleurs pour te répondre
Avatar de l’utilisateur
Cormano
Counter Stop
Messages : 7541
Inscription : 22 mai 2003, 17:26
Localisation : Nantes
Contact :

Sujet déplacé, pas de souci.
Incredible Excite-Dragon Shooting! Challenge to your Intensive Capacity!
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

Je serai tenter de te t'orienter vers gamemaker.
Comprendre un langage de programmation à 13 ans, c'est pas donné à tout le monde.
J'avais tenter le C++ à 16 ans, et j'ai abandonné devant la complexité de la chose.
J'arrivais pas à comprendre le langage malgré des livres, magazines spécialisés débutant et tuto du net.

Je serai tenter de te dire aussi d'attendre un peu de connaitre et maitriser quelques outils mathématiques ( Thalès, Pythagore, les sommes vectorielles et les équations ) qui te seront à la limite de l'indispensable pour débuter la programmation de danmaku.

Tu peux apprendre à les utiliser par toi-même, mais se sera largement plus compliqués et difficile qu'en cours... ( j'ai jamais retrouvé la qualité des cours de l'école pour ces outils mathématique sur le net )

Un brin d'anglais serait appréciable pour connaitre le sens des mots utilisés dans les langages. Pas besoin d'un niveau extra... C'est souvent des mots clé type IF, While, FOR. Ca permet de "lire" le langage, meme si l'on ne le comprend pas tout de suite.

Si ca ne te fait pas peur, n'importe quel langage ( ou presque ) peut faire l'affaire.
Python, C, C++, Delphi/Pascal ou encore d'autres trucs.

Moi, j'utilise gamemaker. Et je trouve le langage de script assez complet, sans avoir à se farcir la création d'un moteur graphique ( et la conception d'un moteur graphique 2D peut être un calvaire ) et je m'oriente progressivement vers le C++ pour débuter la programmation de jeu en 3D. C'est la troisième fois que je me lance dans l'apprentissage de ce langage, et je commence seulement maintenant à le comprendre après un passage par PHP et gamemaker.

Il n'y a pas de langage de programmation simple à mon sens. Chaque langage à ces difficultés et sa philosophie ( sa grammaire et son orthographe pour faire une comparaison avec le langage parlé ).

edit : Le mieux, ca serait de te choisir toi un langage de programmation, et de t'y tenir ;)
Ensuite, on pourra t'aiguiller :) et à la rigueur, t'aider à comprendre certains outils mathématiques
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Vince2
Dieu de la Borne
Messages : 1929
Inscription : 12 déc. 2009, 17:44
Localisation : LYON

Image





Je sais, c'était facile...^^
Image

Rage Against The Bullets Jeuvidéothèque Megadriver for ever Mon Blog: Dess'Note
Avatar de l’utilisateur
MoonZ
Smart Bomber
Messages : 813
Inscription : 02 oct. 2009, 05:19

Honnêtement, commencer par le C++, c'est se tirer une balle dans le pied. C'est complexe comme premier langage car la courbe d'apprentissage est vraiment difficile quand tu n'as aucune expérience. Le typage, la syntaxe, l'implémentation de "l'orienté objet", c'est mine de rien assez exigeant. Python en revanche, est un excellent moyen d'aborder la programmation, syntaxe claire et compréhensible, interprêté, souple, disponible sur presque toutes les plateformes, énormément de bibliothèques offertes pour faire à peu près tout ce qu'on souhaite faire. C'est un des meilleurs moyens de commencer la programmation de nos jours. Et il existe même une bibliothèque orientée création de jeux qui s'appelle Pygame : http://www.pygame.org
L'ayant moi-même utilisée, elle simplifie grandement la vie (graphismes, sons, etc).

En support d'apprentissage, en francais on peut trouver ceci : http://inforef.be/swi/download/apprendre_python3.pdf

Il part des bases de la programmation, aucune expérience n'est requise. Et si t'es prêt à acheter un ouvrage, tu peux toujours imprimer celui ci ;) (enfin pas obligé de tout imprimer d'un coup hein, il fait quand même quelques centaines de pages, t'as le temps de voir venir)

Bon courage pour tes premiers pas, c'est des souvenirs qui restent longtemps...

(Ahhh, le "border 0,1" sur CPC 6128...)
A shmup session a day keeps the bullets away
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

A savoir qu'aucun langage de programmation n'est réellement difficile. C'est, a mon sens, et comme pour beaucoup de chose, surtout une question d'investissement personnel. Tu ne peux pas espérer sortir quoi que ce soit d'un minimum poussé si tu n'es pas prêt a y mettre du temps et si tu ne t’intéresse pas vraiment a ce que tu fait. Il faut être curieux sur le fonctionnement interne de l'ordinateur et sur la programmation en général, il faut chercher a comprendre sérieusement les choses et ne pas s'attendre a trouver des recettes toutes faites sur le net (le meilleur moyen de se planter)

Comme certain te l'ont dit, une bonne connaissance de quelques outils mathématique (relativement simple heureusement, mais ça dépend des personnes) peuvent être très utiles (Pythagore, Thalès, trigo... Tout ça vue avant la fin de troisième)

Pour le langage, le python semble être une bonne base. C'est typé, tu n'es pas obligé de faire de l'objet et te contenter d'une programmation simple et séquentiel (dite impérative). Le C, avec la librairie allegro pour la 2D peut aussi être une bonne alternative qui te permettra par la suite d'attaquer le C++ si la prog t’intéresse vraiment. La principale difficulté du C étant de bien comprendre le fonctionnement des pointeurs, ça au pire je pourrait t'y aider. L'avantage et que si ça te tente tu pourras avec le C t'amuser a développer des homebrew sur DS par exemple ^^.

Quoi que tu choisisses, ne t'attend pas a coder ton jeu direct, passe par des projet plus petit pour te familiariser, et n'attaque pas la 2D tout de suite. Un simple jeu de pendu ou de mastermind en mode texte est un bon entrainement.

Pour les bouquins, trouve toi un bon bouquin généraliste sur le langage que tu souhaite utiliser. Je ne connais pas de bon bouquin destiner a la programmation de jeu video (en fait je ne connais qu'un bouquin sur le sujet, pour le java, et il est très mauvais)

Enfin n’oublie pas qu'un jeu vidéo, ce n'est pas que la partie prog. Il faut des connaissance en graphisme, animation, musique, level design et game design. tout ça demande énormément de temps et d'investissement. Quand tu te sentira prêt, essai de monter une petite team avec des gens motiver (et si possible que tu peux voir facilement, c'est plus sympa que de rester tout seul derrière son écran ^^)
yenshin
No-bullet mode
Messages : 36
Inscription : 03 sept. 2009, 15:03

Le summum du livre pour programmer en python c'est: http://diveintopython.adrahon.org/

tu peux le télécharger gratos et l'imprimer.

il éxiste dans de très nombreuses langues (anglais, français, espagnol...)
et il est mis à jour régulièrement.

Sinon je te déconseille l'achat d'un bouquin pour apprendre.

Trouve des tutos, faits des exemples, comprends les et ca avanceras vite.
Les problèmes des bouquins c'est que la lecture prend énormément de temps
pour un résultat moyen du à un manque de compréhension.
Personnellement je pense que les bouquins c'est bien si tu maitrise déja la programmation, comme ça il t'aide à connaitre les subtilités du langage pour
utilisé des outils vraiment avancé. Mais a ton niveau ca va plus être décourageant
qu'autre chose.
Image
Avatar de l’utilisateur
MoonZ
Smart Bomber
Messages : 813
Inscription : 02 oct. 2009, 05:19

Oui, j'ai aussi pensé à Dive Into Python, voire l'excellent Python Cookbook, mais après vérif', ils s'adressent à des gens qui savent déjà un peu programmer en fait...
A shmup session a day keeps the bullets away
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

Exactement,

Les livres sont plus agréable pour la lecture, mais doivent être vue comme des support auxquels tu pourras te référer pour certains point particuliers du langage que tu utilise (description d'une fonction spécifique, particularité sur la "grammaire" du langage etc)

Les bases de la programmation sont simples et assez facile a apprendre. en gros tu as trois choses à bien assimiler et c'est partie :
- la notion de variable
- les boucles
- les structures conditionnelles.
(petit exemple plutôt bien foutu ici : http://interstices.info/jcms/c_43821/le ... mes?part=0.)

tout ça est indépendant du langage que tu utilisera. Une fois que tu maitrise ces éléments et que tu sais comment les utiliser a bon escient, passer d'un langage a une autre est presque une formalité.

Allez courage, lance toi, et n’hésite pas à demander conseil.
Onaryc
Brute du bouton A
Messages : 219
Inscription : 18 juin 2008, 23:32

Si tu t'intéresses surtout à la programmation, amha, commence avec un langage simple, impératif (en gros le programme est une suite d'instructions/ordre données à l'ordinateur, ça me semble être le plus intuitif pour commencer). Quand je donnais des cours, on utilisait le Visual Basic. Je ne connais pas plus que ça ce langage, mais il m'a semblé être un bon point de départ... Peut être que python remplirais également bien ce rôle.

Quelque ce soit la langage que tu choisira, cherche des exercices de débutant pour te faire la main (comprendre les instructions, les conditionnelles, les itérations, ... Ce n'est pas forcément très compliqué, mais comme c'est surement nouveau pour toi, il va falloir passer un peu de temps pour comprendre tout ça).

Si tu t'intéresses surtout à la création de Jeux Vidéo, gamemaker me semble effectivement être un bon choix.

Ne commence surtout pas par le C (même des développeurs confirmés peuvent s'y casser les dents, qui a dit pointeur), le C++ (demande beaucoup de rigueur), le java, ...

Et un lien pour la route : http://www.developpez.com/ une mine d'or...
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

Nan nan nan, n'importe quel programmeur déconseillera le Visual basic pour la simple raison qu'on fait n'importe quoi avec ca et ca fonctionne...

Ca fai prendre de mauvaises habitude, nan nan nan je suis pas d'accord avec le Visual basic :)

Vaut mieux à la rigueur qu'il s'explose les neurones sur les pointeurs du C ( c'est pas très compliqué cela dit ) qu'apprendre un truc qui lui fera prendre de mauvaises habitude :D

Certains livres permettent de bien débuter, d'autres sont plus accès support de programmation. Il faut bien les choisir.

http://general.developpez.com/livres/

Sur cette page, tu trouveras une liste de langages et les livres associés. Tu trouveras aussi les commentaires sur ces livres écris par la communauté.

Il te reste plus qu'à choisir ton langage :)
Les tutos sur ce site sont parfois très techniques et sans une connaissance basique en programmation, on est en général perdu.
Cela dit, c'est le seul qui semble sérieux sur les livres.
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Onaryc
Brute du bouton A
Messages : 219
Inscription : 18 juin 2008, 23:32

Gunny a écrit :Nan nan nan, n'importe quel programmeur déconseillera le Visual basic pour la simple raison qu'on fait n'importe quoi avec ca et ca fonctionne...

Ca fait prendre de mauvaises habitude, nan nan nan je suis pas d'accord avec le Visual basic :)
Comme simple langage d'apprentissage ça peut le faire et je n'ai jamais dit que c'était un bon langage... Ca reste un exemple, il faut prendre un langage simple pour débuter. Une fois qu'on connait la base (variable, instructions, condition, boucles, ...), on passe à autre chose.
Gunny a écrit : Vaut mieux à la rigueur qu'il s'explose les neurones sur les pointeurs du C ( c'est pas très compliqué cela dit ) qu'apprendre un truc qui lui fera prendre de mauvaises habitude :D
Tu m'excuseras (ou pas), mais c'est le truc le plus énorme que j'ai jamais lu, les pointeurs c'est pas très compliqué (surtout pour un débutant). Le concept, est déjà pas évident à saisir quand on y connait rien, mais à l'utilisation!!!

C'est à mon avis, un langage à connaître pour tous les informaticiens/développeurs, justement pour avoir bien conscience des ces pb de mémoire. Mais pour un amateur...

Et dire que ça fait prendre de bonnes habitudes... Non, on développeur ayant de bonnes habitudes fait de bon programmes en C (mais se prendra quand même au moins un segmentation fault :ouin: )...
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

J'ai regardé 2-3 fois du VB, et c'est du n'importe quoi... Il est trop permissif comme langage. Si il apprend du VB, qu'il prend de mauvaises habitude, et qu'il s'oriente après vers un langage carré, il va se casser les dents.

Que se soit du C, java ou autre.

Après, il voulait s'orienter vers python que je ne connais pas ( malgré que j'en vois beaucoup d'utilisations ici et là ).

Débuter par le C est possible, une amie à moi s'y essaie avec le siteduzero. Elle manque encore de rigueur, mais elle y arrive.
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Avatar de l’utilisateur
psychogore
1 crédit c'est déjà trop
Messages : 2357
Inscription : 23 mai 2003, 09:04

Vous etes droles. Le langage qui me semble au top pour commencer c'est le pascal (du moins pour saisir la base des concepts d'algorithmique - en plus, game maker est fait en delphi qui derive de pascal...).
Pascal possede toute les fonctions des autres langages, il y a meme la gestion des pointeurs, des types structurés, la syntaxe reste lisible (pas de raccourcis debiles genre "A>b?4;12;" comme en C...), et surtout le typage est strict ! A mon avis, la notion de typage strict est indispensable pour ne pas se retrouver avec du grand n'importe quoi...

Mais de toute façon, quelque soit le langage choisis, il est necessaire pour moi que le livre possede au moins un index complet de tous les mots reservés, et ce de façon ordonnée et accessible.

Apres avoir essayé un peu de C+SDL, du java, du Casio(sur ma vieille calculette graphique), et gamemaker, je dirais que ce dernier est ce qu'il y a de mieux pour avoir rapidement quelque chose sans se prendre la tete, vu que le menu d'aide permet de trouver facilement les mots clés et leurs fonctions, et que la plus-parts des fonctions de base d'un jeu (affichage, son, controles, COLLISIONS) son gérés par des fonctions dediées. Le seul hic : La doc officielle (la seule fiable pour moi) est en anglais.
Onaryc
Brute du bouton A
Messages : 219
Inscription : 18 juin 2008, 23:32

Gunny a écrit :J'ai regardé 2-3 fois du VB, et c'est du n'importe quoi... Il est trop permissif comme langage. Si il apprend du VB, qu'il prend de mauvaises habitude, et qu'il s'oriente après vers un langage carré, il va se casser les dents.
Qu'est ce que tu appels bonne et mauvaises habitudes? Précise le "c'est du n'importe quoi" (avec le point de vu apprentissage). Et pour précision, le C est surement un des langages les plus permissif (ce qui d'ailleurs ne me gène pas quand tu veux apprendre les bases de la programmation)... Et une fois de plus, le VB, je m'en fous (un langage accessible, impératif et interprété pour éviter la phase compilation)...

Quand on commence tout seul, on prend de toute façon de mauvaises habitudes. Certains langage permettent de limiter cela, mais ce sont des langages qui sont difficiles d'accès même pour des développeurs confirmés (Perso, même si je connais Ada, à chaque fois que je dois m'y remettre, le côté fortement typé me fait chier, cela apporte beaucoup, mais on ne commence pas par ce type de langage).

Gunny a écrit : Débuter par le C est possible, une amie à moi s'y essaie avec le siteduzero. Elle manque encore de rigueur, mais elle y arrive.
C'est possible, mais est ce que c'est souhaitable? Surtout quand vient les problèmes de pointeur et son lot de segmentation fault...

Bref débat sans intérêt pour l'auteur du topic : Python c'est surement très bien... Et Pascal ça pue du cul...
yenshin
No-bullet mode
Messages : 36
Inscription : 03 sept. 2009, 15:03

Dire que le C ou la basic caylemal parce que c'est crade ou c'est dur ya des pointeur
gna gna gna je pleure c'est un faux argument.

La programmation demande de la rigueur. Si t'en a pas les risque sont:
programme qui plante.
programme impossible a mettre a jour.
impossible de debugger sans tout refaire.


Choisir un langage parce que c'est mieux ou pas pour apprendre n'est pas une bonne solution. Il faut apprendre un langage parce que l'on doit l'utiliser pour faire quelque chose et pas l'inverse. On apprend pas une langue pour l'apprendre mais pour parler avec des gens qui n'en connaisse pas une autre.

Oui le C c'est dur et c'est frustrant. Les notions de pointeurs ne sont pas évident. C'est difficile de faire du multi OS... Par contre maitrisé il permet d'avoir une execution bien plus rapide que la plupart de n'importe quel langage. De plus il permet d'avoir une connaissance importante dans le comportement d'une machine et même d'approcher l'assembleur.

Oui le python c'est facile. il ya enormement de lib pour faire le cafe et les cappuccino. Par contre mal maitrisé et on a un code illisible, et inmaintenable. Les perfs sur une machine ne sont pas exceptionnel. Par contre il est facile de faire du multi os avec. Et si besoin on peut rajouter du code C dedans, si l'on a une Excellente maitrise des deux langages.

Mais après il reste pleins d'autres langage qui valent le cou et ne pas essayer parcekecaymocheouparcequecaynul n'est pas un argument valable.

Avant tout il faut choisir ce que l'on veut faire. Ensuite evaluer le temps que l'on est près à consacré sur le projet, ensuite définir une deadline humainement réalisable.
Et la on peut commencer a choisir un langage qui va nous faciliter la vie ou un langage ou qui va avoir des perf qui dechire parque dans la team ya 200 personne etc etc ....

Après quand on débute le C est pour moi ce qu'il ya de plus formatteur.
Une fois qu'on maitrise quelque notion de C on galere generalement moin pour utiliser un autre langage.

Après pour faire du jeux vidéo direct ba un game maker et dans ce cas il faut apprendre le langage de script associé.

Mais bon après chacun à son expérience et son vécu. Et surtout c'est une histoire de choix.
Bref débat sans intérêt pour l'auteur du topic
je suis d'accord
Image
Avatar de l’utilisateur
niluge
Radiant Silverpost
Messages : 1247
Inscription : 29 juin 2006, 15:29
Localisation : Above and beyond

Tout a fait d'accord avec mon voisin du dessus. Sauf pour le C qui n'est ni forcement plus dur, ni forcement plus frustrant :P.
Le seul point difficile en ce qui le concerne, c'est les pointeurs, mais avec un peu d'aide, ce n'est au final, pas si méchant.
djvinc
Big Boss Killer
Messages : 767
Inscription : 02 déc. 2005, 00:41
Localisation : Paris

La programmation, c'est très rigoureux, après y'a des langages plus "productifs" que d'autres par rapport à ce que tu veux faire. Mais bon pour choisir le bon langage il faut un peu d'expérience, de conseils, ou...foncer tête baissée.
chaos
Jeune Pad-awan
Messages : 60
Inscription : 23 mai 2009, 19:54

Personnellement j'ai commencé par tester tout les BASICs possible et inimaginable en commençant par BlitzBasic/DarkBasic, ce sont des langages dédiée au jeux vidéo et peuvent être utilisé de façon amateur ou professionnel. L'avantage c'est que la syntaxe est facile a retenir/comprendre et les commandes mâchent le boulot du programmeur.

Pour aller plus loin il faudra passer a quelque chose de plus costaud comme le C++ ou le JAVA mais bon de 12 a 16ans les BASICs m'ont largement suffit et pour faire un jeu c'est du gâteau.

Il faut pas se dire que la programmation n'est pas donné a tout le monde, c'est juste un long apprentissage. Tout le monde commence au ras des pâquerettes sauf les génies mais bon j'en ai pas encore rencontré jusque la ...
Avatar de l’utilisateur
Radigo
Counter Stop
Messages : 7567
Inscription : 22 mai 2003, 17:31
Localisation : Paris
Contact :

Concernant la simplicité des commande je ne suis pas tout à fait d'accord. Même avec un peu d'aisance je continue à avoir la doc ouverte quasi en permanence, sans parler des logiciels qui permettent l'auto complétion, l'auto-indentation etc... Donc, un bouquin, oui, mais vois ça surtout comme un aperçu des possibilités du langage (et surtout un truc qui passe le temps de façon utile dans les transports). D'autant plus que, dans le cas de la POO et de ces trucs à base de classes, aucun bouquin ne parle clairement de l'arborescence des fichiers, de la nomenclature des classes et des 2 ou 3 bases qui font que quand tu compiles ça fonctionne ou pas...

Et pour parler de la progression (en me basant sur mon expérience perso qui est loin d'être aboutie), plus tu avances, plus tu as envie d'avoir un contrôle précis sur ce que tu fais, et pus tu as envie d'avoir un code structuré pour t'y retrouver. Il suffit de décrocher de ton projet de jeu 2 semaines, et il te donne la gerbe quand tu remets le nez dedans. Et aussi , causer avec des développeurs de la vraie vie ça aide à élaborer dans sa tête des patterns de programmation (on est sur shmup hein...) et de ne pas lancer une page blanche en se disant "bon, et là je fais quoi ?".
"HYPER GAGE : 500%"
Image
Répondre