Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 14-07-2016 16:28:20

MoxSite
Membre
Inscription : 28-07-2015

Un langage proche de Python (facile) pour tout faire ?

Bonjour les Linuxiens :-),

Je suis à la recherche d'un langage informatique qui pourra me permettre de tout faire, du moins beaucoup de choses qui demandent de la performance (rapidité), mais qui reste facile à apprendre et à utiliser. Ce langage existe pour je dois l’inventé ? big_smile.

Question langage, je maîtrise PHP, j'ai même créé un véritable CMS 100% MVC avec ce langage pour mes besoins, puis j'utilise depuis peu Python comme langage de scripting ou même pour faire de petits programmes, mais je le trouve pas assez rapide dans certains cas, alors je me demandais s'il existait un langage un peu comme Python, mais plus rapide et qui me permettra de faire un peu de tout : gros programmes avec ou sans interface graphique, scripts, site web, etc.

Une idée ?

Hors ligne

#2 14-07-2016 17:29:11

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

Hello,

Ruby pourrait être une piste. Après, les langages, il sont souvent interchangeables.
Il y a sans arrêt de nouveaux langages qui promettent monts et merveilles. Mais si tu es le seul à savoir l'utiliser, ça va vite t'embêter.
De plus, les besoins des différentes applications sont souvent très différents. Pourquoi vouloir utiliser un même langage pour du web et pour du calcul haute performance ?
Pour avoir des programmes qui marchent, tu peux regarder du côté de OCaml ou Haskell. Mais c'est plus dur à coder.
Pour avoir des programmes faciles à coder, tu peux utiliser des langages permissifs comme PHP, Python ou JS. Mais c'est extrêmement difficile de coder proprement, puisque ces langages te laissent tout faire… Difficile aussi de vraiment comprendre ce qui est efficace en terme de performances.
Pour avoir des programmes très efficaces, tu vas vouloir chercher des trucs qui se compilent en natif et s'optimisent bien… Pendant longtemps les lib de calcul ont été en Pascal parce que le compilateur était plus efficace que le compilo C.
Java et C++, des usines à gaz dans lesquelles 50% des lignes de codes sont des administrativeries… Et comme en C, les bugs sont faciles à générer, mais moins à corriger…

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#3 14-07-2016 17:46:46

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

Tu peux regarder  ici même si ça ne donne pas grandes explications

http://www.developpez.com/actu/87863/Me … on-l-IEEE/
http://benchmarksgame.alioth.debian.org/

Je te déconseille le Java, il parait que c'est un super langage mais comme personne n'arrive à faire de logiciel stable avec, excepté Libreoffice big_smile, il vaut mieux l'éviter.
Perso, les softs en Java ça me file des boutons.

Comme dit Captnfab, ça dépend un peu ce que tu veux faire. Tu as une idée en tête ?

Hors ligne

#4 14-07-2016 17:47:32

MoxSite
Membre
Inscription : 28-07-2015

Re : Un langage proche de Python (facile) pour tout faire ?

captnfab a écrit :

Hello,

De plus, les besoins des différentes applications sont souvent très différents. Pourquoi vouloir utiliser un même langage pour du web et pour du calcul haute performance ?



Pour ne pas en apprendre d'autres tout simplement, car je n'ai pas beaucoup de temps, le peu de temps qui me reste, j'aimerai le consacré à un langage qui me permettra de faire beaucoup de choses, un peu comme Python, dommage que Python n'est pas un langage bas niveau (natif ?). A titre d'exemple, une fois j'ai voulu créer un petit programme de sauvegardes différentielles, lorsque j'avais beaucoup de données à copier (50Go / -+300000 fichiers), ça moulinait grave avec Core i5, alors qu'un simple copier/coller était 4 fois plus rapide.

Ruby est un langage interprété aussi, je pense que PHP 7 est plus rapide avec Opcache, même si ce n'est pas pour faire la même chose.

Hors ligne

#5 14-07-2016 17:52:20

MoxSite
Membre
Inscription : 28-07-2015

Re : Un langage proche de Python (facile) pour tout faire ?

kao a écrit :

Tu peux regarder  ici même si ça ne donne pas grandes explications

http://www.developpez.com/actu/87863/Me … on-l-IEEE/
http://benchmarksgame.alioth.debian.org/

Je te déconseille le Java, il parait que c'est un super langage mais comme personne n'arrive à faire de logiciel stable avec, excepté Libreoffice big_smile, il vaut mieux l'éviter.
Perso, les softs en Java ça me file des boutons.

Comme dit Captnfab, ça dépend un peu ce que tu veux faire. Tu as une idée en tête ?



Je n'ai jamais été attiré par Java. La seule chose que j'aime chez Java c'est Libreoffice et l'IDE d'Oracle NetBeans (une merveille !, un peu subjectif wink). Après c'est une question de goût peut-être.

Dernière modification par MoxSite (14-07-2016 17:52:53)

Hors ligne

#6 14-07-2016 18:16:08

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

Perso, je suis partie sur du C parceque c'est le langage des cartes Arduino... Il faut regarder les libs que tu veux utiliser pour choisir un langage je pense.
La SDL s'interface facilement avec du C ou C++ par exemple.
Regarde des programmes en QT et GTK+ pour les interfaces ça te donnera une idée de que les autres Devs ont choisis.
Il y a le Rust qui fait sont apparitions mais il me parait encore jeune, il faut voir : https://fr.wikipedia.org/wiki/Rust_%28langage%29

Hors ligne

#7 14-07-2016 18:57:41

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

captnfab a écrit :

Hello,
De plus, les besoins des différentes applications sont souvent très différents. Pourquoi vouloir utiliser un même langage pour du web et pour du calcul haute performance ?


MoxSite a écrit :


Pour ne pas en apprendre d'autres tout simplement, car je n'ai pas beaucoup de temps, le peu de temps qui me reste, j'aimerai le consacré à un langage qui me permettra de faire beaucoup de choses, un peu comme Python, dommage que Python n'est pas un langage bas niveau (natif ?).


J'ai peur que ça ne fonctionne pas comme ça. smile
Si le temps est une ressource précieuse pour toi, je te conseille plutôt de te concentrer sur un beau langage, choisi en fonction de ton projet, et de l'étudier en profondeur. Plutôt que de prendre un langage passe-partout marche-bien-nullepart avec lequel tu feras plein de logiciels que tu n'aimeras pas. smile


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#8 14-07-2016 22:15:53

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian Jessie 8.6
Noyau : Linux 3.16.0-4-amd64
(G)UI : Gnome 3.14
Inscription : 29-04-2015

Re : Un langage proche de Python (facile) pour tout faire ?

Pourquoi ne pas utiliser "cython" en complément de python et profiter du meilleur des deux mondes ? Doc Cython

Hors ligne

#9 14-07-2016 22:21:34

Dunatotatos
Membre
Lieu : Arabie Saoudite
Distrib. : Sid
Noyau : linux-image-amd64
(G)UI : tty
Inscription : 24-04-2012

Re : Un langage proche de Python (facile) pour tout faire ?

Par définition des niveau de langages, tu ne pourras pas avoir un langage simple (ie : proche de la compréhension humaine), et rapide comme de l'assembleur. Le Python a un excellent rapport facilité/performance, à condition que tout soit bien implémenté. Pour prendre un exemple (presque) d'actualité, si tu programmes une IA pour jouer au go en testant toutes les parties possibles, ce sera lent. Très lent. Même en assembleur sur un super calculateur. Par contre, si implémente une solution élégante à base de réseaux de neurones et d'heuristique, le résultat arrivera en un temps raisonnable, même si c'est codé en matlab.

Et si une tâche est vraiment lente à cause de l'implémentation de Python, il y a toujours moyen d'interfacer Python avec du C. C'est assez avancé comme technique, mais certaines personnes produisent des modules Python simple à utiliser (comme du Python), mais avec les performances du C.

Je recommande donc très très chaudement Python, tant pour la facilité d'apprentissage, les différentes façons de programmer (multi-paradigme), que pour les performances franchement pas minables. Sans compter qu'on fait de tout avec Python. Les applications qui me viennent à l'esprit sont :

  • service web (Django et consorts)

  • calcul performant sur super calculateur (Threading, Process)

  • calcul scientifique (Numpy)

  • biologie (pymol, biskit, ...)

  • micro-contrôleur, oui oui ! (µPython)

  • et c'est pas fini


Et si tu as vraiment des problèmes d'efficacité (mémoire ou CPU), repense ton implémentation.


Never trust Windows output.

Hors ligne

#10 14-07-2016 23:12:16

sogal
Black Metal Modo
Distrib. : Debian Testing
Noyau : 4.7
(G)UI : Gnome
Inscription : 09-05-2013
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

Merci pour ton commentaire Dunatotatos, cela confirme mon choix pour commencer doucement à apprendre ce language.

Machine perso : Thinkpad x230 Debian Stretch | Machine pro : Thinpad T450 openSUSE Leap 42.2

Hors ligne

#11 15-07-2016 08:06:05

Lancelot du Lac
Membre
Lieu : France
Distrib. : Jessie | Stretch
Noyau : Linux 3.16.0-4-amd64 | 4.5.0-1-amd64
(G)UI : ZSH / LXDE, Openbox | KDE
Inscription : 22-02-2016

Re : Un langage proche de Python (facile) pour tout faire ?

Cette question m'intéresse aussi, mais je ne suis pas sûr de bien comprendre le sens du mot implémentation : c'est la manière dont c'est codé ?

Dell Inspiron 7500 series - Debian Stretch - KDE/openbox - ZSH
Samsung - Debian Jessie - LXDE/pas de graphique - ZSH

Hors ligne

#12 15-07-2016 08:17:47

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

Lancelot du Lac a écrit :

Cette question m'intéresse aussi, mais je ne suis pas sûr de bien comprendre le sens du mot implémentation : c'est la manière dont c'est codé ?


Une bonne implémentation correspond à la manière dont on utilise et met en oeuvre le langage pour arriver à quelque chose de propre, efficace, durable et stable...
Du python bien maîtrisé vaudra toujours mieux que du C mal géré, même si sur le papier le C est plus efficace.


Quelques liens en plus pour  aider à faire son choix, ou le confirmer :
http://www.commentcamarche.net/faq/457- … el-langage
Un avis plus tranché avec de liens vers des bouquins :
https://forum.ubuntu-fr.org/viewtopic.php?id=352537

Hors ligne

#13 15-07-2016 12:09:58

Lancelot du Lac
Membre
Lieu : France
Distrib. : Jessie | Stretch
Noyau : Linux 3.16.0-4-amd64 | 4.5.0-1-amd64
(G)UI : ZSH / LXDE, Openbox | KDE
Inscription : 22-02-2016

Re : Un langage proche de Python (facile) pour tout faire ?

@kao
Merci pour ta réponse, ça m'éclaire ! :-)

Dell Inspiron 7500 series - Debian Stretch - KDE/openbox - ZSH
Samsung - Debian Jessie - LXDE/pas de graphique - ZSH

Hors ligne

#14 15-07-2016 14:43:58

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

@Lancelot
La qualité du code passe aussi par la manière de structurer l'écriture du code, par une syntaxe et une mise en page lisible.
Cela passe par le bon choix des noms de variables, des noms de fonctions, de la répartition des fonctions entre différents fichiers...
Pour le C j'ai trouvé une page intéressante ici que j'essaye de mettre en place dans mon code.
http://emmanuel-delahaye.developpez.com … -codage-c/

Il est aussi possible d'activer les recommandations lors de la compilation du code afin de suivre les conventions communes. C'est plus de travail au début mais un gain par la suite.
Régulièrement, des recommandations sont publiés comme le C11 (en 2011) et un compilateur comme GCC essaye de les prendre en compte. C'est à la fois une aide et un guide pour bien coder.
https://en.wikipedia.org/wiki/C11_%28C_ … evision%29

Hors ligne

#15 16-07-2016 10:35:29

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Un langage proche de Python (facile) pour tout faire ?

Pour les codeurs que ça intéresse, je viens de partager mes premiers pas de codeur ici : https://debian-facile.org/viewtopic.php?pid=183619
Votre avis m'intéresse.

Hors ligne

#16 27-09-2016 13:42:28

cerd
Membre
Distrib. : Arch
Noyau : Linux 4.7.4-1-ARCH
(G)UI : MATE
Inscription : 24-07-2014

Re : Un langage proche de Python (facile) pour tout faire ?

" Un langage proche de Python (facile) pour tout faire ?"

...
Ben du python xD

Plus sérieusement commence sur ce langage pour te lancer si il faut et par la suite tâtonne... j'ai commencé par ça aussi mais la en entré d'école faut que je recommence tout avec java/javascript/php alors... on est obligé d'apprendre non stop, donc l'idéal c'est avant tout de si préparer et après ça passe

Hors ligne

Pied de page des forums