Votre language préferé
-
@‘SCAREX’:
Java -> multiplateforme et bas niveau mais très mauvaises performances
Javascript -> je sais pas si on peut appeler ça un langage de programmation vu que tout dépend de l’interpréteurJava dépens aussi de l’interpréteur, j’ai envie de dire… Seul différence, il n’en existe qu’un seul à l’instar du javascript qui en a une par navigateur. Et encore, je pense qu’on pourrai considérer Android comme ayant son propre interpréteur Java…
Sinon, mon préférer reste le java, parce que c’est multi plateforme, et tous ce gère nativement par pointeur.
Je pense que c’est le plus gros défaut du C(++), nativement, toute les données sont copié, et sa deviens trop vite le bordel…
Après C(++) a l’avantage d’avoir THE feature manquante à java, les paramètre par défaut (ouai, on peut bricolé avec les annotation, ou avec une appellation de la même méthode, mais c’est moins pratique) -
De la JVM*
Et il y en a bien plusieurs.
La JVM d’android par exemple n’est pas la même que sur pc ^^
La JVM d’openJDK n’est pas la même non plus que celle d’oracle (par contre elles sont très très proche). -
Les interpréteurs java n’ont pas de différence au niveau code à l’instar du javascript.
Pour ce qui est du C++, ça copie les données uniquement s’il n’y a pas de pointeurs, si tu donnes un pointeur la donnée n’est pas copiée.
Pour ce qui est des paramètres par défaut : en java tu peux créer une fonction sans le paramètre voulut et renvoyer vers une fonction plus générale, c’est ce que tout le monde fait.
-
Java par des gens qui savent très bien l’utiliser peut se révéler (assez) performant. Cela dépend aussi, en effet, de l’implémentation de la JVM (plus aucune JVM de fait de l’interprétationde bytecode actuellement je pense, ce sont tous des compilateurs JIT).
JetBrains, la boite qui fait les éditeurs de la ligne IntelliJ Idea, maîtrise le Java et le montre dans chacun de leur produit.
C’est par contre un langage ultra verbeux, avec des limitations pénibles (voulues par la conception du langage à la base). C’est probablement pour ça que JetBrains propose Kotlin. Les limitations imposées par la JVM sont toujours là, mais c’est beaucoup plus léger à écrire et emprunte au C# toute la syntaxe un peu moderne qui facilite la vie (plus quelques autres emprunts à d’autres langages).
C# est disponible sous Linux via son implémentation Mono et, depuis un peu moins d’un an, sous son implémentation officielle, qui a été open sourcée (bien entendu, les morceaux de bibliothèque qui accèdent au monde .Net exclusif Windows ne sont pas disponibles).
Javascript est normalisé sous le nom ECMAScript. Faire du Javascript dans un environnement Node.js par exemple est conforme à la norme. En faire sous IE, c’est un autre problème…
Ça c’était le factuel.
Passons au non factuel :
PHP est un truc pas top qui s’est transformé en truc immonde les versions passant, mais c’est comme la VHS, ça a été populaire à un moment…
Python est effectivement plutôt réservé à de l’exploration ou du script, même s’il est derrière des framework web comme Django qui est plutôt présent sur le web. Son indentation particulière fait partie de sa force d’expression. C’est mon langage couteau suisse (le langage qui permet de faire un petit truc rapide quand on en a besoin).
Brainfuck est rigolo. Pour la vitesse au-dessus, il y a WhiteSpace.
C++ et C#, j’en fait 80% des jours de l’année, je ne sais même plus si je les aime ou pas. Ils ont leurs avantage et défauts, mais de toute façon, je bosse avec.
-
@Mokona Tu fait quoi comme études/boulot ?
-
C++ > all
-
@‘isador34’:
C++ > all
Niveau performances c’est ce qu’il y a de mieux
-
Mais c’est un langage plutôt lourd en fonctionnalité qui a pleins de subtilité de ce que j’ai pu voir sur linuxfr.org
Peu de gens connaissent toutes les fonctionnalités.Après en langage performant et surtout sécurisé, il y a rust qui me semble vraiment pas mal.
-
@‘SCAREX’:
@‘isador34’:
C++ > all
Niveau performances c’est ce qu’il y a de mieux
Et pas queue
-
Queue ? Plutôt “que”, nan ?
-
Rust est bien, avec des concepts vraiment intéressant.
Par contre la courbe d’apprentissage est assez rude, arriver à compiler quelque chose demande un peu d’habitude car le compilateur est intransigeant (c’est en partie ce qui lui permet de produire du code solide derrière).
La dernière fois que j’ai regardé, il y avait encore pas mal de problèmes de performances (c’était il y a 4 ou 5 mois).
-
Mozilla vont progressivement remplacer les composants C++ de Firefox par du rust.
Dans firefox 48, le parser MP4 a été remplacé par un nouveau codé en rust. Même perf, plus de sécurité.Et mozilla travaille sur un nouveau moteur en rust plus optimisé que gecko (pour le coup rien à voir avec le langage utilisé, c’est juste qu’ils ont un code plus efficace qu’avant)
Et c’est très prometteur : https://www.youtube.com/watch?v=u0hYIRQRiws -
Chaque Langage à ces avantage et inconvénient. C++ est particulièrement adapté aux gros calcul tel que les simulation et les jeux, mais à un très gros défaut : il n’existe pas toute les fonctions sur tous les OS. Il faut donc adapté le code a chaque OS. Java à l’avantage d’être Cross-Plateform. Un code Java fonctionnera sur tous les OS.
Dans un futurs proche, et si l’évolution continus, le seul avantage du C++ partira en fumée. Le nombre de personne sur Linux ne faisais qu’augmenté, développer les jeu sur Windows et Linux deviendra une obligation. Mais face au bordel que c’est, beaucoup se tournerons vers des alternatives plus économique, au détriment de certaine optimisation. Optimisation qui seront devenus inutile étant donné la croissance exponentielle des composant informatique…
-
Sinon, pour info : http://www.tiobe.com/tiobe-index/
-
Brainfuck anyone ?
++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>-.+<<<<<<<<<>>>>>>>>>>>>>>>–-.+++<<<<<<<<<<<<<<<>>>>>>>>>>>>>-.+<<<<<<<<<<<<<>>>>>>>>>>>>>>>—.+++<<<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>—.+++<<<<<<<<>>>>.<<<<>>>>>>>>>++.–<<<<<<<<<>>>>>>>>>>>>>—.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>+++.—<<<<<<<<<<<<<<>>>>>>>>>>>>>>>—.+++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>+++.—<<<<<<<<<<<<<<.
-
@Robin, faut créer une balise [Bullshit] pour ce genre de thead

[Software] c’est pas adapté -
Je suis étonné de pas voir plus de langage de programmation fonctionnelle, il y a Haskell qui est vraiment excellent, d’ailleurs si la récursivité ne vous fait pas peur, ce langage est génial.
Il y a Pharo aussi, bon c’est peut-être parce que j’ai travailler avec les concepteurs pendant 5 mois, mais franchement il est cool. C’est un langage full objet (pas comme JAVA :p), une class est un objet par exemple. C’est du cross platform, c’est un langage qui bouge et est multi paradigme (il y a une notion de block qui permet d’avoir du lanbda calcul).
J’ai fait beaucoup de C aussi, et franchement, beaucoup de gens le critique mais ça reste un des langage qui permet de parler à la machine d’assez bas niveau (la preuve c’est qu’avec le compilateur c, on peut facilement sortir de l’assembleur). On peut dire ce qu’on veut, le C est vraiment loin de mourir, d’autant plus qu’il est encore enseigner dans les universités (même à 42 c’est dire).
En ce qui concerne les langages que je n’aime pas trop, il y a le javascript, trop de bibliothèque, c’est l’anarchie ce truc et me parlez même pas de JQuery, cette bibliothèque est devenu inutile depuis des lustres, surtout qu’elle a été utiliser la plupart du temps pour la fonction ajax().
Le rust, on m’en parle vraiment en bien, mais je peux pas. J’ai survolé la doc, pour un langage qui se dit multi paradigme, bah excusez moi mais j’ai pas trouver le moyen de créer une class avec un héritage simple. J’ai bien vu qu’il y avait les Trait, mais cette structure ne devrait pas être utilisée pour faire de l’héritage simple.
-
JQuery inutile ?!?
-
En quoi Java n’est pas un langage full-objet ?
-
@‘Superloup10’:
En quoi Java n’est pas un langage full-objet ?
Il faut faire un peu de Pharo (ou autre dialecte de Smalltalk) pour s’en rendre compte

Plus sérieusement. En Pharo, tous les types sont des objets. Il n’y a pas de type “int” par exemple, qui aurait un traitement spécial. Mais plus que ça, “for”, “if”,… sont aussi des messages envoyés à des objets. Ce ne sont pas des “mots-clés”.
Une classe… est un objet.
Absolument tout est objet et messages envoyés à des objets, avec une syntaxe de base très minimale.
