En vrac : Python 3.1, Netbeans 6.7

Posté le 29 juin 2009
13
Bonjour à tous,

J'introduis ce premier journal en m'excusant par avance de la courtesse - gni ? - des propos et de la non-expertise dont je jouis. Ces deux raisons m'ont poussé à aller vers le journal et non vers la dépêche, d'autant plus que j'imagine qu'il y a peut-être déjà dans les tuyaux des informations analogues en cours de validation.

J'ai relevé ces derniers jours deux informations qui pourraient intéresser une partie d'entre vous :

Python arrive en version 3.1

Une fois n'est pas coutume, je commence directement par les sources de ce qui suit, avec une mention toute particulière à l'article publié sur le site du zéro sans lequel cette brève n'aurait pas pesé grand-chose.
  1. Python_(langage)#Histoire
  2. [https://linuxfr.org//2008/12/05/24764.html]
  3. [http://www.python.org/download/releases/3.1/]
  4. http://www.siteduzero.com/news-62-32467-python-3-1-une-nouve(...)

Le langage de programmation Python arrive dans une version 3.1 qui est dit-on un premier pas vers la maturité. La version 3.0 a en effet marqué la casse de la rétro-compatibilité et une nouvelle phase pour Python après une petite dizaine d'années¹ passées en compagnie de la branche 2.x (branche qui est toujours maintenue et continuera encore quelques temps à évoluer).

La version 3.0² a notamment apporté le support natif de l'Unicode et a permis un dépoussiérage du langage et l'élimination d'un peu de "magie". Si la migration de Python 2 vers Python 3 est facilitée par le script 2to3 - [http://docs.python.org/library/2to3.html] - et l'introduction d'une partie des apports de la 3.0 dans Python 2.6 (et bientôt 2.7), un certain nombre de logiciels majeurs restent attachés à la branche 2.x. Il faut dire que de nombreuses distributions ne proposent pas encore Python 3 et que la nouvelle version majeure a été critiquée en raisons de régressions de performances.

La 3.1 ³ ⁴ limite ces régressions grâce à diverses optimisations au niveau des entiers mais surtout grâce à la ré-écriture de la bibliothèque d'entrées/sorties - I/O - de Python vers C. L'interface reste cependant disponible en Python (module _pyio) de manière à ce que certains développeurs comprennent plus aisément son fonctionnement, puissent la tester et la faire évoluer.

Une nouvelle option de compilation du bytecode, --with-computed-gotos, fait également son apparition. Elle permettrait des gains de l'ordre de 20% mais n'a pas été activée par défaut car les gains observés seraient négatifs pour certains programmes.

Une nouveau type de données se montre : odict. En Python, il semble en effet qu'un dictionnaire soit une sorte de tableau associatif, où à chaque terme correspond une valeur ou un ensemble de valeurs. Par défaut, ces dictionnaires ne sont pas ordonnés et une même boucle n'assurerait donc pas que les éléments rencontrés le soient toujours dans le même ordre. Même si j'imagine qu'il existe de quoi palier à ce soucis - ? -, odict vient en tout cas nativement répondre à la problématique.


Netbeans 6.7

  1. NetBeans
  2. [http://www.netbeans.org/community/releases/67/]

NetBeans¹ est un projet qui consiste d'une part en une plate-forme de conception d'applications Java et d'autre part en un environnement de développement intégré - un IDE. NetBeans a été racheté par Sun en 1999 et est développé en Java. Il est distribué sous double-license CDDL et GPLv2. NetBeans est disponible dans de nombreuses langues - et en partie francisé - et prend en charge plusieurs langages de programmation parmi lesquels :
  • Java SE, Java EE, Java ME, JavaFX
  • C / C++
  • Javascript, AJAX...
  • XML
  • PHP
  • Ruby
  • Groovy
  • Python
  • ...

NetBeans dispose de fonctionnalités bien connues des utilisateurs d'IDE : coloration syntaxique, auto-complétion, gestion multi-projets, intégration des documents de référence, support de solutions de gestion de versions, intégration de [[débogueur]] s... Le logiciel a été conçu en prenant en compte le principe de la modularité. Il est ainsi proposé au téléchargement via des paquetages centrés sur les langages employés : PHP, C, JavaFX, Ruby etc mais rien n'empêche d'ajouter de nouvelles fonctionnalités via le système d'extensions.

Parmi les nouveautés de cette version 6.7, notons² :

Notons enfin qu'après le rachat de Sun par Oracle ([https://linuxfr.org//2009/04/20/25337.html]), certains craignent que NetBeans soit délaissé. Oracle dispose en effet déjà de son propre environnement de développement Java : jDeveloper et il est difficile de savoir si Oracle préfèrera continuer le développement de NetBeans tout en conservant la double-licence actuelle ou s'il misera davantage sur sa solution maison.

> Lire le journal (21 commentaires, moyenne: 2,9).