Quel language apprendre en premier ?
Forum Programmation : Quel language apprendre en premier ?
Bonjour,
J'ai envie d'apprendre un nouveau language de programmation, et j'ai trouvé developpez.com, un site avec pleins de tutoriaux, mais je me demandais quels language il valait mieux apprendre en premier: C, C+, C+, Autre?
Merci beaucoup d'avance pour vos conseils !
Message édité par mexson le 02-08-2007 à 15:53:04
Avant de vous plaidre parce que vous ne pouvez pas faire quelque chose, verifiez d'abord que si vous pouviez faire cette chose, elle serait techniquement possible.
Ben déjà ca va dépendre de ce que tu veux faire.
Je voudrais pouvoir faire des petits programmes de tout genre, ...
Un programme quoi
Avant de vous plaidre parce que vous ne pouvez pas faire quelque chose, verifiez d'abord que si vous pouviez faire cette chose, elle serait techniquement possible.
Répondre à mexson
Language C pour commencer c'est très bien
Ensuite le Java qui est un language un peu plus évolué qui t'apprendras la notion de developpement objet
merci, et donc j'apprends le language C et si je veux aller plus loin je vais en C+ puis C++ ?
Avant de vous plaidre parce que vous ne pouvez pas faire quelque chose, verifiez d'abord que si vous pouviez faire cette chose, elle serait techniquement possible.
Répondre à mexson
C+ ? connais pas... connais C et C++
par contre, je pense qu'il vaut mieux commencer le java (plus simple) que C... enfin ce n'est que mon avis !
En fait c'est C puis C++
Le C++ c'est du C avec plus de fonctions
Moi je commencerai par C/C++
Message édité par kikeukoi le 02-08-2007 à 16:22:09
je dirai JAVA moi aussi.
C il y a plein de notions "compliqués" que tu n'a pas besoin de connaitre (genre les pointeurs,...).
Le java c'est bien pour commencer dans le language object.
Répondre à mr_keyser
| kikeukoi a écrit : En fait c'est C puis C++
|
Non pas plus de fonctions, par contre il y a les classes
Si c'est pour vraiment débuter dans la programmation, je conseille plutôt le python. Maintenant, le C permet de mieux comprendre comment une machine fonctionne.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Je me suis peut-être mal exprimé. "fonctionnalités" c'est mieux?
De toutes façons, la différence se situe surtout dans la conception orientée objet en C++ (donc plus proche du Java que du C
)
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Pour répondre à ta question, je commencerais par le C à ta place.
Perso, l'année dernière j'avais caressé les bases du C puis j'avais abandonné quelque temps . Et voila plusieurs mois déjà que j'ai repris le C, maintenant je commence vraiment à me faire plaisir, (application graphique, petit jeux ...) . Je te conseil de démarrer avec le site du zéro ! "http://www.siteduzero.com/tuto-3-8-0-apprenez-a-programmer-en-c-c.html" qui fournit un très bon tutoriel !
Ne va surtout pas trop vite, car tu risque d'être perdu, puis rapidement dégouté ^^.
Au début tu va commencer par des programmes en console puis après en fenetres.
Pour le moment je ne me suis toujours pas mis à jour au c++ ^^ le c me suffit largement pour ce que je veux faire.
Et personne n'a encore sité le c# ! donc voila
c'est fait
++
Je te conseil le C en premier, regarde le C++ puis même le D (mais ne l'utilise pas encore, ce n'est pas encore un standart).
C'est marrant que tout le monde conseil de C pour commencer...
C'est quand même pas le plus simple pour débuter, ni même à utiliser.
Il y a plein de nouveaux languages, pourquoi ne pas les utiliser?! (Java par exemple)
Répondre à mr_keyser
mr_keyser +1 !
va faire de la gestion d'exception en C ! ^^
mais je pense que ca fait "cool" de coder en C !
CRicky >> il est vrai que le peu de python que j'ai fait m'avait paru tres simple et assez "formateur".
Salut
| Citation : Java qui est un language un peu plus évolué |
Ahh bon??
Ce n'est parceque cet un language exclusivement POO que il est plus évoluer ces faux.
| Citation : C'est marrant que tout le monde conseil de C pour commencer...
|
On pourrait conseiller le VB mais le problème, c'est que c'est un language très haut niveau donc limité et de plus il dispose d'une très grande quantité de fonctions difficiles à retenir..
Non le C est un bon choix mais avant tout j'èspere que tu connais le xhtml et aussi le php qui est un "dérivé du C.
Level Hight
L'API Win32 ..+1^^ c/c++
Répondre à stan91@IDN
| Citation : Ce n'est parceque cet un language exclusivement POO que il est plus évoluer ces faux. |
tu peux faire plus de fautes ??
| Citation : j'èspere que tu connais le xhtml |
qu'est ce que le xhtml vient faire dans l'apprentissage d'un langage de programmation style C ou java ???
Message édité par kakashi99 le 06-08-2007 à 12:16:10
Rien. Mais bon on peux pas tous toujours faire attention à ce que l'on dit...
Sinon moi je penche pour le Java qui un langage très propre (cela est du à la notion de programmation orientée objet) et évolué.
Oui Java est plus évolué que le C car c'est un langage beaucoup plus récent. Le C++ n'est rien d'autre que du C qui intègre aussi la notion de programmation orientée objet). Java est née après C++ et SmallTalk (premier langage orientée objet)
Répondre à MoOx_t
J'ai biensur envie de revenir sur les propos de stan91 qui vient de nous prouver qu'il a pas mal de difficultés avec le langage français.
D'abord le xhtml n'est pas un langage de programmation mais un langage de description. Le html et le php ne sont en aucun cas des prérequis pour apprendre à programmer en C.
Pour moi il est important de commencer à apprendre à developper avec un langage comme le C qui permet de comprendre et voir des aspects qui sont importants et te permettra de savoir bien programmer ensuite avec tout type de langage.
Une question stan en java c'est toi qui gère ta mémoire, tu déclares des pointeurs autres que la références de tes objets ???
Non je ne crois pas, par exemple il y a des mécanismes comme le garbage collector qui te permette de gérer ta mémoire automatiquement. Voila pourquoi j'ai dit que c'était un peu plus évolué que le langage C
+1 ramoucho
Sinon mon argument pour opter vers le Java plutôt que le C:
Dans mon IUT où j'ai fait mes études de développeur, j'ai commencé par le C puis C++ vite fait avant Java.
Aujourd'hui les nouveaux de l'IUT commence directe Java.
Et puis le plus important dans la programmation c'est pas le langage, c'est l'algorithmique...
Répondre à MoOx_t
+1 MoOx_t, dans mon école aussi, j'ai commencé direct par le Java!
Justement, les pointeurs, gestion mémoire, c'est des notions lourdes qui n'est plus utiles de maitriser, c'est geré automatiquement.
C'est bien de les connaitres pour savoir de quoi ca parle quand même....
Stan91, Java est en language haut niveau, et justement, je trouve que c'est un avantages pour la plus part des développements!!
Répondre à mr_keyser
| MoOx_t a écrit : +1 ramoucho
|
Ce que tu dis est, à mon avis, un problème. Les futurs jeunes diplômés ne connaitront quasiment plus que le Java ou C#. Déjà que je trouve dommage de délaisser l'assembleur, si on délaisse en plus le C, les futurs programmeurs ne seront pas comment la machine fonctionne...
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Bah CRicky, ca dépend vraiment à quel niveau on code.
Pour la majorité des développements (je le vois bien dans mon travail) le C# et le Java suffisent largement!
Pour les logiciels de gestion, les intranets, les différentes applications couramment utilisés en entreprises, pas besion de C ou d'assembleur...
De plus, niveau rapidité de développement, c'est quand même bien plus rapide le Java ou C#, je pense qu'il y a pas photo!
Par contre, en cours, j'ai commencé par le Java, mais j'ai quand même vu un peu de language machine, les bases, histoire de savoir comment ca marche, sans vraiment l'utiliser!
Répondre à mr_keyser
+1
A part à la NASA pour des programmes embarqués, l'assembleur n'est plus vraiment utiliser.
C'est vrai qu'un peu de langage machine n'est pas mal pour avoir certaines notions...
Mais je le vois aujourd'hui, j'utilise que très peu ces notions lorsque je programme avec un langage évolué (PHP5 ou Java par exemple)...
J'en conclu donc qu'on peut sauter l'état langage proche de la machine...
Répondre à MoOx_t
Désolé je ne voulais agresser personne, ceux qui l'ont compris comme tels m'en excuseront.
Je ne suis pas un spécialiste de Java, il est certe un language plus récent mais sa limite en termes de notions de variables et de l'héritage multiple car en effet les notions primaires de Java proviennent du c++ (structure de contrôle, ...)
| Citation : D'abord le xhtml n'est pas un langage de programmation mais un langage de description. Le html et le php ne sont en aucun cas des prérequis pour apprendre à programmer en C. |
Je n'ai pas dit sa ou du moins mal exprimer, j'ai voulus dire que si il fallait apprendre le C, il vaudrait mieux, commencer par le php, qui hérite des nombreuses fonctionalités du C (variables, instructions de contrôles, mots clés réservé...) mais il est bien évident que il faut apprendre le xhtml par la même occasion car sa serait un peu difficile je crois ^^
| Citation :
|
Je ne sais pas ou tu fait tes études, mais avant d'étudier "l'algorithmique" d'un language il serait préferable d'apprendre à s'en servir tout court.
| Citation : Stan91, Java est en language haut niveau, et justement, je trouve que c'est un avantages pour la plus part des développements!! |
Je ne sais pas franchement pour te dire, tu as peut être raison mais moi je suis de la vielle école, et j'ai appris Le c/c++ puis le python, perl et par la suite l'assembleur mais cela est vrais que je n'ai jamais fait du java ou alors très peu dans ma vie ::
| Citation :
|
Sa reste à voir, en tous les cas ils sont plus limités..
| Citation :
|
Nan au contraire l'assembleur est très présent mais il est surtout utilisés par le processeur ou de support entre le bios et la carte mère.
| Citation :
|
Je le crains, je crois que je le maitrise un peu moins bien que le C
Level Hight
L'API Win32 ..+1^^ c/c++
Répondre à stan91@IDN
| mr_keyser a écrit : Bah CRicky, ca dépend vraiment à quel niveau on code. Par contre, en cours, j'ai commencé par le Java, mais j'ai quand même vu un peu de language machine, les bases, histoire de savoir comment ca marche, sans vraiment l'utiliser! |
Je suis d'accord sur le fait que ce n'est pas très utile, mais bon, quand on sait comment un algo fonctionne, on sait s'il est optimisé ou pas, s'il est bien adapté ou pas (comme le choix entre les conteneurs liste et vecteur).
@MoOx_t, des systèmes embarqué, il en existe plein, il existe aussi des firmware et drivers (qui ne se font pas tout seul
). Dans ces cas, c'est généralement programmé en C, mais la connaissance du processeur utilisé est quand même primordial ![]()
| Citation : Par contre, en cours, j'ai commencé par le Java, mais j'ai quand même vu un peu de language machine, les bases, histoire de savoir comment ca marche, sans vraiment l'utiliser! |
C'est déjà ça ![]()
| Citation :
|
Le C++ fait de l'héritage multiple. Si ça n'a pas été fait en Java, c'est simplement parce que les compilateurs avec héritage multiple sont plus complexes à concevoir ![]()
| Citation : Je n'ai pas dit sa ou du moins mal exprimer, j'ai voulus dire que si il fallait apprendre le C, il vaudrait mieux, commencer par le php, qui hérite des nombreuses fonctionalités du C (variables, instructions de contrôles, mots clés réservé...) mais il est bien évident que il faut apprendre le xhtml par la même occasion car sa serait un peu difficile je crois ^^ |
Je penses que si c'est pour faire du C, autant se lancer directement. Si c'est pour apprendre à programmer, le mieux reste le python ![]()
Message édité par CRicky le 06-08-2007 à 18:58:38
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Salut
CRicky,
| Citation :
|
Tu n'a peut être pas tort mais moi j'ai appris comme sa et sa ma vraiment faciliter les choses mais au final sa revient à la même chose ...
Level Hight
L'API Win32 ..+1^^ c/c++
Répondre à stan91@IDN
stan91@IDN a écrit :
|
Tu n'as pas besoin d'apprendre un langage avant d'étudier l'algorithmique.
L'algorithmique est un "état d'esprit" si je puis dire, si tu programmes en C ou que tu fasses du scripting bash, peut importe le langage, l'algorithmique sera toujours la même (pas trop vrai avec la POO, vu que l'état d'esprit est différent)
J'ai appris l'algorithmique avant d'apprendre le C dans mon école.
Répondre à OmaR
| Citation : J'ai appris l'algorithmique avant d'apprendre le C dans mon école. |
Tes pas sérieux??
Alors chapeau parceque moi sa me parait beaucoup plus dur, l'algorithmique ...
Et dis moi tu sors d'une université, ou de quel école??
Level Hight
L'API Win32 ..+1^^ c/c++
Répondre à stan91@IDN
Je suis pas encore sorti
et je suis à SUPINFO
Répondre à OmaR
| Citation : Je ne sais pas ou tu fait tes études, mais avant d'étudier "l'algorithmique" d'un language il serait préferable d'apprendre à s'en servir tout court. |
L'algorithmique d'un langage... c'est quoi ça? Comme dis OmaR, l'algo c'est la base, c'est de la programmation en langage humain si tu veux et c'est avant de passer à un langage de prog. (déf. de "algorithmique sur wikipédia).
| Citation : Le C++ fait de l'héritage multiple. Si ça n'a pas été fait en Java, c'est simplement parce que les compilateurs avec héritage multiple sont plus complexes à concevoir |
Ils ont ratrappé un peu le truc pour Java et l'héritage multiple... ( http://www.journaldunet.com/develo [...] es1b.shtml )
| Citation : Nan au contraire l'assembleur est très présent mais il est surtout utilisés par le processeur ou de support entre le bios et la carte mère. |
Mais bien sur qu'il est présent et heureusement, mais un développeur basic qui programme un logiciel de compta ou un intranet avec systeme de messagerie en a rien à foutre de l'assembleur. Tou comme notre cher janvier qui se lance dans la prog...
Message édité par MoOx_t le 07-08-2007 à 10:12:14
Répondre à MoOx_t
| Citation : Ils ont ratrappé un peu le truc pour Java et l'héritage multiple... ( http://www.journaldunet.com/develo [...] es1b.shtml ) |
Il n'ont rien rattrappé, l'héritage multiple n'existe pas en Java.
Il ont ajouté la notion d'interfaces, ce qui est un concept différent qui permet de se passer de l'héritage multiple dans la conception.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
| Citation : ce qui est un concept différent qui permet de se passer de l'héritage multiple dans la conception |
Ils ont donc rattrapé un peu le coup... d'une certaine manière
@stan91
Perso j'ai fait un DUT en informatique de gestion puis une licence en Développement Intra-Internet...
Au fait voici un exemple d'algo pour planter un arbre... :
- SI la terre est plate ALORS
faire un trou avec la pelle
- mettre une graine dans le trou
- rajouter de la terre
- mettre un peu d'engrais
- arroser le tout
Une fois que tu as ton algo, tu le traduit en langage de prog. (ex. php)
Code :
|
C'est dans cette ordre qu'on se doit de programmer!
Message édité par MoOx_t le 07-08-2007 à 10:28:22
Répondre à MoOx_t
| Citation : Ils ont donc rattrapé un peu le coup... d'une certaine manière |
On peut le voir comme ça, mais moi non, car la conception (UML évidemment) est différente : l'héritage multiple et l'implémentation d'interfaces sont des concepts relativement différents.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Il y a 2268 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
