Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[HS] Langages interprétés, vos avis

37 réponses
Avatar
Bzzz
Chalut liste,

je t=C3=A2che de reprendre le cours une vieille arl=C3=A9sienne dans mes
projets et je m'interroge sur le langage (interpr=C3=A9t=C3=A9) =C3=A0 util=
iser.

J'ai besoin de p=C3=B4mal de libs: TCP/IP, PostgreSQL, XML, graphic
plotting, g=C3=A9n=C3=A9ration de PDFs (l=C3=A0, pt=C3=AAt en PHP, =C3=A0 c=
ause de la=20
qualit=C3=A9 des frameworks que je ne n'ai retrouv=C3=A9e nul part), SSL,
templating/g=C3=A9n=C3=A9ration de HTML, ORM, etc.

Pour b=C3=A2tir un svr d'application qui tournera sans doute sur une
machine r=C3=A9cente, mais doit pouvoir, le cas =C3=A9ch=C3=A9ant, tout aut=
ant
tourner sur un vieux bousin (P3-800MHz par ex.) avec peu de RAM.

Python semblait un bon concurrent, mais s'il est blind=C3=A9 de libs,
il est tr=C3=A8s lent et surtout ne semble tjrs pas scaler sur les
multi-cores (et les espaces sont _vraiment_ chiants), et bouffe
de la RAM, donc exit.

Dans les autres, reste donc (=C3=A0 vue de libs): Perl, Ruby,=20
(=C3=A0 vue de nez) TCL & LUA; plus ceux que j'ai oubli=C3=A9.

Java est bien =C3=A9videmment non-envisageable.

La chose devant =C3=AAtre un "genre d'openerp" (tout du moins =C3=AAtre
modulaire, avec gestion des d=C3=A9pendances, une partie "admin"
(implantation des modules) et une partie user), =C3=A7a serait
bien que le langage ne soit pas trop verbeux (un peu comme
python) et rapide.

Mon but est d'=C3=A9viter de me planter pour ne pas avoir =C3=A0=20
recommencer de z=C3=A9ro dans qq mois et d'=C3=A9viter d'avoir =C3=A0
r=C3=A9-=C3=A9crire la roue.

--=20
Natsumi : J'comprends pas la pol=C3=A9mique qu'il peut y avoir autour de la
chirurgie esth=C3=A9tique, =C3=A7a reviens juste =C3=A0 un change=
ment de skin

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20131123213204.7e45b94f@anubis.defcon1

10 réponses

1 2 3 4
Avatar
Sylvain L. Sauvage
Le samedi 23 novembre 2013 23:12:43 Bzzz a écrit :
[…]
> Ok, donc tu peux oublier les langages « interprété s »¹,
> Python étant un des plus rapides.
> (Pour ce que ça vaut → http://shootout.alioth.debian.o rg/ )
[…]

Ben, ça n'est pas tout à fait ce que dit cette page:
http://onlyjob.blogspot.fr/2011/03/perl5-python-ruby-php-c-c-l
ua-tcl.html la différence avec perl est qd même "intér essante"
(wai, je sais, perl = mêmes PBs que C si on code un tant soit
peu goret).



0. Qui c’est ce type ? C’est publié quelque par t de sérieux ?
Nan, c’est un nain nonyme pas connu sur un blog. (Ouais,
argument d’autorité inversé, mais quand même, j⠀™ai plus
confiance dans ce que dit le shootout (que beaucoup ont vu,
commenté, corrigé…).)

1. Ses tests ne portent que sur la manipulation de chaînes de
caractères (et le ramasse-miettes).

2. Ce type code comme un pied. Il ne tient pas compte du
modèle mémoire des langages. Donc, effectivement, il arrive à  
bien faire foirer ses tests à ceux qu’il n’aime pa s.
Ex. pour Java : les String sont immuables, quand on travaille
sur des chaînes de caractères muables, il faut utiliser des
classe de chaînes de caractères muables, comme les StringBuil der
ou les StringBuffer. Pas étonnant qu’il lui fasse exploser la
RAM et donc le ramasse-miettes.
Plus loin, une mise à jour où certains lui ont fait remarqu er
qu’il avait comparé des pommes et des oranges. Que fait-il ? Il
ne change pas ses tables, il met juste une note dans un coin
(donc charge au lecteur de refaire les graphiques dans sa tête,
s’il ne s’est pas arrêté avant).
Juste après, il compare la verbosité de Java aux autres
langages. En gros, son programme Java fait tout avec des
primitives alors que pour les autres langages, il charge une
bibliothèque et appelle une fonction. Rebelote sur les
remarques : « nan mais je triche mais c’est parce que Java c’est
vraiment pas bien. » Ouais. Pas biaisé le gars…
Ne parlons pas du fait que pour certains langages, il fait du
remplacement de chaîne et pour d’autres, du remplacement
d’expression rationnelle…

En dehors de ces supercheries, et même quand on utilise les
bonnes classes et fonctions, si on veut comparer un peu plus
correctement ce que restera des pommes et des oranges, il faut
aussi s’intéresser à ce que fait chaque langage pour une
opération pas forcément aussi simple qu’il y paraî t : p.ex. est-
ce qu’il y a des vérifications supplémentaires (des i ndices de
tableau, de la mémoire utilisée…) ?

Nan mais sans déc., ce gars a réussi à me faire dé fendre
Java !
(Moi aussi je trouve Java trop verbeux, avec une API
« spatiale »¹. Mais, d’une part, ses performance s ne sont pas si
terribles (il s’en tire bien sur beaucoup de vrais tests) et,
d’autre part, je suis allergiques aux dogmes, mèmes et aut res
psittacismes. Surtout les choses « naturelles » ou
« évidentes ». (Un simple argument comme « trop ver beux » me
suffit, hein.))

¹ « spatiale » : une hiérarchie de classes trè s conceptuelle
(c’est joli en diagramme) mais pas pratique du tout.

’fin bref, de toute façon :
1. pour la vitesse d’exécution d’un programme, il n’y a qu’un
test : avec le programme lui-même ;
2. « premature optimization is the root of all evil » D. Knut h
(ou à peu près).

[…]
Ouais, là, c'est pas gagné (à moins que perl ou autre ne
permette de faire ça d'une façon triviale; par ex. sans
avoir à gérer manuellement des sémaphores, etc).



1. Les sémaphores, c’est très 1965. Tu sais qu†™on a inventé
mieux² depuis ? (moniteurs, co-routines, acteurs…)

2. Si tu décomposes correctement ton programme³ en modules /
services, les communications (et donc les risques de concurrence
et les besoins de s’en protéger) seront simplifiées e t tu
pourras encore mieux utiliser des modules / services déjà fai ts.
P.ex. tu mets un module métier dans un service HTTP et tu peux
utiliser les techniques et logiciels de répartition de charge,
cache et réplication qui existent déjà.

3. Certains langages intègrent des facilités de
parallélisation. C’est p.ex. un gros argument de vente de :
— Java où tout objet peut être un moniteur ;
— Go(lang) et ses [cg]oroutines ;
— Erlang et son modèle acteur, etc.


² plus faciles/simples à manipuler.

³ je dirais même SI puisque tu as des BD, du GUI…


Pour finir, pour chaque langage, tu peux faire une simple
recherche « <langage> sucks » et tu comprends alors pourquoi il
y a encore et toujours des optimistes qui pensent pouvoir créer
le langage parfait…

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Sat, 23 Nov 2013 21:32:04 +0100
Bzzz wrote:

Merci à tous pour vos réponses et commentaires.

J'en retire que:

* un langage interprété n'est ptêbinpô la meilleure sol ution,

* comme je le pressentais, un morcellement en +sieurs langages
peut être très intéressant, chaque langage ayant son propre
champ d'excellence (et surtout ses propres facilités),

* je n'aurais sans doute pas tout à écrire (je pense notamment
à erlang chicago boss que je viens de découvrir et qui semble
méchamment bien convenir à ce dont j'ai besoin, tout du moins
sur le papier - peut être y-a-t-il mieux dans d'autres
langages, je vais creuser la question),

* on peut (relativement) facilement lier bcp de langages à des
libs C existantes, ce qui ouvre le champ des possibles en grand,

* Obilan Vedor (là, c'est trop compliqué pour expliquer ça
maintenant, parce que ça date de la conversion du grand-père
transsexuel d'Obiwan au TCP/IP et l'histoire est trop longue;)

--
<Cucu> Tu comprends, ce que je veux, c'est qu'enfin,
une fille ait peur de me perdre...
<Knight2000> Réincarne toi en clés de voiture.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
fabrice régnier
'lut,

J'arrive un peu après la bataille, ok.

As-tu regardé du coté de node.js (http://nodejs.org/) ? C'est un peu
fashion en ce moment. Du javascript sur le serveur avec un modèle
orienté évènement. C'est sensé être rapide et avoir déjà de nombreuses
libs à proposer.

Perso, je n'ai pas encore testé en profondeur (ie: un vrai site pour un
vrai client) mais ce n'est pas l'envie qui manque.

a+

f.


Le 23/11/2013 21:40, Bzzz a écrit :
Chalut liste,

je tâche de reprendre le cours une vieille arlésienne dans mes
projets et je m'interroge sur le langage (interprété) à utiliser.

J'ai besoin de pômal de libs: TCP/IP, PostgreSQL, XML, graphic
plotting, génération de PDFs (là, ptêt en PHP, à cause de la
qualité des frameworks que je ne n'ai retrouvée nul part), SSL,
templating/génération de HTML, ORM, etc.

Pour bâtir un svr d'application qui tournera sans doute sur une
machine récente, mais doit pouvoir, le cas échéant, tout autant
tourner sur un vieux bousin (P3-800MHz par ex.) avec peu de RAM.

Python semblait un bon concurrent, mais s'il est blindé de libs,
il est très lent et surtout ne semble tjrs pas scaler sur les
multi-cores (et les espaces sont _vraiment_ chiants), et bouffe
de la RAM, donc exit.

Dans les autres, reste donc (à vue de libs): Perl, Ruby,
(à vue de nez) TCL & LUA; plus ceux que j'ai oublié.

Java est bien évidemment non-envisageable.

La chose devant être un "genre d'openerp" (tout du moins être
modulaire, avec gestion des dépendances, une partie "admin"
(implantation des modules) et une partie user), ça serait
bien que le langage ne soit pas trop verbeux (un peu comme
python) et rapide.

Mon but est d'éviter de me planter pour ne pas avoir à
recommencer de zéro dans qq mois et d'éviter d'avoir à
ré-écrire la roue.




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/52948484$0$2049$
Avatar
Bzzz
On Sat, 23 Nov 2013 21:32:04 +0100
Bzzz wrote:

Pour clore la chose, je crois que je vais m'embarquer vers du
compilé, et plus particulièrement vers ADA.

Parce que plus j'en lis sur ce langage, plus il me semble que
c'est le langage qui permet de (presque) tout faire, et de le
faire bien.

Bon, le côté sombre, c'est qu'en tant que bidouilleur je crois
que je vais en chibaver parce que c'est méchamment strict comme
langage…

--
<Kazu> t'as pas un soft qui transformerait windows en linux ? =(
<Misterbretzel> un purgatware ?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
raphael.poitevin
Bzzz writes:
Pour clore la chose, je crois que je vais m'embarquer vers du
compilé, et plus particulièrement vers ADA.

Parce que plus j'en lis sur ce langage, plus il me semble que
c'est le langage qui permet de (presque) tout faire, et de le
faire bien.



L'inconvénient, c'est qu'il faut obligatoirement s'installer sur un
bidet pour coder !

Je sors ! Heureusement, c'est vendredi !
--
Raphaël
« Tout chercheur plongé dans la science subit une poussée de bas en haut susceptible de lui remonter le moral. »
Monsieur Cyclopède

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
jdd
Le 29/11/2013 19:25, Bzzz a écrit :

Bon, le côté sombre, c'est qu'en tant que bidouilleur je crois
que je vais en chibaver parce que c'est méchamment strict comme
langage…



j'arrive un peu tard, mais as-tu essayé le FORTH?

pour un bidouilleur, rien de mieux

jdd


--
http://www.dodin.org

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Fri, 29 Nov 2013 19:34:58 +0100
(Raphaël POITEVIN) wrote:

L'inconvénient, c'est qu'il faut obligatoirement s'installer sur un
bidet pour coder !

Je sors ! Heureusement, c'est vendredi !



Apôkompri, précise!

--
It's lucky you're going so slowly, because you're going in the wrong
direction.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Fri, 29 Nov 2013 19:52:20 +0100
jdd wrote:

j'arrive un peu tard, mais as-tu essayé le FORTH?



Si mes souvenirs sont bons, c'était le BIOS des sparks qui était
écrit en Forth.

pour un bidouilleur, rien de mieux



Waimènan, les côtés qui me plaisent bien dans ADA, c'est d éjà la
maturité du langage, le fait qu'il soit utilisé dans des projets
de grande envergure et très critiques (avionique, rail, systèmes
de surveillance aérienne, GPAO, etc); et que si tu fais bien
ton boulot en amont, tu ne reviens plus sur un projet.

Le plus intéressant, c'est que tu en chibaves pour la compilation,
mais qu'une fois que ça compile, si ça plante, c'est que l'analyse
était mauvaise.

Donc, ça va m'obliger à faire les choses comme il faut: analyse
chiadée, méthode HOOD, découpage intelligent pour réuti liser
facilement, etc;
bref à faire ce que (presque) plus personne ne fait plus, de faço n à
être à même de clôturer "définitivement" un projet (lire: ne jamais
avoir à revenir dessus, excepté lors d'une évolution ou d'une
maintenance).

Par ailleurs, j'ai d'autres projets qui nécessitent bcp de
concurrentiel, et ADA me semble tout particulièrement bien loti
dans ce domaine (au moins aussi bien qu'Erlang).

jdd



Journal Du Dredi? ;)

--
FallenDemon: Écoute, pour moi la physique ça se résume à   ça: Il y a
2 chameaux, dont un est vert. Combien pèse le sable quand
il fait noir ?
Kyuubi: ...?
FallenDemon: J'te l'fais pas dire.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Philippe Deleval
On 29/11/2013 19:25, Bzzz wrote:
On Sat, 23 Nov 2013 21:32:04 +0100
Bzzz wrote:

Pour clore la chose, je crois que je vais m'embarquer vers du
compilé, et plus particulièrement vers ADA.

Parce que plus j'en lis sur ce langage, plus il me semble que
c'est le langage qui permet de (presque) tout faire, et de le
faire bien.

Bon, le côté sombre, c'est qu'en tant que bidouilleur je crois
que je vais en chibaver parce que c'est méchamment strict comme
langage…



Bonjour à tous

je suis utilisateur de ADA depuis le début, je m'en tire à l'expérience,
mais si Bzzz n'aime pas la verbosité de java, aimera-t-il la verbosité
de ADA croissante de version en version?

Philippe Deleval

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
jdd
Le 29/11/2013 20:12, Bzzz a écrit :

Le plus intéressant, c'est que tu en chibaves pour la compilation,
mais qu'une fois que ça compile, si ça plante, c'est que l'analyse
était mauvaise.



ben ca c'est vrai partout

Par ailleurs, j'ai d'autres projets qui nécessitent bcp de
concurrentiel, et ADA me semble tout particulièrement bien loti
dans ce domaine (au moins aussi bien qu'Erlang).



si tu veux t'endurcir il faut programmer en assembleur :-)

il y a longtemps que j'ai arrété, mais mes débuts en programmation
c'était du microcode de HP-41C (une calculatrice). Pour le tester il
fallait le bruler sur deux éproms (c'était du dix bits, avec calculs
en BCD, rien que ca) et en cas d'erreur effacer aux ultra-violets et
recommencer

très formateur. Une journée pour dix lignes, mai qu'est-ce que ca
allait vite :-)

après je suis passé au forth : mafonction moncode ;, RPN, pile de
data, code réentrant et pas de module de plus d'un écran 85x24

http://home.hccnet.nl/a.w.m.van.der.horst/figforth.html

pour debian

http://packages.debian.org/search?keywords=gforth

c'est à peu près le contraire d'ADA... léger, interprété pour la
version d'essai, compilé ensuite avec un code impossible à retro
engénier, si le source est bon facile à maintenir, très compact (bien
plus que le C), pratiquement aussi rapide que l'assembleur.

seul défaut, mais de taille, c'est tellement configurable qu'une fois
que tu as commencé personne ne peut reprendre ton code.

Imagine que tu programme un tableur, dès ce moment tu peux intégrer
ton tableur dans n'importe quelle application sans aucune manoeuvre.
Tes modules sont simplement des ajouts au langage. A partir de ton
programme source, tu peux décompiler n'importe quel module si tu as
oublié la syntaxe :-)

la compilation finale n'en est pas une, c'est juste un nettoyage du
code pour supprimer tout ce qui est inutile

on en bave pendant deux ou trois mois, ensuite on programme tous les
micro controleurs et le reste

un monde de geeks :-) - il y avait même un forth pour HP-41 :-) - j'en
ai un sur mon smartpĥone :-)

http://sourceforge.net/projects/androidforth/

dommage, j'ai bifurqué vers tout autre chose..

jdd

--
http://www.dodin.org

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
1 2 3 4