Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/01/2010, à 23:41

sputnick

Pourquoi 3/4 des gens ici codent en C/C++/python ?

Salut,

on voit énormément de questions sur ces 2 languages et tres rarement sur perl et ruby.
Y a t-il une raison qui m'aurait échappé ?

++, sputnick.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#2 Le 25/01/2010, à 23:46

Shrat

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Pour Perl je pense que c'est parce que Python est plus facile à apprendre pour les débutants.

Hors ligne

#3 Le 25/01/2010, à 23:47

Kanor

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Oui perl c'est un peu indigeste ...
Sinon pour ruby je pense que c'est à cause d'une communauté plus petite et du faible nombre de librairie

Hors ligne

#4 Le 26/01/2010, à 01:06

Le Farfadet Spatial

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Salut à tous !

   Je ne peux répondre que pour ce qui me concerne.

   Je code souvent en C++, parce que j'ai évalué beaucoup de langages et que c'est celui qui allie le mieux souplesse et puissance par rapport à mon besoin, à savoir le calcul numérique -- disons calcul à hautes performances.

   Cela dit, je ne suis pas rétif aux autres langages et j'apprécie particulièrement l'approche fonctionnelle.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#5 Le 26/01/2010, à 01:29

freaxmind

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

C++ est un très bon langage, très souple avec de nombreuses bibliothèques. Il est largement utilisé, et je le trouve plus adapté sous une plateforme gnu/linux que du java ou du .net.
Beaucoup l'utilise pour ces performances, par expériences et parce qu'il est largement populaire dans le monde des logiciels libres.

Python est aussi un excelent langage ! Il permet de mener à bien facilement des projets personnels ou plus sérieux, et c'est un langage qui donne de très bonnes habitudes aux programmeurs. La en encore, comme le c++, les utilisateurs le choissent pour sa popularité, son large choix de bibliothèque.

Pour ma part, je me tourne toujours en premier vers le langage ruby. C'est à mes yeux le langage qui me permet de faire le code le plus juste, le plus beau et le plus facilement maintenable.
Les bibliothèques de ruby sont très bien, même si il y a quelques manques, comme par exemple pour la lecture du son, on en trouve d'excelente pour XMPP (xmpp4r), le web (rails), les interfaces graphiques (wxruby), le format xml (nokogiri), yaml (yaml4r) ...

Les langages C++ et python sont populaires, et cela est largement justifié ! J'apprécie beaucoup ces langages qui pour moi sont de meilleurs alternatives au java et au .net. D'autres langages se voient remplacé par leur difficulté (perl), leur monstruosité (php).

Pour moi, ruby est un bon candidat et montrera tout son potentiel dans les prochaines années. Sa compatibilité avec la plateforme ruby (jruby), .net (ironruby) le rend intéressant dans beaucoup de domaine, et je sais qu'il saura séduire de programme en quête d'un langage qui font les choses comme ils pensent être juste.

Hors ligne

#6 Le 26/01/2010, à 02:41

Karl_le_rouge

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

J'ai appris à l'école, le langage C et C avec classes. C est un langage simple, efficace et intimement lié à Unix, proche du matériel (je suis électronicien de formation) et qui demande de la rigueur. Plus j'avance, plus C++ tend à supplanter C, il est difficile à maitriser mais il permet d'arriver à un résultat plus robuste, plus élégant, la STL et Boost sont une merveille.
Je n'ai jamais été vraiment fan de Java que je trouve beaucoup trop verbeux, je lui préfère même son cousin C# (via mono) plus souple et moins académique. Pour les projets dont le temps de développement est limité, C++/Qt4 ou C/Python les remplacent avantageusement tout alliant robustesse et performances.

Quant aux langages de script, j'ai débuté par Perl certes très puissant mais trop laxiste à mon gout pour me tourner vers Python. Python est un langage simple, élégant qui couvre un champs d'application large (système, desktop, prototypage, web, etc ...) , sa concision l'a emporté sur Ruby. Connaitre plusieurs langages est la meilleure façon de forger l'expérience d'un développeur mais il ne faut pas (trop) se disperser. ;-)

Mes langages de prédilection (C/C++/Python) ont un point commun, ils mettent plus l'accent sur le côté pratique plus que sur le côté académique.

Hors ligne

#7 Le 26/01/2010, à 10:17

Geoffrey35

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Le python est un langage interprété et pas compilé, donc les sources sont visibles.


Ubuntu, c'est pas non plus...

Hors ligne

#8 Le 26/01/2010, à 11:58

jofab

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Bonjour,
  Personnellement, je pense que parfois ce n'est pas le meilleurs qui l'emporte... Il y a d'autres facteurs, le contexte, la mode... Je pense aussi qu'il est difficile de comparer brutalement certains langages entre eux car chaque langage à un domaine d'application privilégié...
  Pour repondre à la question, pour le C et C++, certainement que comme leurs histoires sont liées à l'histoire de linux, ca influence... Peux etre que sur un forum windows, il y aurait plus de VB (pur spéculation, en fait j'en sais rien je ne vais jamais sur des forums windows lol)
  Pour Python, c'est certainement la vitesse d'ecriture des scripts... En tout cas, perso, je ne suis pas convaincu par python pour les raisons que je donne la : http://forum.ubuntu-fr.org/viewtopic.php?id=286797 (pour resumer, je trouve le python est illisible) mais encore une fois, il faut lier ca avec un domaine d'application. Il y a des cas ou c'est bien pratique...

Jo

Hors ligne

#9 Le 26/01/2010, à 12:28

Airballman

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Python, simplement je pense parce qu'on peut coder "à la volée" sans se prendre la tête avec des erreurs pendant des erreurs. Pas de compilation aussi, ce qui est plutot agréable.

Les applications dont on parle dans ce forum sont souvent de ce type, on a moins de demande de Java par exemple alors que c'est tres utilisé egalement.

Hors ligne

#10 Le 26/01/2010, à 14:30

LNO

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

freaxmind a écrit :

...D'autres langages se voient remplacé par leur difficulté (perl), leur monstruosité (php)...

Tiens, en quoi PHP serait-il "monstrueux" ?

Je pose la question sans arrière-pensée, juste parce que j'ai l'intention de me remettre au dev et que, par le passé, j'ai pas mal utilisé PHP, et que maintenant, il me semble toujours intéressant, surtout accompagné d'un des frameworks disponibles.

Hors ligne

#11 Le 26/01/2010, à 14:42

jofab

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Airballman a écrit :

Pas de compilation aussi, ce qui est plutot agréable.

Perso, pour moi c'est un handicap. Attendre que le programme s'arrete au bout de 10 min d'exec pour me dire que qqc ne va pas alors qu'avec une phase de compile ca se detecte en moins de 10 sec, ca ne me plait pas trop...

Hors ligne

#12 Le 26/01/2010, à 14:45

jofab

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

LNO a écrit :
freaxmind a écrit :

...D'autres langages se voient remplacé par leur difficulté (perl), leur monstruosité (php)...

Tiens, en quoi PHP serait-il "monstrueux" ?

Peut on reellement comparer ? Php est-il utilise en dehors de pages web ?

Hors ligne

#13 Le 26/01/2010, à 17:50

tylhdar

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

jofab a écrit :
Airballman a écrit :

Pas de compilation aussi, ce qui est plutot agréable.

Perso, pour moi c'est un handicap. Attendre que le programme s'arrete au bout de 10 min d'exec pour me dire que qqc ne va pas alors qu'avec une phase de compile ca se detecte en moins de 10 sec, ca ne me plait pas trop...

Pas vraiment, y'a une première lecture qui est fait avant l'exécution, qui permet de trouver des erreurs.


un matériel non compatible linux est un matériel défectueux
ubuntu 10.4 sur pc1 ; debian squeeze sur pc2

Hors ligne

#14 Le 26/01/2010, à 18:42

jofab

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

tylhdar a écrit :
jofab a écrit :
Airballman a écrit :

Pas de compilation aussi, ce qui est plutot agréable.

Perso, pour moi c'est un handicap. Attendre que le programme s'arrete au bout de 10 min d'exec pour me dire que qqc ne va pas alors qu'avec une phase de compile ca se detecte en moins de 10 sec, ca ne me plait pas trop...

Pas vraiment, y'a une première lecture qui est fait avant l'exécution, qui permet de trouver des erreurs.

Ha bon ?! Nous n'avons pas le meme interpreteur...

#!/usr/bin/python
import time;
t=1;
print t;
time.sleep(10);
print t1;

(Je m'excuse si j'exagère un peu mais python m'a fait perdre tellement de temps sur des choses que je trouve élementaires que j'ai un peu les nerfs à vis hmm)

Hors ligne

#15 Le 26/01/2010, à 18:47

Kanor

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Oh utiliser des ; dans python quel idée ?!!

SInon pour ce type d'erreur un bon éditeur tu enlève déjà une bonne partie de ces erreur

Dernière modification par Kanor (Le 26/01/2010, à 18:48)

Hors ligne

#16 Le 26/01/2010, à 19:25

Karl_le_rouge

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Le sempiternel débat langages compilés vs interprétés smile
Certes la phase de compilation permet de déceler pas mal d'erreurs triviales, mais dès que l'on commence à maitriser son outil, ça devient négligeable.
Faut prendre en compte que la courbe d'apprentissage d'un langage interprété est plus courte, les interpréteurs interactifs favorisent l'expérimentation.

Les principales raisons qui font qu'un développeur perd du temps sont souvent: absence de gestionnaire de sources, absence de documentation, de tests unitaires, mauvaise connaissance du débogueur, non-respect des bonnes pratiques, pas de revue de code etc ...
L'intérêt de Python, c'est qu'il dégage du temps pour mettre en application toutes ces choses (tout en restant extrêmement productif), et des outils d'analyse de code comme PyLint, PyChecker ou PyFlakes remplacent avantageusement la phase de compilation (quelque soit le langage, utilisez ce genre d'outils ---> clang-analyzer, splint, sparse par exemple pour C, C++)

L'important c'est de bien connaitre ses outils et de choisir les bons outils selon le projet. Le langage n'est qu'un support.

Hors ligne

#17 Le 26/01/2010, à 22:25

JoelS

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

LNO a écrit :
freaxmind a écrit :

...D'autres langages se voient remplacé par leur difficulté (perl), leur monstruosité (php)...

Tiens, en quoi PHP serait-il "monstrueux" ?

Je pose la question sans arrière-pensée, juste parce que j'ai l'intention de me remettre au dev et que, par le passé, j'ai pas mal utilisé PHP, et que maintenant, il me semble toujours intéressant, surtout accompagné d'un des frameworks disponibles.

Je dirais même plus, en quoi Perl serait-il difficile ?

Hors ligne

#18 Le 26/01/2010, à 22:42

freaxmind

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Perl est à mes yeux difficile, car la syntaxe est très vaste et pas toujours facile à lire. On écrit facilement du perl mais on a du mal à le relire.

Pour php, il est réservé au web mais on peut quand même faire quelques applications bureau, en gtk par exemple.
Je le trouve par contre montrueux, car de nombreux concepts comme l'objet sont très mal géré ! Les API sont simplement horrible, toutes à moité procédurale, l'environnement n'est pas très intéressant ...

Hors ligne

#19 Le 26/01/2010, à 22:57

Kanor

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

freaxmind a écrit :

Pour php, il est réservé au web mais on peut quand même faire quelques applications bureau, en gtk par exemple.
Je le trouve par contre montrueux, car de nombreux concepts comme l'objet sont très mal géré ! Les API sont simplement horrible, toutes à moité procédurale, l'environnement n'est pas très intéressant ...

Le php  par des personnes compétente peut être bien codé et il y a des framework pas  mal synphony par exemple

(je ne code pas en php .. c'est seulement de la transmission de témoignage )

Hors ligne

#20 Le 27/01/2010, à 01:30

tylhdar

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

jofab a écrit :

Oui, enfin un programme écrit en c/c++ peut aussi planter.


un matériel non compatible linux est un matériel défectueux
ubuntu 10.4 sur pc1 ; debian squeeze sur pc2

Hors ligne

#21 Le 27/01/2010, à 02:45

sputnick

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Il y a deux ans, pour les languages de scripts de 3° générations, j'ai hésité entre Perl et Python, j'ai essayé un peu les deux, j'ai trouvé python trop "straight", par exemple pour l'indentation. Je suis habitué à débiter du code shell, et les espaces et indentations sont très libres dans ce domaine, ce que j'apprécie. C'est ce que j'aime aussi dans Perl, la liberté, le coté jungle me plaît bien, ça me correspond mieux ^^
( Après faut se fixer des règles à soi même et utiliser les pragmas qui vont bien :

use strict;
use warnings;
# eventuellement :
use diagnostics;

Essayez de faire ça en Python : http://www.perlmonks.org/index.pl?node_id=45213
Non pas que ça soit utile, mais ça laisse présager la malléabilité de Perl.
De plus, je travaille dans l'administration de systèmes Linux, donc le choix de Perl s'est confirmé. En effet, la plupart, pour pas dire tous les systèmes modernes embarquent Perl nativement et du coup, on peux créer des scripts vraiment portables et cross-platforms.

J'ai tâté un peu de Ruby, tout est objet, c'est propre, c'est beau, c'est moderne, ça roxe, ça fait du système, du web coté client et serveur... c'est l'avenir ^^
De plus, ROR ( ruby on rails ) semble tout à fait intéressant comme framework.
( Leurs page modrails http://modrails.com/ est supeeeerbe, ça a l'air de rien comme ça, mais ça sent pas la poussière comme d'autres sites qui font assez peur. )

Dernière modification par sputnick (Le 27/01/2010, à 02:56)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#22 Le 27/01/2010, à 03:17

xamaco

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Pour en revenir à la question initiale :

Pourquoi 3/4 des gens ici codent en C/C++/python ?

D'abord j'y ajouterai Java (regarder le nombre de bouquins sur ce langage sur Amazon par exemple). Et aussi le php (voir le nombre de sites web l'utilisant).
Les questions de préférences personnelles sur un langage ont peu d'importance pour un programmeur professionnel. Beaucoup moins que l'offre et la demande, en tout cas. En bref, il faut bien vendre son cul, un minimum big_smile
Ça c'était pour le côté humain de la chose. Pas forcément très reluisant...
Pour le côté technique, je pense que certains langages se sont imposés parce qu'ils permettaient de bien utiliser les possibilités du matériel du moment. Et après il a bien fallu maintenir 'le code' (pour pas perdre de pognon mais essayer d'en faire plus, entre autres).

Les préférences sont toujours importantes. Mais il faut, à mon avis, qu'elles servent à défendre des choix politiques (le libre vs. les fils de putes), et non pas des goûts personnels. C vs. C++ vs. python, rien à foutre, par contre mono vs. python, là on peut avoir envie de mordre...:D

Hors ligne

#23 Le 27/01/2010, à 05:23

tshirtman

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

jofab a écrit :
Airballman a écrit :

Pas de compilation aussi, ce qui est plutot agréable.

Perso, pour moi c'est un handicap. Attendre que le programme s'arrete au bout de 10 min d'exec pour me dire que qqc ne va pas alors qu'avec une phase de compile ca se detecte en moins de 10 sec, ca ne me plait pas trop...

la compilation n'attrape que deux types d'erreur, les erreur de type et les symboles non définis... qui sont les erreurs les plus simples, ne pas en avoir ne signifie absolument pas que ton programme est correct, ton programme est correct quand toutes ses fonctions sont testées dans les cas généraux et les cas de bords, et renvoient les résultats attendus...

sputnick a écrit :

Il y a deux ans, pour les languages de scripts de 3° générations, j'ai hésité entre Perl et Python, j'ai essayé un peu les deux, j'ai trouvé python trop "straight", par exemple pour l'indentation. Je suis habitué à débiter du code shell, et les espaces et indentations sont très libres dans ce domaine, ce que j'apprécie. C'est ce que j'aime aussi dans Perl, la liberté, le coté jungle me plaît bien, ça me correspond mieux ^^
( Après faut se fixer des règles à soi même et utiliser les pragmas qui vont bien :

use strict;
use warnings;
# eventuellement :
use diagnostics;

Essayez de faire ça en Python : http://www.perlmonks.org/index.pl?node_id=45213
Non pas que ça soit utile, mais ça laisse présager la malléabilité de Perl.
De plus, je travaille dans l'administration de systèmes Linux, donc le choix de Perl s'est confirmé. En effet, la plupart, pour pas dire tous les systèmes modernes embarquent Perl nativement et du coup, on peux créer des scripts vraiment portables et cross-platforms.

J'ai tâté un peu de Ruby, tout est objet, c'est propre, c'est beau, c'est moderne, ça roxe, ça fait du système, du web coté client et serveur... c'est l'avenir ^^
De plus, ROR ( ruby on rails ) semble tout à fait intéressant comme framework.
( Leurs page modrails http://modrails.com/ est supeeeerbe, ça a l'air de rien comme ça, mais ça sent pas la poussière comme d'autres sites qui font assez peur. )

le problème de perl, c'est que si t'en fait pas *tous les jours* tu perds très vite, le language est inretenable... c'est pas moi qui le dit c'est des gens qui en ont fait pendant de longues années...

Le python est beaucoup plus souple sur l'indentation que ce que pense beaucoup de gens... la seule chose qu'il demande c'est que deux lignes d'un même bloc logique (en dehors de toute parenthèse) soit indenté pareil... est c'est vraiment une question de sanité d'èsprit, tout codeur consciencieux respecte cette regle quel que soit le language dans lequel il code, donc autant que ça fasse partis de la syntax... ça permet de se passer des {} qui sont redondants avec l'indentation...

Pour ton exemple de chameau, super, on peu coder et faire de l'ascii art en même temps... pour ça y'a encore mieux tu sais? http://fr.wikipedia.org/wiki/Piet voila, maintenant du peux coder avec paint smile j'espère que t'es heureux smile c'est vraiment un language super pour l'admin et les trucs en prod, vraiment smile.

Ah et le python est aussi cross plateform que le ruby hein... en fait ces deux languages sont très proches, je préfère l'esprit python, et il a plus de bibliotheques dispo mais bon... Pour rails on a pylons, zope, django, bfg... pleins de frameworks super pros, depuis des années, mais bon c'est pas grave hein... à part windows qui n'embarque pas perl non plus, tous les os embarquent python aussi, mais bon détails détails...

sinon pour répondre à la question... pour le C c'est historique... ça a été le language à tout faire pendant des années, il est simple a apprendre même si dur a maitriser, et très proche de la machine et de l'OS, beaucoup de gens continuent de commencer par ce language, même si je pense que c'est une erreur... le C++ est le successeur du C, il apporte l'objet de façon suffisante pour pas mal de choses, il a ses défaut dont une trop grande complexité, mais, bien utilisé il est bon à presque tout faire, et très performant... java est très utilisés aussi, car il corrige certains défaut du C++, il eu beaucoup de succès, python est incontestablement l'un des language les plus intéressant à l'heure actuelle, très facile à apprendre, il permet d'aborder des difficultées algorithmiques complexes de façon très simple, permet de construire des gros systèmes robustes, et est très maintenable car il encourage une grande lisibilité, c'est clairement un language d'avenir...

Dernière modification par tshirtman (Le 27/01/2010, à 05:34)

Hors ligne

#24 Le 27/01/2010, à 09:06

freaxmind

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

Le php  par des personnes compétente peut être bien codé et il y a des framework pas  mal synphony par exemple

Comme dans tous les langages j'ai envie de dire, mais sans passer par un framework, il est très facile de faire un code écoeurant. Ceux qui font les frameworks php ont puisser leur source dans d'autres outils.
Symphone ou cake sont d'ailleurs basés sur ruby on rails ( ou du moins essayent ).

Il y a deux ans, pour les languages de scripts de 3° générations, j'ai hésité entre Perl et Python, j'ai essayé un peu les deux, j'ai trouvé python trop "straight", par exemple pour l'indentation. Je suis habitué à débiter du code shell, et les espaces et indentations sont très libres dans ce domaine, ce que j'apprécie. C'est ce que j'aime aussi dans Perl, la liberté, le coté jungle me plaît bien, ça me correspond mieux ^^

Certains n'aiment pas cette liberté. Pour ceux qui ne veulent pas être "distrait" par les subtilités du langage, python est un bon choix.
Maintenant ruby s'inscrit en bon cousin de perl. Il est très libre de par son utilisation, et il est vraiment possible d'adopter toutes les syntaxes des langages connus (c, python, perl ...).
J'avoue que coder en python, c'est pour moi mettre des oeillères et ne pas chercher à regarder si il y a une autre façon de faire.

l

e problème de perl, c'est que si t'en fait pas *tous les jours* tu perds très vite, le language est inretenable... c'est pas moi qui le dit c'est des gens qui en ont fait pendant de longues années...

Perl et php sont vraiment des langages très difficiles à retenir. J'entends la même chose dans mon entourage.
Au contraire, les langages que j'ai toujours très bien retenu sont python et ruby. De plus, leurs documentations intégré est très pratique !

Le python est beaucoup plus souple sur l'indentation que ce que pense beaucoup de gens... la seule chose qu'il demande c'est que deux lignes d'un même bloc logique (en dehors de toute parenthèse) soit indenté pareil... est c'est vraiment une question de sanité d'èsprit, tout codeur consciencieux respecte cette regle quel que soit le language dans lequel il code, donc autant que ça fasse partis de la syntax... ça permet de se passer des {} qui sont redondants avec l'indentation...

C'est discutable. Je vois par exemple beaucoup de code python écrit sans retour à la ligne !
La encore ruby et python sont différents ! Python impose un style au niveau de la mise en forme ( pas de signe comme $ ou @ et indentation ) alors que ruby a des conventions ( nommage de classe, namespace ).
Pour ma part, j'aime être libre de la mise en forme de mon code, c'est quelque chose qui ne dépend que de moi et j'aime faire à ma facon. Par contre, je veux utiliser des API qui soient cohérentes entre elles, et les conventions de ruby sont très pratique pour cela.

Beaucoup de gens continuent de commencer par ce language(C), même si je pense que c'est une erreur

Je trouve aussi, il en ressort de la frustation et au dela de l'apprentissage, ceux qui l'apprennen tne sont pas capables de l'utiliser dans leur vie de tous les jours.
Surtout que dans peut être 85% de leurs besoins, un langage interprété aurait largement suffit !

Hors ligne

#25 Le 27/01/2010, à 10:45

jofab

Re : Pourquoi 3/4 des gens ici codent en C/C++/python ?

tylhdar a écrit :

Oui, enfin un programme écrit en c/c++ peut aussi planter.

Ok, c'est vrai pour tout les langages. Mais la je ne parle pas des plantages, je parle d'une bete erreur de syntaxe...

Hors ligne