#1 Le 23/08/2008, à 15:53
- Tha Tawa'S
Language de programmation ???
Salut,
Tout d abord, je voudrias preciser que je ne veux planter ici une graine pour un grand mechant Troll..!
Je voudrais me lancer dans un peu de code pour, mieux comprendre ma ubuntu, mais aussi savoir lui parler pour qu elle me facilite la vie.
J entends souvent parler de bash, de python, de C, de Ruby, etc ...... la liste est longue.
Alors pour un debutant, dans quoi vaut-il mieux que je me lance??
Un language depend il forcement d un autre (ex : maitriser bash pour utiliser python?)
Qu est-ce qui me servira le plus?
Sachant que je ne souhaite pas devenir codeur a temps plein mais plutot me faire des petits bouts de codes par-ci par-la...
Voila, j attends vos retours (d'experience, d impressions, ...) .
Et si vous aviez des sites de references aussi !
Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....
Hors ligne
#2 Le 23/08/2008, à 15:55
- tiky
Re : Language de programmation ???
Je te conseille python ou ruby qui sont des langages interprétés, plus facile pour un débutant et très complets. Bash est un langage un peu particulier http://fr.wikipedia.org/wiki/Bourne-Again_shell mais très puissant. Il repose sur les commandes auquels tu as accès dans le shell bash ^^. Le langage C est très puissant mais moins simple pour un débutant notamment au niveau de la gestion de la mémoire et du typage des données. Avec python ou ruby tu pourras faire ce que tu veux je pense.
Dernière modification par tiky (Le 23/08/2008, à 15:59)
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#3 Le 23/08/2008, à 16:06
- swissmade
Re : Language de programmation ???
Salut,
Je suis comme toi un programmeur amateur qui fait un peu de prog de temps en temps pour le plaisir.
Perso j'ai commancé par du VBA puis PHP puis Python et pour finir JAVA.
En fait si t'en connai 1 c'est super simple de passer à un autre après. Une fois que t'as compris la technique...
Mais je pense que commancer à programmer en Python serai une bonne chose pour un débutant (le VBA n'ayant pas beaucoup d'intérêt sur linux )
Amuse toi bien
La liberté n'a pas de prix? Dans le monde de LINUX elle est gratuite!!!
Why use Windows when you can use doors?
Dell Latitude XT sous Ubuntu 9.04 | EeePc 900 sous Eeebuntu 2.0 | EeeBox sous Ubuntu 9.04
Hors ligne
#4 Le 23/08/2008, à 17:24
- rniamo
Re : Language de programmation ???
pour commencer 2 écoles : bas niveau (le c), haut niveau (interprété : php par exemple).
Si c'est juste perso php / python (selon le besoin) sont des bons choix je pense. Si c'est vraiment pour apprendre le C est je pense indispensable pour comprendre.
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#5 Le 23/08/2008, à 17:32
- Tha Tawa'S
Re : Language de programmation ???
De ce qu il en ressort, j aurais plus tendance a me touner vers Python pour l instant...
Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....
Hors ligne
#6 Le 23/08/2008, à 17:53
- whalexis
Re : Language de programmation ???
Si tu es débutant en programmation et que tu souhaites apprendre python, je ne peux que te conseiller de lire ça
Bon apprentissage
Alexis
#7 Le 23/08/2008, à 20:03
- Link31
Re : Language de programmation ???
Bash : parce que c'est toujours utile sous GNU/Linux. Et on finit inévitablement par écrire avec plein de scripts qui "facilitent la vie", comme tu dis.
Python : parce qu'on dit que c'est facile et puissant (personnellement je n'aime pas du tout, mais c'est une question de goût)
PHP : si le développement web t'intéresse (site dynamique, blog...)
Le C est un langage facile à apprendre, mais difficile à utiliser correctement. Il faut vraiment vouloir programmer quelque chose pour le faire en C, et programmer rigoureusement. Indispensable pour participer à la plupart des projets libres, et très utilisé aussi dans le monde du travail.
Après, il y a aussi Java, qui est relativement facile et reconnu en entreprise, mais qui est aussi assez lourd et assez lent. Et il n'est pas vraiment adapté pour tous les type de programmes, comme les jeux par exemple.
Et enfin le C++, qui est un des langages les plus puissants (on peut tout coder avec, du driver au moteur de jeu 3D), mais qui est très complexe et difficile à maîtriser correctement.
PS : en français, on dit langage, pas language.
Hors ligne
#8 Le 23/08/2008, à 20:12
- rniamo
Re : Language de programmation ???
juste pour répondre au post de link31 : java n'est plus si lourd que ça (sou win et lin en tout cas). Concernant java et le c++ ce sont 2 langages puissants mais plus dur à appréhender (à cause du côté trés orienté objet)
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#9 Le 24/08/2008, à 10:41
- Tha Tawa'S
Re : Language de programmation ???
Je pense que ca va devenir ma grande question existentielle (sachant que le cote web ne m interesse pas).... Bash ou Python ?
Si je reformules ce qui a ete ecrit : (pour un debutant en prog !)
-Bash (integré au noyeau) est super puissant mais plus compliqué a apprendre et a maitriser
-Python (a ajouter) est plus facile a apprendre mais offre mons de possibilité
Les logiques de programmation sont elles vraiment differentes ?
Quand on connait Python, est on perdu avec Bash et inversement?
=>Je voudrais commencer avec de "bonnes habitudes"
Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....
Hors ligne
#10 Le 24/08/2008, à 10:54
- rniamo
Re : Language de programmation ???
le langage est pas tout à fait le même. Tu peux faire à peux prés la même chose en python qu'en bash. Python est un "vrai" langage au sens où tu code un programme avec des instruction (for, while etc...). Bash se sert de programmes (tu peux même utiliser wine ou autre).
ça dépend ce que tu veux faire.
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#11 Le 24/08/2008, à 23:57
- Link31
Re : Language de programmation ???
Je dirais que Python est plus proche d'un vrai langage de programmation que Bash.
Bash est intégré au système, et sert surtout à écrire des scripts pour utiliser/configurer/maintenir le système. Il peut aussi servir à faire quelques tâches répétitives qui n'ont rien à voir avec le système, mais on est vite assez limité.
Python est un langage plus généraliste. Il permet aussi de faire des tâches système, mais moins facilement qu'en Bash. Par contre, il est bien meilleur que Bash pour du calcul ou pour une interface graphique, par exemple.
Dernière modification par Link31 (Le 24/08/2008, à 23:57)
Hors ligne
#12 Le 25/08/2008, à 00:28
- HP
Re : Language de programmation ???
Python est un "vrai" langage au sens où tu code un programme avec des instruction (for, while etc...). Bash se sert de programmes (tu peux même utiliser wine ou autre).
Mais Bash utilise lui aussi des boucles et des conditions… non ? Je pense que c'était juste la formulation qui était maladroite et, donc, source à mauvaise interprétation…
Et pour les programmes que Bash utilise, on peut voir çà comme des fonctions… qui sont issues de programmes, mais des fonctions quand même, non ? d'ailleurs l'appel de fonctions internes et l'appel aux programmes (externes, donc) sont très similaires, voire identiques…
Pour finir, à mon sens, Bash est lui aussi un "vrai" langage de programmation !
cat /dev/urandom >/dev/null 2>&1 #github
En ligne
#13 Le 25/08/2008, à 00:53
- nicolas66
Re : Language de programmation ???
Pour finir, à mon sens, Bash est lui aussi un "vrai" langage de programmation !
On peut même faire des tableaux en bash
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
#14 Le 25/08/2008, à 01:16
- tiky
Re : Language de programmation ???
rniamo a écrit :Python est un "vrai" langage au sens où tu code un programme avec des instruction (for, while etc...). Bash se sert de programmes (tu peux même utiliser wine ou autre).
Mais Bash utilise lui aussi des boucles et des conditions… non ? Je pense que c'était juste la formulation qui était maladroite et, donc, source à mauvaise interprétation…
Et pour les programmes que Bash utilise, on peut voir çà comme des fonctions… qui sont issues de programmes, mais des fonctions quand même, non ? d'ailleurs l'appel de fonctions internes et l'appel aux programmes (externes, donc) sont très similaires, voire identiques…
Pour finir, à mon sens, Bash est lui aussi un "vrai" langage de programmation !
Je pense pas qu'il soit nécessaire qu'un langage possède la notion de fonction pour qu'on puisse le qualifier de langage de programmation. Bash est bien un langage de programmation ne serait-ce que parce qu'il permet d'automatiser des tâches. Mais ça reste un langage très spécialisé, on n'écrit pas un navigateur web en Bash. Par contre Bash permet d'automatiser des tâches complexes de façon très aisé, là où d'autres langages nécessiteraient des lignes et des lignes de code.
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#15 Le 25/08/2008, à 06:45
- HP
Re : Language de programmation ???
On peut même faire des tableaux en bash
cat /dev/urandom >/dev/null 2>&1 #github
En ligne
#16 Le 25/08/2008, à 07:55
- hello_world
Re : Language de programmation ???
Hello,
Ce qui est sur c'est que le c ne va pas t'être utile sans un énorme investissement. A moins que tu veuilles utiliser ton langage de programmation pour calculer la plus petit multiple commun entre deux nombres, et autres programmes académiques nullement utile dans la réalité, et pour lesquels il existe déjà des milliers de codes.
++
Hors ligne
#17 Le 25/08/2008, à 08:13
- HP
Re : Language de programmation ???
Ce qui est sur c'est que le c ne va pas t'être utile sans un énorme investissement.
De plus, comme ça pourra être ressenti comme un certaine ingratitude, il y a de quoi faire abandonner même le plus motivé des débutants (et comme le topic a été ouvert par un débutant)…
cat /dev/urandom >/dev/null 2>&1 #github
En ligne
#18 Le 25/08/2008, à 09:59
- rniamo
Re : Language de programmation ???
concernant monmessage précédant, il était maladroit c'est vrai. Concernant le je ne suis pas d'accord, on peut dès qu'on a compris ce qu'étatit un pointeur faiore des truc sympa t même utiliser gtk+ !
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#19 Le 25/08/2008, à 10:46
- jef50
Re : Language de programmation ???
Je te conseille ruby, language de haut niveau , 100% objet.
Avec ce language tu pourras faire de magifique appli web 2.0 grace au Framework ruby on rails
Hors ligne
#20 Le 25/08/2008, à 14:24
- Tha Tawa'S
Re : Language de programmation ???
Je vois que le sujet fait reagir un bon nombre de personnes.
Et tous ces point de vus sont tres interessants.
Par contre, y a t il parmi vous, des "anciens debutants" en programmation, et si oui, a quelle(s) probleme(s) vous etes vous confronté?
Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....
Hors ligne
#21 Le 25/08/2008, à 14:39
- hello_world
Re : Language de programmation ???
Hello
Par contre, y a t il parmi vous, des "anciens debutants" en programmation, et si oui, a quelle(s) probleme(s) vous etes vous confronté?
Je pense que pas mal de gens qui développe ont été un jour débutant
Sinon les problème que l'on rencontre au début vient souvent du fait que ce qui semble évident pour les gens qui font des tutoriels ne l'est pas pour ceux qui programme.
Par exemple il y a quelques temps, je voulais extraire une information d'un fichier en perl. Je savais c'était un nombre, précédé de E[0]: . J'ai très rapidement compris que je devais me servir des expressions régulières. Tu tombes alors sur des pages dans ce genre:
http://www.francophonie.utm.md/new_fi/public_html/Perl/Regex.htm
qui t'explique en long en large et en travers commun écrire une expression régulière (c'est à dire par exemple comment dire "l'ensemble des ligne commençant par E[0]"), mais rien du tout sur comment traiter l'information, car cela semble sans doute évident à la personne qui a écrit la page.
Et si tu ne comprends rien à ce que je t'ai raconté, tu as un bon exemple de qqun qui croit expliqué qqch très bien alors que celui en face ne comprend rien du tout ;-)
++
Hors ligne
#22 Le 25/08/2008, à 16:19
- tiky
Re : Language de programmation ???
Le site du zéro est pas mal du tout pour les débutants en programmation. Il explique bien le C et le C++ et considère que le lecteur n'a absolument aucune connaissance en programmation. En général le plus dur à apprendre en programmation ce n'est pas tellement la syntaxe ou les mots-clés du langage, ils ne sont pas très nombreux et se ressemblent beaucoup d'un langage à l'autre mais les concepts comme la programmation orienté objet, les pointeurs, ... Par ailleurs il est plus qu'important de connaître des bibliothèques pour ne pas avoir à réécrire du code déjà mûrement pensé par d'autres programmeurs chevronnés. Bref ce n'est pas tellement l'apprentissage du langage qui est difficile mais sa maîtrise pour produire un code propre.
Dernière modification par tiky (Le 25/08/2008, à 16:20)
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#23 Le 25/08/2008, à 16:46
- Jean-Julien
Re : Language de programmation ???
Salut !
Si tu débutes : PYTHON !!!
Pour comprendre les fondements de la programmation, c'est extra !
Ensuite, pour créer de applications, c'est encore extra !
De plus, c'est portable (tes programmes tourneront sur d'autres systèmes), bien doucumenté, et gratuit.
Je reviens une fois de plus là-dessus, mais la démarche Swinnen, qui consite à mettre en ligne son ouvrage est géniale.
Si j'avais eu ça quand j'ai appris à programmer (il y a 22 ans...) que de temps gagné !...
Ca ne veut pas dire que le Python est uniquement un langage de débutant. Loin de là !
Je le considère comme "une arme de tarrain". Il te faut une application -> tu la réalises rapidement et efficacement.
Tu veux faire quelque chose de plus élaboré, c'est également très bon.
C'est un concept de haut niveau. Tu n'es pas obligé d'étiudier le fonctionnement profond de l'ordinateur pour savoir programmer. Tu es tout de suite en contact avec ce que tu veux réaliser.
Bon, plus tard, si tu veux aller voir ce qui se passe à l'intérieur, tu passes à un langage de bas niveau, plus proche de la machine.
Sous Linux, il y a le C... Mouais... Mais si tu veux vraiment COMPRENDRE le pourquoi du comment, fais un saut dans le temps, procures-toi un vieux PC (286-386-486) et tapes-toi de l'assembleur. C'est un exercice didactique toujours payant. Après, si tu passes au C, tu saisiras mieux ce que la syntaxe veut dire.
Mon avis : tu démarres avec un langage de haut niveau. Python est un excellent choix.
Dernière modification par Jean-Julien (Le 25/08/2008, à 16:47)
Hors ligne
#24 Le 25/08/2008, à 16:55
- rniamo
Re : Language de programmation ???
j'aurais dit le contraire mais bon question de point de vue peut être (quand on a fait un langage de haut niveau on descend rarement )
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#25 Le 25/08/2008, à 17:16
- CMDT-5
Re : Language de programmation ???
Je sais, je vais faire du vent, ça ne vas pas beaucoup aider.
Je trouve que les notions de bas niveau et de haut niveau sont des conventions qui jurent un peu. Instictivement, on associe le haut et le bas avec le bien et le mal, le correct et l'incorrect, le difficile et le facile, l'évolué et le primaire. J'aimerais plutôt parler de langage proche de la machine et de langage proche de l'utilisateur. Chacun possédant ses qualités propres.
Ce n'est pas une mode qui détermine le choix d'un langage, mais ce qu'on doit réaliser.
Dans ce cas, ce sont les premers pas d'un débutant. Il faut donc choisir un langage de haut niveau, proche de l'utilisateur.
Dernière modification par CMDT-5 (Le 25/08/2008, à 17:17)