Quel langage choisir?

Parce que python est nettement meilleur à ce sujet là ?[/quote]
Python est un langage interprété, contrairement au Java qui compile à la volée.[/quote]
Ça c’est faux.

Pas vraiment de raison ou plutôt si mais pas celle que tu crois. C’est le fait d’avoir un langage dynamique qui consomme.

Tu immagine bien que c’est débile d’avancer des choses comme ça. Les développeurs java ne savent pas coder et les développeurs C++ sont associables (c’est à peu près du même niveau).

Ce qui va jouer sur la consommation c’est :
[ul]
[li]le runtime : c’est très parlant pour Java et python et leur VM, mais ça peut aussi concerner les comme le C++ ou le go si on ajoute (par exemple un gc) (bonne nouvelle pour ceux que ça intéresse ça devrait évoluer dans le bon sens du coté de java avec jigsaw pour java 9 ou 10) ;[/li]
[li]le langage : en C, tu consomme très peu de mémoire autre que ce que tu alloue explicitement, dès que tu passe à un langage objet ça commence à grossir. Là dessus Java est assez lourd parce qu’il possède des mécanismes assez lourd (pour gérer l’introspection et la sécurité entre autre), python aussi est assez lourd par design le fait d’avoir des objets/classes dynamiques ;[/li]
[li]la conception : on peut faire des choses très lourdes par conception, il s’agit ici d’un couple développeur(s)/langage. Outre la partie algorithmique c’est la maîtrise du langage qui va jouer.[/li][/ul]

Je ne sais pas ce qu’il en est pour les logiciels que tu cite, mais Firefox et Chrome consomment énormément de mémoire et sont en C/C++.

[quote=“Astromatik”]Bonjour a tous! :006
Voilà, ca fait quelques temps que je veut me mettre a la programmation, dans le but de créer de petits programmes, et/ou de petits jeu, mais je ne sais pas quelle language est le plus performant et simple! J’aimerais avoir vos avis!

Merci beaucoup!

Astromatik[/quote]

Si tu es débutant et que tu souhaites créer des petits programmes ou des petits jeux, je te conseille le langage Python car :

  • il est beaucoup plus facile à aborder qu’un langage comme le C ou le C++ par exemple.
  • c’est un langage assez didactique
  • la documentation est riche et la communauté Python est assez active.
  • il te force à écrire proprement (syntaxe claire et code indenté proprement)
  • tu peux faire toutes sortes de choses avec (jeux, applications web, programmes en mode console ou GUI).
  • tu peux trouver tout un tas de librairies sur le net
  • tu peux programmer en procédurale ou en orienté objet
  • il est gratuit, portable, extensible…

Je ne suis pas un pro de Python mais c’est un langage qui me séduit de plus en plus pour les raisons citées plus haut.
En ce moment, je m’amuse beaucoup à la plage sur une tablette Android (GPS en particulier) avec Sl4a, le module Python android et les API Google.
C’est limite jouissif.

Ressources :
Je te conseille tout d’abord de lire ce livre irem.sciences.univ-nantes.fr … _notes.pdf et de t’exercer
Ensuite : python.developpez.com/

Je viens de retrouver un article qui parle un peu de performance avec des serveurs d’applications Java :
blog.octo.com/jusquou-peut-aller … -reactive/

On remarque que sur un même langage le choix d’architecture, on peut avoir un rapport 6 de performance.

Je risque de me faire engueuler car je fais remonter un sujet mais néanmoins il me semble que certains langages sont oubliés comme le langage “D”, ou encore Go ou finalement Vala ? non ?

A remarque que Vala a une syntaxe qui se rapproche de celle du C++. Il s’agit d’un langage orienté objet qui en fait traduit de Vala en C puis compile le code C pour créer un exécutable.

Le langage D est sympa, à voir cela fait quelques temps que je n’y ai pas jeté un oeil. Syntaxe plutôt orientée C++ même si.

Quant à Go, j’ai essayé mais la syntaxe me rebute un peu.

Tu peux voir un exemple de langage D à l’adresse suivante :
linbox.free.fr/check/index.php

Et j’ai mis en source publique des projets Vala en cours à l’adresse suivante :
github.com/Raumy

J’ai de très bon retour sur le GO. Sa syntaxe étant très simplifier mai largement fonctionnelle. et beaucoup de chose sont inclus de base dans le language, comme le multi-threading et la concurence qui sont elle aussi simple a mettre en place et a utiliser.

Moi je crois qu’on a assez de langages pour en inventer autant en si peu de temps…

C’est pas une course à la performance qu’ils nous font, c’est juste un moyen supplémentaire d’emprisonner les dev dans des techno incompatibles entres elles afin d’avoir plus de monopole.

Pour moi, on garde

  • C, C++
  • Java, C#
  • php, python
  • html CCS JS (on pourrai sans doute faire bien mieux que JS, c’est là le seul langage que je trouve pas forcément adapté)

On garde ? Ou tu préconises ?
Parce qu’oublier Pascal, Shell, SmallTalk, Ruby, Basic, Cobol, Fortran … Enfin tout un paquet de langages historiques qui ont permis de faire évoluer les langages que tu gardes c’est oublier les raisons qui ont fait que ceux-ci existent.

et aucun langage fonctionnel dans le tas préconisé on dirait…

en effet, j’étais pressé, et je me suis arrêté au langages des domaines que j’utilise… :blush:

Mais vous conviendrez qu’il devient un peu encombrant d’avoir des dizaines de langages différents par paradigme…

Pour faire court : fr.wikipedia.org/wiki/Liste_des_ … grammation

et ça doit pas être complet…

Oui ok, y a les langages historiques, c’est pas parce qu’ils sont historiques qu’ils sont à apprendre absolument. C’est d’ailleurs pour ça qu’on les a remplacés… Si non pourquoi pas proposer QBASIC ?

Dans cette liste, il doit y en avoir un bon nombre qui sont l’oeuvre de dev. un peu mégalo…

Donc mon avis, c’est que je ne comprends pas pourquoi conseiller ou proposer à des gens des langages inutilisés ou presque, sauf s’il connaît déjà tous les incontournables, et que c’est pour sa culture personnelle.

Ha oui COBOL c’est super cool et c’est en plus super demandé en ce moment dans les banques… je trouve pas que ce soit une bonne raison de le proposer…

Parreil pour D, Vala et tous ces langages que très peu de gens utilisent.

Donc selon moi et pour répondre au PO et je ne prêche pas pour ma paroisse car si non je proposerai le C :

S’il veut faire de l’appli :

Il voulait un langage simple pour débuter… Donc si on est un minimum correcte avec lui, on oublie C, C++, Java. (pas que ce soit insurmontable, mais je pense pas qu’un mec qui demande quelque chose de simple ait envie par exemple de comprendre les pointeurs du C, les 100 façon différentes de faire la même chose en C++, le tout objet du Java)

C# c’est cool (ça peut être très compliqué), mais pas portable et mono n’est pas évident à prendre en main.

Visual basic (le vrai l’ancien) est mort, VB.NET n’a de VB que la syntaxe et de toute façon, non libre.

Pascal est devenu accessible avec lazarus mais qui écrit avec ça aujourd’hui ?
Gambas ? MDR…

Je pense qu’il est préférable de préconiser Python… pour la doc, le nombre d’exemples et le grand nombre de personnes et de forums dédiés. Langage utilisé partout, en procédural, objet, dans des framework web…

S’il veut accéder au Net, c’est 3 langages qu’il faudra apprendre…
HTML, CSS obligatoire. Et php. (car le plus simple à installer car inclu dans wamp et lamp.)

[size=85]haaaaaaa, sur ce, et parce que j’ai un peu trop fêté ce repas :smiley:, et parce que j’ai dû éditer 50 fois ce post pour essayer de dire correctement mon opinion, je vais retourner à table :slightly_smiling:[/size] :laughing-rollingyellow:

Vala est multiplateforme. Ca fonctionne pas mal et est plutôt utilisé en lien avec GTK. Si c’est pour une initiation, c’est pas mal pour commencer pour ensuite se frotter à des langages comme C++ (qui parfois est un peu casse-bonbons).

Pour rappel, le compilateur Vala traduit les fichiers Vala en C puis compile ces fichiers C. De fait on reste proche de C avec des notions objets similaires à C++.

Je rejoins très fortement les commentaires de ‘vohu’.

De mon point de vue :

[ul][li]pour programmer des logiciels utilitaires : Python si on souhaite un truc très portable, non compilé et où les performances ne sont pas obligatoires, C si on souhaite quelque chose de plus performant et compilé ;

[/li]
[li]pour programmer des jeux et des logiciels professionnels : Java si on souhaite du portable, non compilé et pas nécessairement ultra performant, C++ si on souhaite concevoir une appli super performante et très complexe, Python pouvant remplacer avantageusement ces deux langages si on n’a pas besoin d’optimiser les performances (du coup je déconseille le Java au profit du Python) ;

[/li]
[li]pour gérer les bases de données : SQL, incontournable bien évidemment ; si on s’oriente vers du NoSQL, alors n’importe quel langage fera l’affaire (y compris le JavaScript) ;

[/li]
[li]pour programmer un site web : HTML + CSS + JavaScript et rien d’autre (avec node.js et les bases NoSQL, je ne vois vraiment plus l’intérêt de coder en PHP qui a une syntaxe lourdingue et illisible) ; PHP quand même si on a besoin de reprendre un site dont on n’est pas l’auteur ;

[/li]
[li]pour programmer un système d’exploitation : C + Assembleur (Linux est écrit de cette façon) ;

[/li]
[li]pour programmer sous le pack MS Office : VBA, ça vous permettra de transformer votre PC Windows ultra relou en un esclave qui vous fera gagner des jours de boulot entiers ;

[/li]
[li]pour programmer des systèmes embarqués comme des micro-robots, des missiles ou des systèmes embarqués de ce genre : Assembleur.[/li][/ul]

En guise de synthèse (et en ce qui me concerne) :

Le Python est le langage à tout faire, celui que j’utilise par défaut, car il peut être orienté fonctionnel ou objet, qu’il n’y a pas besoin de compiler, que sa syntaxe est claire et simple, qu’il est très portable et que ses performances sont tout à fait correctes.

Lorsque j’ai besoin de performances et que je n’ai pas besoin d’utiliser le paradigme objet, je code en C.
Lorsque je veux des performances avec de l’orienté objet, du C++.

Le HTML + CSS + JavaScript suffisent à eux seuls pour coder un site comme Facebook (je n’exagère pas). La base de données NoSQL (par exemple MongoDB) s’administre en JavaScript (oui oui).

Le VBA m’est indispensable pour gagner du temps dans mon boulot. Si comme moi vous travaillez avec MS Office au boulot, je vous invite très fortement à apprendre ce langage (au moins les bases).

Le SQL est obligatoire dès qu’on commence à s’intéresser aux bases de données structurées (par opposition aux bases de données orientées documents).

Enfin, l’Assembleur est parfait pour s’amuser et bien comprendre le fonctionnement d’une machine. C’est surtout très utile pour débugguer des logiciels quand on n’a pas le code source.

Trois petits points:

  • le vba, uniquement si tu vis dans un monde de merde
  • le java, uniquement si tu n’as pas compris que des trucs comme python sont mieux à tout point de vue
  • le php n’a pas une syntax crade; il est rare de trouver un langage dégeulasse (sauf le java peut-être …), trouver des devs cochons est en revanche simple;

Attention la chasse au troll poilu et puant ne s’arrête jamais … et c’est tant mieux quand on voie la teneur de tes [strike]réponses[/strike] régurgitations :whistle:

@Cluxter : La force de Java est son écosystème extrêmement foisonnant, tu peux même faire de l’embarqué sur des cartes faite pour (aJile).
Pour ce qui est de l’assembleur ce n’est vraiment pas quelque chose que je recommande, le C te simplifie quand même grandement la tache sans perte de perf ni de possibilité. L’assembleur c’est marrant 5 min, faire une boucle, afficher “hello world”, mais si on tient a sa santé mentale il vaut mieux le réserver à des taches ultra spécifique. Sinon autant lui recommander le [urlfr.wikipedia.org/wiki/Brainfuck]Brainfuck[/url]:mrgreen:

Tout le monde n’ayant pas la chance de vivre dans le monde merveilleux de ‘haleth’, je recommande fortement le VBA pour nous autres, petites sous-merdes du genre humain, qui auraient l’obligation de payer leurs factures et de travailler avec le pack MS Office imposé par leur entreprise (comme c’est le cas dans 95 % des entreprises en France).

Ceci étant dit, libre à chacun de perdre du temps et de vivre dans une bulle imaginaire.

Zut, j’ai un travail imaginaire, avec des collègues imaginaires, et une paie imaginaire :blush: … comme 5% des gens, si j’en crois tes chiffres ?

Je note que tu es d’accord avec moi: tu subis cette décision, tu n’y adhères pas.

Effectivement, ceux qui ont l’obligation de travailler avec MSOffice, VBA est un super avantage.

[quote=“haleth”]Zut, j’ai un travail imaginaire, avec des collègues imaginaires, et une paie imaginaire :blush: … comme 5% des gens, si j’en crois tes chiffres ?

Je note que tu es d’accord avec moi: tu subis cette décision, tu n’y adhères pas.[/quote]
La vie est faite de compromis, que veux-tu. Je doute que 100 % de ce qui se passe dans ta vie correspond exactement à ce que tu souhaites. Ceci étant dit, je suis d’accord avec toi, c’est une décision que je subis.
Mais ce n’est pas le sujet du fil.

Pour en revenir à PHP, c’est la lisibilité de la syntaxe que je trouve affreuse. Python s’affranchit au maximum des caractères inutiles à la lecture grâce à une syntaxe qui impose la lisibilité.

Prenons cet exemple, à 6:30 : www.youtube.com/watch?v=ufmzc2sDmhs&t=6m30s

Python n’a pas besoin des parenthèses, des accolades, des points-virgules et des dollars. Ca fait un paquet de choses en moins qui allègent le code et qui clarifient la lecture.

Il me semble qu’on peux manipuler des fichiers MSoffice depuis python ( ce langage à des bibliothèques pour presque tout …)
win32com.goermezer.de/content/category/7/86/192/
En relisant ce post depuis le début, j’ai relu les stats des langages utilisés par debian, et suis très étonné de trouver encore du FORTRAN!
C’est un des langage avec lequel j’ai débuté, et je ne pensais pas qu’il était encore utilisé dans ma debian!

Et je vais aussi corriger le titre de ce post , car effectivement “language”, ça pique les yeux!

Il ne s’agit pas de manipuler des fichiers Office sans Office, mais d’ajouter des fonctionnalités au documents lors de l’édition avec Office lui même (Macros)

ça existe aussi, par ex pour MSword 2007

Tu as aussi OleFileIO_PL