#1 Wed 28 January 2009 06:19
- zone12
- Participant actif
- Date d'inscription: 3 Jan 2008
- Messages: 56
Python + DotNet pour les SIG
Salut a tous,
Je cherche a développer mes compétences en programmation pour faire face a la demande des employeurs. Et la, un dilemme crucial se pose, quel langage choisir ?
Si j'ai bien compris, le framework DotNet de MS a conquis pas mal de monde, du coup je me suis dis : j'ai le choix entre VB, J# et C#.
J# et C# me paraissent un peut trop complique et j'ai deja des connaissances en VB.
Mais voila, j'ai super envi de me mettre a Python ! Sur ceux je découvre IronPython (voir : CodePlex, msdn, David Boschmans Weblog)
1/Que pensez vous du couple Python + DotNet ?
2/Pensez vous que le couple Python + DotNet pourra intéresser des entreprises développant des applications métiers dans le domaine des SIG ?
3/Pensez vous que VB + DotNet serait un meilleurs choix ?
Merci
Dernière modification par zone12 (Wed 28 January 2009 06:19)
Hors ligne
#2 Wed 28 January 2009 09:26
Re: Python + DotNet pour les SIG
Bonjour,
Python est un langage de plus en plus utilisé dans le monde des SIG et très performant, quelques exemples :
* ArcGIS, QGIS, GRASS l'utilisent pour scripter ;
* de nombreux framework sont spatial enabled : GeoDjango, Pylon via MapFish ;
* de nombreuses bibliothèques utilisable en python existent : geos, mapserver, gdal-ogr, shapelib, etc.
* Il est possible de mettre en place des interfaces graphiques multiplateformes (python étant multplateforme).
Je ne connais pas ironPython ni dotnet.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Wed 28 January 2009 15:57
- Fabien75
- Participant occasionnel
- Lieu: Clermont-Ferrand
- Date d'inscription: 13 Apr 2006
- Messages: 15
Re: Python + DotNet pour les SIG
Bonjour à tous,
Je suis géographe à la base avec des notions en informatique mais débutant complet en programmation. Au vu des l'évolution du métier de géomaticien je cherche à acquérir des notions en développement. Après quelques recherches il ressort que python est conseillé pour débuter. Je m'adresse donc aux spécialistes de GeoRezo :
- Est-ce un bon choix pour se lancer ? Un autre langage est-il plus adapté ?
- Le livre "Apprendre à programmer avec Python" est-il Le livre du "débutant" ou existe-t-il d'autre ressource pour commencer ?
Tout conseil est le bienvenu !!
Merci d'avance pour vos réponses.
Fabien
Hors ligne
#4 Thu 29 January 2009 14:00
Re: Python + DotNet pour les SIG
Bonjour Fabien,
Je me suis permis de déplacer ton message.
Bruno
Hors ligne
#5 Thu 29 January 2009 20:24
- Eclesia
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 59
Re: Python + DotNet pour les SIG
Salut a tous,
Je cherche a développer mes compétences en programmation pour faire face a la demande des employeurs. Et la, un dilemme crucial se pose, quel langage choisir ?
Si j'ai bien compris, le framework DotNet de MS a conquis pas mal de monde, du coup je me suis dis : j'ai le choix entre VB, J# et C#.
J# et C# me paraissent un peut trop complique et j'ai deja des connaissances en VB.
Mais voila, j'ai super envi de me mettre a Python ! Sur ceux je découvre IronPython (voir : CodePlex, msdn, David Boschmans Weblog)
VisualBasic 6 est mort (mais ne va pas disparaitre trop vite) depuis mars 2008,
Donc je ne pense pas qu'avoir des compétences dans ce langage soit un avantage a long terme,
cf : http://en.wikipedia.org/wiki/Visual_Basic
The final release was version 6 in 1998. Microsoft's extended support ended in March 2008 and the designated successor was Visual Basic .NET (now known simply as Visual Basic).
J# a été condamné en justice, pour avoir trop violement plagier le langage Java (ce n'est d'ailleur pas la premiere fois que microsoft copier allegrement les technologies concurrentes). Meme si microsoft ne le dit pas sur ca page officiel, il dit quand meme que son developpement est arrété. cf : http://msdn.microsoft.com/en-us/vjsharp/default.aspx
Since customers have told us that the existing J# feature set largely meets their needs and usage of J# is declining, Microsoft is retiring the Visual J# product and Java Language Conversion Assistant tool to better allocate resources for other customer requirements. The J# language and JLCA tool will not be available in future versions of Visual Studio.
Il ne te reste donc que C# et VB.net si tu tiens a rester contraint a du windows.
python est utilisé, mais je ne crois pas avoir vu d'offre demandant ce langage.
Les plus demandé étant Java et C#.
Hors ligne
#6 Fri 30 January 2009 08:13
- zone12
- Participant actif
- Date d'inscription: 3 Jan 2008
- Messages: 56
Re: Python + DotNet pour les SIG
Merci Eclesia, super les infos sur VB et J#.
D'apres vos avis et apres avoir lu ce sujet sur CCM, je pense que Python sera mon choix definitif.
Comme le dit Yves
Python est un langage de plus en plus utilisé dans le monde des SIG et très performant, quelques exemples :
* ArcGIS, QGIS, GRASS l'utilisent pour scripter ;
* de nombreux framework sont spatial enabled : GeoDjango, Pylon via MapFish ;
* de nombreuses bibliothèques utilisables en python existent : geos, mapserver, gdal-ogr, shapelib, etc.
* Il est possible de mettre en place des interfaces graphiques multiplateformes (python étant multplateforme).
et d'apres le sujet sur CCM
En fait, Python est de plus en plus utilisé.
Tu connais ILM (Industrial Light & Magic) ? C'est la boite qui fait les effets spéciaux de Star Wars.
Toute leur chaîne de production informatique est pilotée par du Python.
Google s'en sert aussi massivement. D'ailleurs ils ont même embauché le concepteur du langage Python.
Nokia l'a choisit comme langage pour ses téléphones.
etc.
<troll>
Un exemple frappant: Bruce Eckel est l'auteur des ouvrage connnus "Thinking in C++" et "Thinking in Java" (excellents bouquins d'ailleurs). Il est aussi membre du comité ANSI C++. Après avoir découvert Python, il a dit qu'il avait l'impression d'avoir perdu son temps dans les autres langages, et que Python lui permet de maximiser sa productivité.
</troll>
aussi, IronPython rend Python compatible avec le framework .NET (DotNet), ceci permettant de repondre a la demande des employeurs (pas tous mais pas mal).
De plus, ca simplicite le rend tres attractif (je ne suis pas un programmeur acharne),
En Java:
Code:
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }
En Python:
Code:
print "Hello World!"
ce qui apparemment ne ce fait pas au detriment de sa puissance et en naviguant sur divers forum, j'ai principalement lu des critiques positives, voir tres positives sur Pyhton.
Fabien75, il y a plein de references sur le net, fouille et tu trouvera. La reference en programmation sur le net : developpez.com, clique sur l'onglet Python (d'ailleurs Apprendre a programmer avec Python est dispo sur le site et semble etre assez didactique).
Sinon, j'aime bien ce petit tuto qui n'est peut etre pas ideal pour debuter en prog.
D'apres ce que j'ai pu lire, je te conseil de commencer avec la version 2.6 de Python (et non la 3), car la plus part des ressources (tuto et code) utilisent cette version (dans ton bouquin je crois que c'est a 2.2). Fait attention a ce detail, si tu utilise une version X et que tu suis un tutoriel qui est base sur une version Y, tu aura beau suivre correctement les instructions, parfois ca ne marchera pas.
Merci a tous ,n'hesitez pas ajouter de nouvelles infos ou avis, le debat reste ouvert
Dernière modification par zone12 (Fri 30 January 2009 08:33)
Hors ligne
#7 Fri 30 January 2009 09:12
Re: Python + DotNet pour les SIG
Concernant l'exemple de code : je ne le trouve pas pertinent D'abord parce que l'exemple de java pourra être utilisé dans d'autres fonctions, alors que l'exemple de Python, ben sert à rien Il aurait fallu pour être rigoureux écrire un script python orienté objet :
Code:
class HelloWorldApp: def main(self): print "Hello World!"
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#8 Fri 30 January 2009 09:26
- Eclesia
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 59
Re: Python + DotNet pour les SIG
ce qui apparemment ne ce fait pas au detriment de sa puissance et en naviguant sur divers forum, j'ai principalement lu des critiques positives, voir tres positives sur Pyhton.
hum hum ... tout depend par rapport a quoi tu compare, python est bon pour son type de langage (si on compare a PHP, Ruby ou Scala).
Mais il y a encore un fossé entre python et Java,C++,C#
cf : http://blog.dhananjaynene.com/2008/07/p … by-groovy/
Hors ligne
#9 Sun 01 February 2009 18:32
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3197
- Site web
Re: Python + DotNet pour les SIG
Bonjour,
Je ne parlerais pas de Python que je ne connais pas mais dont j'ai lu quelques mérites.
J# : il vaut mieux en rire et ce mettre à Java (sous eclipse par exemple)
C# : Mort de rire, c'est pas un langage c'est un mauvais plagiat comme son pote juste au dessus. Mettez vous tout de suite au C ou la version objet C++ .
Concernant donet (VB) . Je commence juste à m'intéresser mais ce qui est sur c'est que la connaissance de VB6 n'est pas indispensable, mais elle permet tout de même d'aller plus vite dans l'apprentissage.
Ce qu'il faut considérer c'est que donet permet une approche facile du framework .Net qui englobe notamment un modèle d'accès aux données assez performant.
A+
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#10 Mon 02 February 2009 14:07
- Fabien75
- Participant occasionnel
- Lieu: Clermont-Ferrand
- Date d'inscription: 13 Apr 2006
- Messages: 15
Re: Python + DotNet pour les SIG
Merci zone12 pour tes infos et conseils.
Hors ligne
#11 Tue 03 February 2009 12:32
- lionel_
- Participant actif
- Lieu: meaux
- Date d'inscription: 20 Apr 2006
- Messages: 88
Re: Python + DotNet pour les SIG
C# mort de rire ????
C# c'est l'équivalent de java mais utilisé pour la machine virtuel de microsoft CLR DLR silverligth et mono qui fonctionnera comme java sur pda , window , unix (apple mac) .....
L'un des membres à l'origine du C# est le créateur du langage delphi ( et la respect car delphi est encore utilisé par de nombreux développeurs et logiciels commerciaux. Comme quoi pas besoin de succomber au charme de microsoft window ). Proposer le C à un débutant en programmation me semble déraisonnable .Pourquoi pas commencer par l'assembleur!!! . Y a t il en C/ C++ des bibliothèques gérant la mémoire ( garbage collector) ?
Donc même si je ne programme pas C# je dirais que si le monde unix ne vous concerne pas ( majorité des cas on travaille sous xp ) il faut utiliser un des langages .NET de la plateforme microsoft comme C# (ou ocaml pour .NET) !
De toutes façons l'outil de développement est aussi important , on ne va pas programmer avec vi ou emacs ? Je souligne ce point car l'auteur parle d' eclipse et la on parle d'argent et pas de langage de programmation. Eclipse est gratuit et est excellent le must, maintenant si vous avez les moyens d'acheter Visual studio et adhérer à la philosophie microsoft ($), l'argument java à beaucoups moins de poids.Entre les deux éditeurs il y a un editeur vintage ( on fait du neuf avec de l ancien) comme textmate mais seulement pour seulement pour Mac !! De plus beaucoups de langages vont être portés sous eclipse il y a déja php, cobol, C/C++, lua, actionscript .Certaines versions de Visual studio supporte déja ironpython .Il est bien connu que l'élève fait toujours mieux que le maitre jusqu'a ce que l'élève deviennent maitre ......... .
Dernière modification par lionel_ (Tue 03 February 2009 13:18)
Hors ligne
#12 Tue 03 February 2009 18:31
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3197
- Site web
Re: Python + DotNet pour les SIG
Bonjour,
Je concède avoir été un peu vif et caricatural dans mon propos. Je respecte Delphi bien sûr, pour avoir fait du PASCAL et du turbo pascal et sa première version "objet". Mon pb avec C# est qu'il faut du temps pour apprendre un langage quel qu'il soit, et je pense que tant qu'à investir il faut investir rentable. Donc tant qu'a faire, apprendre le JAVA (qui est un vrai multi plateforme) qui est gratuit, qui dispose de nombreuses "bibliothèques" sur le Net, qui est totalement objet, et qui évite la manipulation des pointeurs ... vive le ramasse miettes (nous sommes sur un forum francophone).
Personnellement je viens de passer à VS2008 et j'utilise VB.net, simplement à cause de ma connaissance de VB6, cela me fait gagner du temps. Si je me devais d'investir totalement dans un nouveau langage je m'orienterai vers le C++, mais c'est là l'allant d'un "vieux programmeur" (les joies du ZX80, ou autre ASM 8086) convertit à l'objet. Il est vrai que c'est un peu plus compliqué, qu'il y a des risques de s'emmêler les pointeurs, mais c'est la rançon de la liberté.
Eclipse : pourquoi Eclipse ? A cause du Java de Sun (je sais nous sommes sur un forum francophone)
A+
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#13 Tue 03 February 2009 19:23
- Eclesia
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 59
Re: Python + DotNet pour les SIG
Eclipse : pourquoi Eclipse ? A cause du Java de Sun
Eclipse c'est IBM. NetBeans c'est Sun.
En parlant d'eclipse, son utilisation est en train de chuter depuis 2006. cf :http://www.developpez.net/forums/d46823 … ez-2009-a/
Rien qu'en ce premier mois de 2009, NetBeans (qui lui est fait par Sun) a gagné encore 8% de la communauté des developpeurs Java.
En 2008 on comptais 1netbeans pour 2Eclipse, et en Janvier 2009 on compte deja 2Netbeans pour 3Eclipse.
Ce qui a fait le succes d'Eclipse, c'est surtout la technologie SWT qui est apparu au moment où Java etait jugé lent (a l'epoque en version 1.4). Mais depuis les performances sont comparable et plus personne ne veut s'encombrer d'une librairie non portable (SWT) ,plus contraignante et moins riche que celle par defaut (SWING).
SWT n'a jamais gagné le coeur des developpeurs Java, cf : http://www.developpez.net/forums/d11483 … swt-swing/
A plus ou moins long terme je pense que les applications SIG basé sur Eclipse (Udig, JGrass, SDI) vont avoir de plus en plus de mal a se faire une communauté de developpeurs.
Dernière modification par Eclesia (Tue 03 February 2009 19:23)
Hors ligne
#14 Tue 03 February 2009 23:58
- lionel_
- Participant actif
- Lieu: meaux
- Date d'inscription: 20 Apr 2006
- Messages: 88
Re: Python + DotNet pour les SIG
désolé pour pour les expressions anglaises sinon tout est exacte , en effet je sous entendais les pointeurs ( par adresse et par référence) en parlant d'assembleur et de ramasse miette. Sinon eclipse ou netbeans on est tous d'accord : java + bon ide IDE ( environnement de développement intégré) est la solution.
Perso suis pro python mais la documentation est déficiente ( parle de zope /python), suis aussi pro Ironpython mais dans ce cas le frameworka utilisé est celle de microsoft et la , je suis perdu en voyant la richesse de l'API/framework et VisualStudio à un coût ( je suis fauché).Avais déja utilisé python dans IE il y a 8-10 ans mais l'évolution s'est fait coté client vers javascript/AJAX.
Maintenant la machine virtuel java et C# vont supporter de plus en plus de langages ( parler de machine virtuel java n'aura aucun sens , on va devoir dire machine virtuel de sun ) et java pourrait supporté WPF de microsoft !!! ( en disant ça je veux dire que java n'a aucun éditeur digne d'un blend expression pour travailler l'interface utilisateur à la façon d'un éditeur flash voir [url=http://fr.wikipedia.org/wiki/Windows_Presentation_Foundation#eface_.28_java.29eface[/url].Pour terminer IDE + java ne suffit pas ; il faut aussi un UI designer digne de ce nom ( s'endoute netbeans se démarque d eclipse sur ce point même si cela métonne : eclipse supporte sa propre bibliothèque graphique/gestionnaire de fenêtre mais aussi ceux provenant de tiers par plug in). Voir l'article UI toolkit en recyclage sur sur wikipédia. Donc il faut penser en tant qu'environnement de développement et but à réaliser et pas seulement langage. GWT est une vrai plaie a debuger !!! et son interface utilisateur ( UI toolkit ) est pauvre , google en a conscience et a apporté des solutions (widgets, plug in pour IDE /RAD).
Désolé pour les anglicismes,il y a un temps ou visual basic est sortie en version française ( documentation et code) et bien sur ; la sauce n'a pas pris. Donc si vous voulez programmer mettez vous à l'anglais ( surtout dans le monde libre ou la documentation met du temps a être traduite) car la version française aura toujours un train de retard par rapport à la version anglaise. Ai mis de nombreux liens sur le chapitre ci dessus vers le wiki français pour vous aider à comprendre ce charabia de termes informatiques. Sais que ce site est un site pour cartographes mais les logiciels de cartographies veulent vous aider et faciliter votre travail par support de langage simple , libre et portable puissant optimisé ( SQL,python java). Les liens ont pour objectif de situer les technologies les unes par rapports aux autres et de montrer que le contexte dans lequel vous êtes est important ( fauché, parlant anglais, projet web ...)
Ce que je souhaite est un machine virtuelle python coté client web et pda et gsm puisque la machine est déja porté sous unix, mac et window.
Pour conclure et me mouiller mon choix serait Python ( pour facilité portabilité serveur cartographique geodjango/postgis/qt) > java ( pour ide) =Ironpython ( si possibilité d'être utilisé avec visual studio )> C# ( car pas vrai support de xml et xpath mais xaml et peu de projet libre/non microsoft)
Dernière modification par lionel_ (Wed 04 February 2009 00:20)
Hors ligne
#15 Wed 04 February 2009 00:27
Re: Python + DotNet pour les SIG
Le soleil est tombé, l'orthographe aussi ! Et pas que l'orthographe, j'aime bien cette phrase :
sinon la version française aura toujours un train de retard par rapport à la version française
Visual Studio a un coût, mais la version Express est satisfaisante pour s'initier, on ne peut le retirer du choix sous prétexte qu'il existe une version payante.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#16 Wed 04 February 2009 16:17
- lionel_
- Participant actif
- Lieu: meaux
- Date d'inscription: 20 Apr 2006
- Messages: 88
Re: Python + DotNet pour les SIG
la version express a des limitations par rapport aux versions payantes ..... selon les besoins du programmeur .
je ne sais pas si le résultat serait meilleur le matin enfin j'aimerais un correcteur/relecteur avant de publier !! ( wikipedia à un service pour ça, merci à toutes ces personnes )
Dernière modification par lionel_ (Wed 04 February 2009 16:28)
Hors ligne