Invité | Débuter en programmation. |
0 #1 |
---|---|---|
FantômeInvité
|
Salut a tous .
Voila , je m'appelle NeOpS ( si si , je vous assure ) et j'aimerais bien me lancer dans la programmation mais ... Java , Ada, Python , C , ... Par où commencer ? Quel langage serait le plus adapté pour un novice dans mon genre ? ( je précise que je n'ai aucune base en programmation ) . Faut-il s'y connaitre en Hardware pour programmer ? ... Hum , je dois certainement oublier les quelques questions qui me trottaient dans la tête, m'enfin , elles me reviendront certainement avec vos réponses Merci d'avance !
Contribution le : 29/07/2013 00:30
|
|
Signaler |
Mitri | 0 #2 |
|
---|---|---|
Je poste trop
Inscrit: 14/12/2006 19:51
Post(s): 10037
Karma: 1123 |
Hello,
Je te conseillerais de commencer par des langages basiques, du style Pascal ou C. Et de voir ensuite la programmation orienté Objet (Java, Python, C++). Mais c'est pas obligatoire, c'est deux façon de programmer différentes. Perso je pense qu'avoir déjà des bases de programmation avant de commencer l'objet, ça peut être pas mal, ça te permet de déjà connaitre une partie du vocabulaire et de pas complètement être paumé. Et ensuite ça dépends de ce que tu comptes faire ensuite comme type de programme, chaque langage a sa spécificité, sas atouts et ses inconvénients. Le tout, c'est de trouver le langage sur lequel tu sera à l'aise. Je laisse la main aux autres soit pour te confirmer ce que je te dit, soit pour me pourrir la face en disant que mes conseils sont ridicules
Contribution le : 29/07/2013 01:03
|
|
_________________
Light is broken inside, but i still work |
||
Signaler |
Invité | 0 #3 |
|
---|---|---|
FantômeInvité
|
Tu appelles quoi par " la programmation orienté Objet " ? .__.'
Sinon , je n'ai pas encore pensé a faire un programme dans un but spécifique , donc , peu m'importe , tout type de langage pourrait me convenir .
Contribution le : 29/07/2013 01:23
|
|
Signaler |
Mitri | 0 #4 |
|
---|---|---|
Je poste trop
Inscrit: 14/12/2006 19:51
Post(s): 10037
Karma: 1123 |
Je grossis le trait, mais dans la prog orienté objet, on définit des objets qui ont des caractéristiques et des actions possibles.
On peut définir des objets abstrait, et des objets plus concret: Un être vivant est un objet abstrait, un chien est un objet concret. ON peut définir ce qu'on appelle des héritages, c'est à dire qu'une sous classe d'objet possède les caractéristique de la classe supérieure: Un chien est un être vivant. UN être vivant a un coeur, donc de ce fait un chien a un coeur. Il existe d'autres particularité dans la POO (prog orienté objet), mais je ne le connais pas et ce type de prog c'est pas mon dada J'ai extremement grossis le trait, et j'ai peut être commis des erreurs, mais grosso merdo c'est le postulat de base de ce types de langages
Contribution le : 29/07/2013 03:02
|
|
_________________
Light is broken inside, but i still work |
||
Signaler |
MoonMoon | 0 #5 |
|
---|---|---|
Je masterise !
Inscrit: 22/08/2005 22:44
Post(s): 4723
Karma: 664 |
Il y a un chemin classique :
(Par exemple) Tu aimes minecraft, tu voudrais pouvoir programmer des jeux, tu vas donc commencer à t'orienter vers du java, peu importe par où tu vas commencer, tu vas te cogner a un mur , celui de la programmation. Maintenant soit tu adore et tu continu soit tu arrête. Mais le peu que tu aura fait va te permettre de commencer avec moins d'ambition et de suivre des tutos géniaux ! Personnellement je ne fait pas de java ( j'ai essayé mais je me suis cogné au mur et j'ai arrête ). Mais en commençant un BTS SIO je m'y suis remis, et les petite base que j'avais vu mon aidées ! Si l'exemple de te plait j'ai un super livre pour toi qui apprend très bien les bases en se basant sur une approche jeux vidéo. Programmer en Java pour les enfants, les parents et les grand parents.
Contribution le : 29/07/2013 04:29
|
|
Signaler |
Flowwlol | 0 #6 |
|
---|---|---|
Je m'installe
Inscrit: 18/06/2008 00:44
Post(s): 231
|
Mouai pour le Pascal ... Non, juste non !
Les différents points à aborder si tu veux commencer : Le C : t'apprend la base du code, en gros tu apprendra la base de la base. C'est une architecture linéaire, en gros tu fais une action qui te mène à une autre etc. Ce langage te permettra de comprendre tout les autres langages ( si si je t'assure ) mais il reste très compliqué et très verbeux. L'avantage majeur du langage est que tu comprend comment marche la mémoire et comment la gérer ( Oui car énormément de développeur aujourd'hui n'ont aucune idée de comment marche la mémoire et font de la merde avec ). Le C++ : Cela t'apprend la base de la programmation orienté objet, en gros tu passe d'une architecture linéaire à quelque chose de plus open dira on ( je rentrerais pas dans les détails ). Mais en gros l'idée est que tu créera des entité qui auront un but propre, et tu ne fera plus d'action qui mènera à une autre action. La mémoire est importante dans ce langage même si géré différemment. Aujourd'hui, énormément de choses sont encore codé en C++ ( dont les jeux hein ) Ces deux langages sont très compliqué à apprendre et demande un énorme investissement ainsi qu'un très grande motivation ( mais absolument pas impossible pour un novice, faut juste avoir une motivation béton ), mais une fois maitriser, cela t'ouvre la porte à tout les autres langages car ils ressemblent tous à ceux la ( si je t'assure ). Exemple : le C# baaaas c'est du c++ en beaucoup plus mongole. Le Java est comme le c++, avec une syntaxe différente ( et des notions en plus bien évidement mais tu comprends l'idée ). Le web est bien différents de tout ça, même si on y retrouve tout les concepts et les formes du C et du C++. Il faut savoir qu'aujourd'hui on te parle d'Objective C pour faire des app Iphone, de Java pour faire du android etc. Mais beaucoup d'application sont faite en C++ ( ne rêve pas, plus grand chose n'est faite en C, mais ce n'est pas pour cela qu'il ne sert à rien ). Tout les conseils du genre : tu veux faire un "minecraft" donc t'apprend le java est une connerie sans nom. A moins que tu veuille faire les choses les plus dégueulasse possible, te dégouter du code car tu ne comprendra pas la moiter de ce qu'on te racontera etc. Car tout les tuto pour les "débutants" pour apprendre ces langages demandent que tu comprenne un minimum les concepts de programmation. Pour ce qui est de l'apprentissage : Il y a des tuto sympas sur le siteduzero ( même si ils font des raccourcis très très très grossier ) et je te conseil pour chaque points que tu apprendra de faire pas mal de test à côté, de modifier ce qu'on t'a appris et de jouer avec les notions. Bref ça vas te prendre du temps et de la motivation, mais ne lâche pas. Perso je suis étudiants ( 4 eme année d'école d'ingé en info ) et actuellement prestataire dans une SSII en tant que développeur C#. J'ai évidement appris le C, le C++ et bien d'autre. N'hésite pas à poser des questions ( hors demande code ) PS: niveau Hardware tu n'as pas besoin de connaitre quoi que ce soit, même si c'est toujours intéressant culturellement
Contribution le : 29/07/2013 10:11
|
|
Signaler |
Biiiiiip | 0 #7 |
|
---|---|---|
Je masterise !
Inscrit: 10/01/2008 13:31
Post(s): 4693
Karma: 684 |
et personne pour le faire commencer par l'analyse et la conception, avant de mettre les mains dans n'importe quel langage de programmation ? parce que coder, c'est juste la finalité de tout projet... et généralement, on ne commence pas par la fin :roll:
Contribution le : 29/07/2013 10:17
|
|
Signaler |
Flowwlol | 0 #8 |
|
---|---|---|
Je m'installe
Inscrit: 18/06/2008 00:44
Post(s): 231
|
Tu veux faire de l'architecture plutôt avant de connaitre la base ?
Pour savoir construire un projet de programmation, il faut dans un premier temps savoir comment fonctionne le langage. Ce que tu dis est comme essayer de construire un building sans avoir aucune notion dans le BTP. J'ai personnellement horreur des architectes qui me disent comment faire alors qu'ils n'ont aucune idée de comment marche le langage, car je finis toujours par leurs dire que les 3/4 de leurs plans sont à chier, faux et absolument pas optimisé. Donc non, l'analyse et les notions de conceptions viendrons après la base de langage et des paradigmes ( mais oui, il va devoir en manger aussi, mais plus tard )
Contribution le : 29/07/2013 10:21
|
|
Signaler |
-JoJo- | 0 #9 |
|
---|---|---|
J'aime glander ici
Inscrit: 25/12/2007 00:19
Post(s): 5077
Karma: 2246 |
Citation :
Désolé, mais c'est le pire conseil qu'on puisse donner. Minecraft, malgré qu'il soit un très très bon jeu, n'est de loin pas une référence concernant le choix du langage. J'adore Java, mais je ne le recommenderais pas pour les jeux. Un niveau hardware n'est pas requis mais je suis assez curieux donc écrire un code source, le passer dans un compilateur qui me sort un fichier exécutable sans comprendre ce qu'il se passe m'énerve. C'est aussi important de bien comprendre comment est gérer la mémoire. Pas besoin d'etre un crack mais juste connaitre les notions. L'analyse, la conception, tu verras ça quand tu voudras commencer des gros projets. En attendant, commence par t'amuser à faire des petites choses pour voir si tu veux continuer dans ce chemin là. La programmation repose essentiellement sur de l'algorithmie. L'algorithmie repose essentiellement sur ton esprit de logique (c'est pas donner à tout le monde). L'algorithmie est souvent appris en meme temps qu'un langage de programmation. Pour commencer, je te conseillerai le C qui est assez bas niveau sans trop etre complexe. Il faudra que tu t'accroches avec les pointeurs. De plus, ça te permettra de manipuler les différentes étapes de compilation qui te permettront de mieux comprendre comment s'exécute un programme. Oublie le Pascal, ça ne te servira jamais dans la vie. Je te conseille un super site pour apprendre : http://www.siteduzero.com Tu y trouveras un tutoriel C très bien expliqué car l'auteur part du principe que tu n'y connais vraiment rien. Ensuite, si ton tripe est juste de faire un jeux vidéo 3D de la mort qui tue sans trop de notions en programmation, tournes-toi vers un framework tel que Unity 3D.
Contribution le : 29/07/2013 11:03
|
|
Signaler |
Invité | 0 #10 |
|
---|---|---|
FantômeInvité
|
Dejà , merci pour vos réponses.
Donc , en gros , l'idée , c'est de commencer par C ( ou par JAVA , mais sur ce point , les avis semblent diverger ) pour acquérir des bases sur d'autres langages. Vous auriez un programme qui me permette de ... programmer ( en C , par exemple) ? ( je sais pas si je vais me faire comprendre , sur ce coup là ) Je suis allé voir sur le Siteduzéro. Je trouve ça plutot bien foutu , accessible ( en même temps , me direz-vous , c'est le principe du site ) et les légères imprécisions qui y seraient ne sont pas vraiment décelable pour un individu de mon niveau @MoonMoon: Merci pour le .pdf , je vais me pencher dessus aujourd'hui
Contribution le : 29/07/2013 11:04
|
|
Signaler |
-JoJo- | 0 #11 |
|
---|---|---|
J'aime glander ici
Inscrit: 25/12/2007 00:19
Post(s): 5077
Karma: 2246 |
Oublie Java pour commencer. Car Java t'impose la programmation orientée objet, et je t'assure, c'est pas le mieux pour commencer. Tu risques d'abandonner trop vite.
Le SiteDuZéro te dira déjà quel IDE existe-t-il pour programmer en C, ainsi que quel compilateur utiliser.
Contribution le : 29/07/2013 11:13
|
|
Signaler |
Mitri | 0 #12 |
|
---|---|---|
Je poste trop
Inscrit: 14/12/2006 19:51
Post(s): 10037
Karma: 1123 |
Citation :
:-o Je ne te comprend pas, certes c'est dégueu et personne ne veut s'en servir. Mais pour commencer c'est pas mal, tu codes de l'algo sans trop te casser la tête, y'a pas d'énormes putasseries comme on peut trouver dans le C, ça ressemble pas mal a une traduction anglaise de tout les termes d'algo qui existent. Je me demande bien par quel langage ils t'ont fait commencer dans ton école par simple curiosité, attaquer direct avec le C c'est assez violent. Sinon pour coder en C, codeblocks est vraiment pas mal dans mes souvenirs. Le Java pour avoir des bases sur d'autres langages, oublie.
Contribution le : 29/07/2013 12:26
|
|
Signaler |
Biiiiiip | 0 #13 |
|
---|---|---|
Je masterise !
Inscrit: 10/01/2008 13:31
Post(s): 4693
Karma: 684 |
Citation :
clairement pas... on apprend pas à écrire avant d'avoir appris à lire, on apprend pas à jouer d'un instrument sans avoir appris le solfège, etc. la programmation, c'est l'une des dernières étapes d'un projet, pas le début. c'est uniquement l'application de tout le travail théorique, qui est le plus important. c'est exactement comme si tu disais à quelqu'un qui ne sait ni lire, ni écrire, qu'il est préférable d'apprendre à former des lettres à l'aide d'un stylo dans un langage au pif, le russe par exemple, pour que tout devienne limpide et qu'il puisse commencer à rédiger les premières pages de son roman de science-fiction. alors peut-être qu'en tant qu'étudiant, tu ne comprends pas encore les contraintes générées par un code de merde. mais quand tu es dans le monde du travail avec des contraintes budgétaires, que la correction du code d'incapables coûte plus cher qu'un redimensionnement hardware, tu ne vois plus vraiment les choses de la même manière. et tu te rappelles de tes études et de tes profs qui insistaient sur l'importance de l'analyse et de la conception, avant toute ligne de code... apprendre le développement d'applications simples dans de bonnes conditions, c'est s'ouvrir la possibilité d'aller plus loin par la suite.
Contribution le : 29/07/2013 12:54
|
|
Signaler |
Flowwlol | 0 #14 |
|
---|---|---|
Je m'installe
Inscrit: 18/06/2008 00:44
Post(s): 231
|
En fait tu me doom comme ça ? Genre t'as des références merdique et des réflexions qui le sont encore plus.
je vais te CC un document en russe tu vas directement me le lire ? Non, tu vas apprendre l'alphabet avant, tu vas apprendre les sonorité etc. L'alphabet ici, c'est les bases du codes. Si tu n'est pas d'accord avec ça, tu dois faire partie des la branche de personne que je ne peut pas blairer. Perso oui j'ai commencé avec le code : comment ça marche, comment le système marche, comment on fait fonctionner du C ou du C++. Si tu ne connais pas les notions d'objet, comment veux tu avoir l'idée de concevoir un projet orienté objet ? Tu dois faire partie du genre de personne à coder sur papier et à apprendre par cœur des séquences de code. Bref, niveau qualité et conception code j'en suis très content, mes employeurs et mes profs aussi. Je ne dis pas qu'il faut qu'il zape la période de conception,mais qu'il la fasse plus tard. Sinon j'ai commencé à coder en C directement oui, je n'avais aucune notion avant, ni rien du tout. C'est violent certe, mais je vois maintenant l’intérêt du langage, alors que même aujourd'hui, le pascal est trop ciblé et trop ancien. EDIT: Et si tu n'es encore pas d'accord avec ce genre de méthode on vas aller dans le simple : Un projet C ne se conçoit pas de la même façon qu'un projet C++, ce dernier ne se conçoit pas de la même façon qu'un projet C#, ce dernier ne se conçoit pas de la même façon qu'un projet Mobile etc etc etc. Ensuite, pour concevoir un projet, il faut faire des UML, des schémas, utiliser des méthode de conception. Tu veux lui faire avaler de l'UML avant qu'il ai pu coder ? Y'a de quoi en frustrer plus d'un avec ça.. Surtout que visiblement il veux faire ça pour le plaisir et pas professionnellement. Je suis d'accord que la conception est un point plus qu'importante pour un projet, je ne peut pas le nier, mais faisons les choses dans l'ordre stp.
Contribution le : 29/07/2013 15:13
|
|
Signaler |
Biiiiiip | 0 #15 |
|
---|---|---|
Je masterise !
Inscrit: 10/01/2008 13:31
Post(s): 4693
Karma: 684 |
Citation :
wai, j'suis un ouf. Citation :
:lol: écoute, continue tes études avec tes certitudes, c'est très bien comme ça (et ça ne m'empêchera absolument pas de dormir). j'ai assez donné dans cette branche pour savoir de quoi je parle... aujourd'hui, je suis passé à un tout autre niveau et je n'en ai plus rien à carrer.
Contribution le : 29/07/2013 15:49
|
|
Signaler |
Invité | 0 #16 |
|
---|---|---|
FantômeInvité
|
Perso, je commence depuis quelques temps à utiliser le C, faut dire aussi que j'ai utilisé, il y a très lonnnnnnngtemps le basic, qbasic et le turboPascal.
j'ai commencé par regarder un peu le visualbasic et me suis cassé les dents assez rapidement, me suis dit commençons par le début (surtout que ça fait un paquet d'années que j'avais pas touché à ça) et le C à l'air pas mal du tout avec codeblocks Ca prend beaucoup de temps, mais je ne suis pas déçu pour le moment, ça fait du bien de revoir les bases
Contribution le : 29/07/2013 16:25
|
|
Signaler |
Invité | 0 #17 |
|
---|---|---|
FantômeInvité
|
@Volvik: Merci pour tes conseils le seul truc , c'est que je ne pense pas programmer a haut niveau ( pour des entreprises , toussa toussa ) mais , surtout par plaisir de découvrir un univers que je ne connais pas . Donc , si un programme est mal rédigé , je risque d'être le seul déçu dans l'histoire
Sinon , merci encore pour vos réponses , vous m'avez bien éclairci , ça commence a se dégager , cette histoire .
Contribution le : 29/07/2013 16:53
|
|
Signaler |
Mitri | 0 #18 |
|
---|---|---|
Je poste trop
Inscrit: 14/12/2006 19:51
Post(s): 10037
Karma: 1123 |
Citation :
Vla l'ancien ! Par contre je suis content de voir que je raconte pas que des inepties, codeblocks est simple et agréable à manier
Contribution le : 29/07/2013 17:19
|
|
Signaler |
MarieKisSlaJoue | 0 #19 |
|
---|---|---|
Je m'installe
Inscrit: 08/08/2012 04:50
Post(s): 127
|
Citation :
N'importe quoi ! Franchement si tu veux commencer à apprendre à programmer, oublie le C, le C++, le Pascal, l'Assembleur et tous ces trucs. Ceux qui disent qui faut d'apprendre à apprendre à géré la mémoire et savoir ce qui se passe dans un compilateur ==> Nawak. Pour faire simple, pour commencer il faut un langage puissant pour pouvoir faire des truc à faire. Et que tu n'aura pas trop de mal à appréhendé. Pour ça il faut se tourner vers des langage de haut niveau. Donc une petite liste pour toi : - C# langage de Microsoft pas mal de doc dessus. - Java Langage racheté par Oracle, grosse communauté et bcp de doc aussi - Python beaucoup moins pratiquer, mais un langage plus simple que Java et C# - Ruby, j'ia jamais fait mais ressemble à Python, la communauté Ruby à l'air par contre un peu perché. Donc voila choisi un langage la dedans, et tu ensuite bouffe du tuto. Mais surtout, faut être patient.
Contribution le : 29/07/2013 19:51
|
|
Signaler |
-JoJo- | 0 #20 |
|
---|---|---|
J'aime glander ici
Inscrit: 25/12/2007 00:19
Post(s): 5077
Karma: 2246 |
Donc la réponse est :
- si tu veux vraiment te mettre à la programmation pour vraiment attiser ta curiosité, comprendre comment tout un système fonctionne et ensuite évoluer au fur et à mesure vers des langages vers de plus haut niveau tout en sachant ce que tu fais, commence par un langage tel que le C. - si tu veux devenir et rester un programmeur de bas niveau tel que MarieKisSlaJoue, à pondre du code web et quelques classes en Java sans savoir ce qu'il se passe en dessous ; alors commence par du Java ou C# meme si je sais très bien que le concept orienté objet te découragera dès le début. Sinon, Python pourrait etre un bon compromis.
Contribution le : 30/07/2013 03:48
|
|
Signaler |