Aller au contenu

Le Linux BAR - Discussion de tout et de rien


Dark26

Messages recommandés

Okay alors va pour eclise, j'l'installe dès que j'ai internet sur mon PC (c'est à dire quand le club info de mon école réouvrira).

 c'est vrai que pour l'instant il n'y a pas de machine virtuelle libre qui implémente complètement le langage

Ca veut dire quoi ? De touts façons j'vais apprendre ça sur le long terme avec mon école, je sais pas si j'en aurais besoin dès le début de la machine virtuelle ...

Lien vers le commentaire
Partager sur d’autres sites

 c'est vrai que pour l'instant il n'y a pas de machine virtuelle libre qui implémente complètement le langage

Ca veut dire quoi ? De touts façons j'vais apprendre ça sur le long terme avec mon école, je sais pas si j'en aurais besoin dès le début de la machine virtuelle ...

Euh, si. Le code source java est compilé par le compilateur en un langage intermédiaire (le bytecode), qui est ensuite exécuté par ce qu'on appelle la machine virtuelle java. Donc tu en auras forcément besoin :)

Sinon en fait on ne peut pas dire que Java n'est pas libre. Java c'est un langage, avec des normes, dont l'évolution est déterminée par un comité. Par contre, il n'y a pas d'outils pour compiler Java et pour le faire tourner qui soit complètement Libre ET qui gère toutes les fonctionnalités du langage (c'est encore en travaux).

Je sais pas si c'est plus clair, mais pour ce qui est de la machine virtuelle tu verras ça au premier cours, t'en fais pas.

Perso, je trouve que Java est un langage sympa. Bon, il arrive pas à la cheville de Python, mais c'est un autre tro^Wproblème.

Lien vers le commentaire
Partager sur d’autres sites

Sinon en fait on ne peut pas dire que Java n'est pas libre. Java c'est un langage, avec des normes, dont l'évolution est déterminée par un comité. Par contre, il n'y a pas d'outils pour compiler Java et pour le faire tourner qui soit complètement Libre ET qui gère toutes les fonctionnalités du langage (c'est encore en travaux).

Niveau language, je pense que gcj permet de facilement compiler, et libgcj d'avoir un jvm qui marche pas mal...

Ce qui manque, ce sont les librairies incluent dans java, mais ça à la limite c'est pas grave...

Lien vers le commentaire
Partager sur d’autres sites

j'ai récement jeté un oeuil à python.

Je préviens tout de suite je suis pas programmeur, j'ai juste codé un poil en pascal, fortran, c et asm (juste pour voir :D )

donc, j'ai commencé quelques programmes à la con, et j'ai aussi commensé à regarder comment marchait pyGTK ( c'est sympa aussi)

Bon rien de miraculeux, mais j'ai été litéralment bleuffé. en une après midi je faisais des fenetres et tout et tout ^ ^

Donc j'en viens à ma question, qui pourrait etre trollesque. Gauret pourquoi tu trouves python mieux que java? tout le monde ici est de cet avis ?

comme je suppose que la répose doit pas etre aussi simple, si vous avez des renseignement sur les avantages et les inconviniants respectifs des deux.

Lien vers le commentaire
Partager sur d’autres sites

Euh, si. Le code source java est compilé par le compilateur en un langage intermédiaire (le bytecode), qui est ensuite exécuté par ce qu'on appelle la machine virtuelle java. Donc tu en auras forcément besoin :)

M*rde en gros, j'pourrais faire mes applis et les compiler. Mais pas les executer sous GNU/Linux. Je pourrais transferer l'aplis sur clé usb puis l'executer sous windows si la machine virtuelle Java est installée ?

Lien vers le commentaire
Partager sur d’autres sites

Donc j'en viens à ma question, qui pourrait etre trollesque. Gauret pourquoi tu trouves python mieux que java? tout le monde ici est de cet avis ?

Bon, mis à part le problème de la lourdeur de la JVM, que tout le monde connaît, je trouve que Java a plusieurs problèmes de choix de direction :

- Java veut être un langage multiplateforme. Mais le truc c'est que comme ça a été pensé par Sun au début, qui voulait s'assurer que les programmes Java tourneraient sur son Solaris, Java IMPOSE de faire du multiplateforme. C'est à dire que pour une part des opérations, il te limite au dénominateur commun à toutes les plateformes supportées, et pour l'autre part il t'oblige à te servir de wrappers assez lourdingues. Au contraire, python t'autorise à faire du code monoplateforme, mais les fonctions non portables sont déclarées comme telles en gros dans la doc. Exemple, si tu utilises le module commands, qui permet de passer des commandes de manière très simple (ça spawne un shell), y'a marqué "UNIX only". Pareil pour certains modules de son, ou pour les spécificités UNIX (attibuts des fichiers, etc...). De même, sous Windows, tu as accès à COM pour causer à tes autres applications. Python te permet ainsi d'exploiter à fond ta plate-forme, tout en te signalant que tu fais du code non portable. Je trouve ça mieux.

- Java utilise une machine virtuelle pour faire du garbage collector, être de plus haut niveau, portable, etc... etc.... Tout le monde sait qu'à partir du moment où tu utilises une machine virtuelle, tu peux dire adieu aux perfs. Alors pourquoi est-ce que dans Java y'a encore autant de trucs basiques qui sont compliqués, parce qu'ils te proposent différentes méthodes plus ou moins optimisées ? Si tu fais un langage interprété, tu es lent, et il faut l'assumer et en profiter pour être aussi simple que possible ! Au final, on a Java qui est un langage typé, avec des arrays et des Vectors, je sais plus combien de classes de chaînes, etc.... Python, lui, sait qu'il va de toute façon être plus lent que du compilé, et en profite pour être ultra simple. Exemple, pour lire un fichier ligne par ligne en java, il faut passer par une classe StreamReader, puis une classe StreamBuffer, etc, etc, etc et je sais plus combien d'autres. En python c'est :

file = open("monfichier.txt", "r")
for ligne in file:
   print ligne

Et c'est tout. Et encore, le "r" est optionnel ;o)

- Java a la grosse tête : en Java il faut forcément que tu définisse une classe, quitte à ce que ce soit ta seule classe Main. Ca le rend impraticable pour des petits scripts d'administration. En python tu peux faire les deux.

- Pour être portable à mort, Java embarque son propre toolkit graphique (AWT/Swing). Résultat c'est lent. Python, lui, a des bindings vers des toolkits existants, beaucoup plus rapides puisque compilés, et qui s'intégreront mieux avec ta plateforme. Et si tu veux faire un truc multiplateforme, tu n'as qu'à utiliser un toolkit multiplateforme (WxWidgets, QT, GTK, TK, FOX...)

Ce n'est plus totalement vrai depuis l'arrivée de SWT et d'Eclipse, mais c'est un ajout d'IBM que Sun regarde de travers...

Bon, y'a encore sûrement plein d'autres raisons auxquelles je ne pense pas maintenant, mais je reporsterai plus tard.

Alors attention, ma connaissance de java date d'il y a au moins deux ans, donc ça a peut-être évolué en bien depuis (là encore, j'ai des doutes... Ca fait depuis 10 ans qu'ils nous disent qu'ils vont optimiser la JVM, et ils ne s'y sont mis que pour la version 1.5, et encore, pas à fond)

Lien vers le commentaire
Partager sur d’autres sites

M*rde en gros, j'pourrais faire mes applis et les compiler. Mais pas les executer sous GNU/Linux. Je pourrais transferer l'aplis sur clé usb puis l'executer sous windows si la machine virtuelle Java est installée ?

Si si, il y a des JVM pour linux, elles sont gratuites, mais faut les télécharger depuis le site de Sun. Bon, par contre, c'est pas libre (et ça s'installe n'importe comment, il faut absolument regarder du côté de jpackage.org)

Et si tu installes le JDK (pour compiler du Java), il va t'installer le JRE (pour l'exécuter) avec.

Lien vers le commentaire
Partager sur d’autres sites

M*rde en gros, j'pourrais faire mes applis et les compiler. Mais pas les executer sous GNU/Linux. Je pourrais transferer l'aplis sur clé usb puis l'executer sous windows si la machine virtuelle Java est installée ?

pour compiler, tu as besoin d'un jdk, et dans le jdk, y a une jvm, donc pas de soucis :chinois:

sinon, moi j'aimeuh bieng java, et je m'en sers tous les jours, et ça marche bien... :chinois:

Lien vers le commentaire
Partager sur d’autres sites

salut

A vous voir causer ça fait peur !!!!!!!!!!

Moi qui me met seulement maintenant a faire des scripts shells :chinois: .

Sinon coté language, j'ai deja regardé la syntaxe de java, ça ne m' a pas attiré .

Du peu de prog que j'ai fait, j'ai bien aimer perl et le langage c .

Mais je suis tres loin d'etre capable de sortir une appli :) :chinois:

a+

Lien vers le commentaire
Partager sur d’autres sites

Sinon coté language, j'ai deja regardé la syntaxe de java, ça ne m' a pas attiré . Du peu de prog que j'ai fait, j'ai bien aimer perl et le langage c .

Tu veux dire que tu as préféré la syntaxe du Perl à la syntaxe de Java !!!!! :arrow:

Bon, ben disons que tous les goûts sont dans la nature, hein... :byebye:

Pour ma part, j'ai appris java avant d'apprendre le C, et je prefere de loin java :) deja c'est un language object, et en plus c'est un language portatif :)

Un langage portatif ! J'aime bien l'expression. Ca fait penser aux ordinateurs portatifs de 40 Kg des années 80, ça reflète bien la légèreté de Java... :arrow::-D

Lien vers le commentaire
Partager sur d’autres sites

Tu veux dire que tu as préféré la syntaxe du Perl à la syntaxe de Java !!!!! :arrow:

Bon, ben disons que tous les goûts sont dans la nature, hein... :byebye:

Un langage portatif ! J'aime bien l'expression. Ca fait penser aux ordinateurs portatifs de 40 Kg des années 80, ça reflète bien la légèreté de Java... :arrow::-D

Salut

mais comme je disais, je connais peu la programmation et a chaque fois que j'ai vu du code java ça m'a fait fuire .

Pour ce qui est du perl, j'en ais fait un peu mais pas plus, et ça m'a plus .

C'est là mon gros point faible, je suis mauvais en programmation, mais j'y travail :)

Enfin, la programmation pour moi, ça n'a pas pour but de faire une grosse appli, mais juste des truc utiles pour administrer .

c'est donc aussi une affaire d'utilité :)

a+

Lien vers le commentaire
Partager sur d’autres sites

Chuis d'accord avec gauret...

C'est fait pour être compatible entre toutes les plate-formes, déjà ça implique de devoir compiler en bytecode, de mettre pas mal de limites...

Mais en plus... ils ne le font pas!

Par exemple entre java2 (1.4.2) et java5 (1.5) le bytecode n'est pas le même, donc finalement c'est même pas compatible entre toutes les versions...

Après, pour la vitesse, ouais je trouve ça con de voiloir "optimiser" en java alors que c'est déjà super lent à cause du garbage collector...

Et puis en plus, c'est pas libre

Et c'est pas toujours évident pour déboguer (pas l'avantage de pouvoir utiliser gdb, pas l'avantage de ne pas avoir à recompiler, location de l'erreur pas toujours précise, "nullPointer Exception" qui existe toujours ...)

sans parler de l'héritage multiple indispo en java, et quelques autres trucs...

Le seul truc que j'ai pas vu en C++ (que à priori je connais assez bien) c'est le fait de pouvoir charger des classes à la volée...

Par contre, y'a un truc qui m'avais bluffé, c'est le "libglade-java"... on prend un fichier .glade, on le charge en java, et ça marche direct!

J'ai vu qu'il y avait aussi glade-perl... si c'est le même principe, ça va me plaire!

EDIT : avec gtk2-gladexml ça fait exactement ce qu'il faut (binding libglade)... ne pas faire d'interface graphique quand on a un outil comme ça c'est dommage :transpi:

Modifié par tuXXX
Lien vers le commentaire
Partager sur d’autres sites

complètement off-topic, à part que j'étais dans un bar quand cela c'est passé :

J'espère que les gars qui ont volé mon vélo finirons sous les roues d'une voiture.

Bon, maintenant, un peu moins méchant, si quelqu'un connait un bon plan pour un (voir deux, un ami aussi) pour se procurer un vélo, même vieux/en assez mauvais état, pour pas trop cher, sur Toulouse, qu'il me fasse signe.

Lien vers le commentaire
Partager sur d’autres sites

Salut

une raison de plus de manger du pingouin :

La version pro de win vista sera vendu avec un systeme de location .

Faudras payer pour pouvoir continuer a utiliser le systeme :

http://www.lemondeinformatique.fr/sections...utilisateurs_de

Encore une fois, une belle demonstration que MS deviens de plus en plus liberticide .

Là aucun fan de Ms ne peut defendre ça, a part d'etre un abruti complet

a+

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...