Pourquoi dit ton que java et python sont un tres bons melanges?
Pourquoi dit ton que java et python sont un tres bons melanges?
Personnellement c'est la premiere fois que j'entend ca .
Ceci dit rien que le mot "Python" en 2 ans d'activité professionnel je l'ai pas souvent entendu !!![]()
parce que pyhton (comme ruby d'ailleurs) est objet, a pas mal de concepts en commun avec java (POO surtout), mais est dynamique. Ca pourrait un peu etre un java non typé si tu veux.
ensuite, avec jython, tu peux compiler ton pyhton en .class, et tu peux meme embarquer un interpreteur pyhton dans une de tes applications (pour faire un moteur de scripting par exemple)
J'ai cree une application assez grosse avec un interpreteur Python embarque : http://www.jext.org
C'est tres facile a faire, ca fonctionne super bien et je suis ravi du resultat. Dans cette application tout le code qui gere les evenements des menus est ecrit en Python. Exemple du code quand on clique sur File/Open :
Toutes mes actions ecrites en Python sont dans un fichier XML et les menus sont aussi decrits par un fichier XML. Cela me permet de cliquer sur Reload Menus pour recharger les menus et leur code sans quitter l'application ni recompiler quoi que ce soit. Et comme c'est un editeur de code source, je peux modifier le logiciel directement dans lui-meme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 from org.jext import Utilities fileToLoad = Utilities.chooseFiles(__jext__, Utilities.OPEN) if fileToLoad != None: for i in range(len(fileToLoad)): __jext__.open(fileToLoad[i])
Par exemple le XML du menu puis le code XML de l'action Reload Menus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <menu label="$Debug" debug="yes"> <item label="$Start PlugZilla and download plugins" action="download_plugins" debug="yes" /> <item label="Reload $Actions" action="debug_reload_actions" debug="yes" /> <item label="Reload $Menus" action="debug_reload_menus" debug="yes" /> <item label="Reload $Both" action="debug_reload_both" debug="yes" /> </menu>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <action name="debug_reload_menus"> from org.jext.event import JextEvent from org.jext.xml import XBarReader from org.jext.xml import XMenuReader XMenuReader.read(__jext__, __jext__.getClass().getResourceAsStream("jext.menu.xml"), "jext.menu.xml") XBarReader.read(__jext__, __jext__.class.getResourceAsStream("jext.toolbar.xml"), "jext.toolbar.xml") __jext__.fireJextEvent(JextEvent.TEXT_AREA_SELECTED) pos = __jext__.getTextArea().getCaretPosition() __jext__.getTextArea().setCaretPosition(pos + 1) __jext__.getTextArea().setCaretPosition(pos) </action>
-Ruby ne figure pas dans la liste des programme qui ont une sous catégorie sur le site principale.Envoyé par lunatix
-J'ai effectivement entendu dire que python est beaucoup orienté objet voir uniquement orienté objet, mais je débute sa ne veut pas encore dit beaucoup de chose pour moi.Et j'ai aussi entendu que le java néccesite de connaitre bien les principes de la POO.
-Python est dynamique(je ne percois pas ce que ca veut dire non plus!)
-Que veut tu dire par typé?
Puis je savoir ou est le java la dedans?Envoyé par Gfx
Toute l'application est en Java et dans les petits bouts de code que j'ai montre, tous les objets utilise en Python sont en fait des objets Java. Par exemple "from org.jext import Utilities" importe la classe Java org.jext.Utilities et Utilities.chooseFiles() invoque la methode chooseFiles() de la classe Utilities.
Envoyé par Extra-Nitro
php est faiblement typé
java est très fortement typé
c'est facile à comprendre, regarde:
en java;
en php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part int i=0;Dans un language typé, tu dois spécifier le type des variables=>types numériques:int,float pour les nbres (et j'en passe);char pour un caractère;String pour une suite de caractère...en java , on met même à quel objet appartient une instance...bref, ça c'est pour les languages typés. Pour les languages non typés(comme php),on indique juste le nom de la variable et sa valeur... pour + d'infos
Code : Sélectionner tout - Visualiser dans une fenêtre à part $i=0;
![]()
Tu dis n'importe quoiPython est un langage fortement type alors que tu ne precises pas le type lors de la declaration des variables. De meme, le C est un langage faiblement type alors que tu declares un type lors de la declaration.
Un langage fortement type est un langage qui garantit toujours le type d'origine de la donne. Par exemple en Python si je dis a = 12, je ne pourrais pas faire a + "une chaine" sans convertir a, un entier, en chaine d'abord.
En revanche avec un langage faiblement type je peux consider mon entier comme une chaine. Exemple en C : int a = 12 et char* text = &a.
Bref, Python est un langage dynamiquement et fortement type. Et pour information, PHP est bien faiblement et dynamiquement type (dans ton explication tu dis qu'il est faiblement type puis qu'il n'est pas type).
Gfx j'ai compris que globallement ton deuxieme message, sinon je vous remercie tous de vos aide, mais je me pose une question un peut plus précise maintenant.
Donc si être typé est comme je l'ai compris cad compliqué(a la place de i=0parce que pyhton (comme ruby d'ailleurs) est objet, a pas mal de concepts en commun avec java (POO surtout), mais est dynamique. Ca pourrait un peu etre un java non typé si tu veux.int i=0 ou
Si=o; )
Python serait donc un java dont la syntaxe serait tout comme le turbo pascal: plus facile a rédiger?(il me semble avoir entendu que java est du trop haut niveau pour debutant sans expérience)...
Corrigez moi si je me trompe.
![]()
Je dirais que Python est encore plus haut niveau que Java mais bon... Bref, ta comparaison ne marche pas, je trouve par exemple la syntaxe de pascal plus complexe que celle de Java. Python est simplement un langage oriente objet avec une syntaxe (la plupart du temps) tres simple et il est facile a apprendre. Je te conseille de commencer par Java puis d'apprendre Python.
il me semblait que java était très dur...Je dois lire un manuel livre sur la POO avant? On m'as dit que c'était mieux pour le java...
Ou alors, lire un livre sur Java spécialement destiné aux débutants, comme Java pour les Nuls. Un tel livre vous initiera simultanément au langage Java et aux concepts de programmation objet nécessaires. L'inconvénient, c'est que la limite entre le langage Java et la programmation objet en général sera floue, mais c'est un bon moyen de commencer avant d'entreprendre de plus grandes et plus belles choses.
Petite remarque concernant Java pour les nulsEnvoyé par BugFactory
Je ne l'ai pas lu mais voila ce qu'on en dit sur developpez.com :
http://www.developpez.net/forums/vie...7123&start=105
Ceci dit à priori celui qui dit ca est loin d'etre un nul
Généralement, pour revenir au sujet initial, une grosse application a un coeur en C/C++ ou Java (par exemple : un moteur de jeu vidéo) et tous les paramètres (niveaux, armes, scripts, scénarios) sont écrits dans un langage de script que le coeur peu charger et interpréter (ex : Python pour C,C++, Jython pour Java). On peut citer LUA pour la série des Baldur's Gate (au tout début) ou Python pour Le temple du mal élémentaire. L'aspcet primordial du coeur est d'être rapide, alors que le langage de script est juste là pour le paramétrer.
Enfin, Python & Ruby sont dynamiques, puissant et fortement typé et permettent des choses assez folles (par très catholique dirait certains pro de Java).
Une Rub(r)yque sur développez.com est juste une question de temps....
Moi qui n'avais jamais entendu parler de python et qui ne voyait pas l'interet de l'utilisation d'un langage de script en plus de Java et bien je commence a trouver ca interessant !!Envoyé par Xitog
Comment tu le sais pour la nouvelle rubrique?
Merci des vos informations.
Et je n'ai toujours pas bien compris le principe de jython?
C'est un programme?
Un language?
Ou une norme?
C'est un interpreteur pour le langage Python mais ecrit en java.
Et quelles sont les différences avec IDLE?
On peut faire des trucs en plus ?
Partager