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

Python, Boo et .NET

7 réponses
Avatar
Sébastien Kirche
Bonjour,

Après quelques années de dev sur Mac et Linux, je suis amené à refaire
du dev windows : C# et VB.NET.
J'en profite pour revoir comment évolue Mono et je réentends parler de
Boo qui serait une sorte de Python pour CLR. Y a-t-il des utilisateurs
dans la salle pour donner leur avis ?

Il y a quelques jours, j'avais aussi récupéré une beta d'IronPython chez
M$ mais contrairement à ce que j'avais compris, il m'a semblé que ça
n'ajoutait un support python que pour des macros visual studio. En tout
cas sur le VS 2003 sur lequel j'ai testé je n'ai pas vu de possibilité
de faire une nouvelle appli en python. J'ai mal compris ?

--
Sébastien Kirche

7 réponses

Avatar
Michel Claveau
Bonjour !

Je ne pratique pas (encore) dotNET.

Néanmoins, j'ai compris des choses un peu différemment :
- Boo est un (nouveau) langage, dont la syntaxe est
inspirée/dérivée/ressemble à Python. Mais ce langage est compilé, et
statiquement typé.
- IronPython est une implémentation de Python pour la CLR. Il
conserve l'aspect dynamique de Python, mais un nombre important de
librairies standards doit être remplacé par l'utilisation des
ressources de dotNET.
- PythonNet est un add-on à Python standard, qui permet d'utiliser
les ressources dotNET depuis un Python normal.
- Il existait, (chez ActiveState ?), un outil permettant d'utiliser
VisualStudio comme IDE pour faire du Python (VisualPython) ; mais ce
logiciel semble abandonné.
- Lorsque l'on a développé un serveur COM en Python, celui-ci peut
être appelé depuis C#. Cela, je l'ai vérifié. Je me suis limité à
vérifier l'appel à deux fonctions très simples de mon serveur COM. Mais
c'est aussi une possibilité d'appeler du Python depuis dotNET. (pour
que ça marche, il faut utiliser du "LateBinding" dans C#).



Pour finir, quelques adresses :

http://boo.codehaus.org/


http://www.activestate.com/Products/Visual_Python/



http://www.microsoft.com/downloads/details.aspx?FamilyIDP24fdaa-634b-4a8e-916d-fb2cd2b78821&DisplayLang=en

en minilien: http://minilien.com/?mkvq2OfiQI

--
@-salutations

Michel Claveau
Avatar
Michel Claveau
Re

J'ai oublié de mettre le lien pour Python.NET :

http://pythonnet.sourceforge.net

--
@-salutations

Michel Claveau
Avatar
Sébastien Kirche
Le 13 June 2006 à 06:20, Michel Claveau a dit :

- Boo est un (nouveau) langage, dont la syntaxe est
inspirée/dérivée/ressemble à Python. Mais ce langage est compilé, et
statiquement typé.


Pourtant la page de boo semble bien indiquer que c'est un langage
inspiré de python et destiné à la CLI. D'ailleurs il m'a bien semblé
voir sur la faq qu'on pouvait utiliser les WinForms et d'un autre côté
j'avais vu que l'on peut cibler ce langage depuis monodevelop et
sharpdevelop.

- IronPython est une implémentation de Python pour la CLR. Il
conserve l'aspect dynamique de Python, mais un nombre important de
librairies standards doit être remplacé par l'utilisation des
ressources de dotNET.


Je viens de regarder à nouveau ce que j'avais récupéré pour VS2003 et en
fait il semble qu'on puisse accéder au framework .NET mais dans l'état
actuel il n'est pas vraiment intégré à Visual Studio. Il n'y a qu'un
shell (comme le python standard, d'ailleurs). Je crois que j'ai dû
confondre ou mélanger avec feu le python d'ActiveState.

- PythonNet est un add-on à Python standard, qui permet d'utiliser
les ressources dotNET depuis un Python normal.


Donc c'est ce qui permet le mieux de faire du "Python .NET" ? Je vais
regarder de plus près.

- Il existait, (chez ActiveState ?), un outil permettant d'utiliser
VisualStudio comme IDE pour faire du Python (VisualPython) ; mais ce
logiciel semble abandonné.


Oui, comme quelques autres de leur réalisations. Dommage.

- Lorsque l'on a développé un serveur COM en Python, celui-ci peut
être appelé depuis C#. Cela, je l'ai vérifié. Je me suis limité à
vérifier l'appel à deux fonctions très simples de mon serveur COM.
Mais c'est aussi une possibilité d'appeler du Python depuis dotNET.
(pour que ça marche, il faut utiliser du "LateBinding" dans C#).
[...]


Merci pour ces informations.
--
Sébastien Kirche

Avatar
Sébastien Kirche
Le 13 June 2006 à 12:13, bruno at modulix a formulé :

- Boo est un (nouveau) langage, dont la syntaxe est
inspirée/dérivée/ressemble à Python. Mais ce langage est compilé,
et statiquement typé.



Pourtant la page de boo semble bien indiquer que c'est un langage
inspiré de python et destiné à la CLR.


Heu ? Excuse-moi, mais où est la contradiction avec ce dit Michel ?


Quand il dit que c'est compilé ? C'est peut-être un problème de
sémantique mais j'ai tendance à opposer "compilé" (comme du C, de
l'Ada...) et les langages traduits vers le langage commun de .NET ou les
langages "à script" interprétés.

--
Sébastien Kirche



Avatar
Sébastien Kirche
Le 13 June 2006 à 16:26, bruno at modulix a dit :

compilation = transformation d'une représentation (source) à une autre
représentation (cible). La nature de la cible est en soit orthogonale.

Accessoirement, Python est compilé (en byte-code - tout comme Java ou
.NET) depuis toujours - tu ne t'es jamais demandé ce qu'étaient les
fichiers .pyc ?). [...]


Sisi, je suis au fait du fonctionnement.
Comme je disais il s'agit juste d'un point de sémantique, Jean-michel a
tout a fait décrit ce pourquoi j'ai tiqué. C'est un non-débat sans objet
:)

--
Sébastien Kirche

Avatar
Sébastien Kirche
Le 14 June 2006 à 07:27, Méta-MCI a dit :

Bonjour !


Il me semble qu'il n'y ait quelque mélange, ou, tout au moins,
imprécision.


Tu as raison. En fait je redébarque sous windows après plusieurs années
d'abstinence quasi complète.

à propos d'IronPython :

ce que j'avais récupéré pour VS2003
pas vraiment intégré à Visual Studio




Attention, VisualStudio n'est pas .NET ; c'est un IDE pour .NET ;
nuance. On peut faire du .NET sans VisualStudio. Qu'un langage ne soit
pas intégré à VisualStudio ne peut pas faire conclure que ce langage
n'existe pas pour .NET



il n'y a qu'un shell (comme le python standard




Il faudrait plutôt écrire "il y a un shell". Le "qu" est de trop. Car,
comme le Python standard, il y a quand même pas mal de choses, en
dehors du shell. D'ailleurs, Boo a développé, lui aussi, un
"Interactive Interpreter" qui est une sorte de shell, sans que cela
n'oblitère le reste du langage.


Tu as raison. En fait je m'attendais à une intégration à l'IDE Visual
studio, de la même manière que pour le C/C++, VB ou C#, ce qui m'a fait
dire qu'il n'y avait "qu'un" shell. Je ne présume pas des possibilités
réelles. D'ailleurs j'ai pu tester l'appel aux WinForms depuis ledit
shell.


feu le python d'ActiveState




La distribution Python d'ActiveState se porte bien. Merci, pour elle,
de ne pas l'enterrer trop vite. C'est d'ailleurs, je crois, le seul
moyen de faire une installation silencieuse de Python, sous Windows.
Elle regroupe Python, PyWin, Ctypes (qui sera intégré à P-2.5), et
quelques autres petites choses, en un seul package.


En fait vérification faite il y a confusion avec VisualPython qui a bien
été abandonné par ActiveState à côté d'autres réalisations. Je ne
connaissais pas cette distribution python. Les seuls que j'avais eu de
voir jusque là étant les installations "officielles" des 2.3 et 2.4.


AMHA, tu devrais essayer un peu tout ça (yaka suivre les liens donnés,
ils sont à jour), et nous pondre (Cot Cot Cot) un petit compte-rendu.
Merci d'avance.


Je vais voir. Mais ça sera fonction du temps disponible que je partage
sur de multiples centre d'intérêts.

Je bosse sur un projet perso de bdd de gestion de collection de matos
informatique : je souhaite un modèle ouvert et portable. J'avais pensé à
PostgreSQL pour le moteur et dans un premier temps C# pour une gui en
rad (en version mono pour linux et mac). En plus ça me permettait de
réutiliser les concepts .NET utilisés au boulot.

J'avais regardé les possibilités d'un moteur purement python mais je
n'ai rien vu de satisfaisant (pysqlite semblant manquer de
fonctionnalités). Mais le principal pour moi est d'avoir un modèle de
base qui tient la route et me permet de gérer tout ce dont j'ai besoin;
après le reste n'est "que" un frontal pour présenter les données.

De plus j'ai récupéré depuis hier une NextStation avec le moniteur à
dépanner et je dois faire des aménagements dans ma maison pour installer
tout mon matos alors si je fais un compte-rendu, ça risque de ne pas
être avant la rentrée :/
--
Sébastien Kirche




Avatar
Eric Deveaud
BertrandB wrote:

linké (c'est quoi la définition de linker en gaulois ?).



édition de liens.

Eric