IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres langages Discussion :

Pharo 8.0 est disponible avec une meilleure performance de construction de classe


Sujet :

Autres langages

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 249
    Points
    66 249
    Par défaut Pharo 8.0 est disponible avec une meilleure performance de construction de classe
    Pharo 8.0 est disponible avec un nouveau moteur de complétion de code,
    le langage s'annonce épuré et orienté objet avec un environnement immersif

    Pharo est un langage de programmation dynamique, épuré et inspiré principalement de Smalltalk. Sa première version a été lancée en 2008 et est l’œuvre de Stephane Ducasse et Marcus Denker. Il est basé sur une machine virtuelle, écrite en large partie en Pharo lui-même, ce qui lui permet d'être multiplateforme (macOS, Windows, Linux, iOS, Android). La version 8.0 de Pharo vient d’être publiée avec de nouvelles fonctionnalités. Pour cette sortie, la version 64 bits est devenue la version recommandée pour Windows comme elle l'était pour Unix et OSX.

    Selon sa documentation, Pharo est un langage de programmation purement orienté objet et un environnement puissant, axé sur la simplicité et le retour d'information immédiat. Il est entièrement open source : la pile complète de Pharo est publiée sous licence MIT. Le langage ne dispose pas de constructeurs, pas de déclaration de types, pas d'interfaces, et pas de types primitifs. Selon ses auteurs, c’est un langage puissant et élégant avec une syntaxe complète qui tient dans une carte postale. L'environnement Pharo comprend aussi un débogueur.

    Ce dernier vous permet de parcourir le code, de relancer l'exécution des méthodes, de créer des méthodes à la volée, et bien plus encore. Le système est réflexif, car un programme peut modifier sa structure et son comportement lors de l’exécution. C’est un langage à typage dynamique par opposition aux langages à typage statique, qui forcent le développeur à indiquer de quel type est chaque variable. L'héritage avec Pharo est simple. Une classe hérite d'une seule autre et une classe peut être aussi composée de traits (ensemble de méthodes).

    Nom : p8-1.png
Affichages : 6925
Taille : 271,6 Ko

    C’est un langage de programmation qui fait une gestion automatique de la mémoire. Il utilise un ramasse-miettes (ou garbage collector), comme les langages tels que LISP ou Java le font. Par ailleurs, un autre avantage de Pharo est qu'il n'est pas nécessaire de recompiler tout le code lors de la modification d'une méthode. Il est possible de modifier ou de créer une méthode au sein du débogueur et de reprendre le flot d'exécution juste avant la modification. Certains appellent cela la méthode « edit and continue » au lieu de la traditionnelle méthode « edit compile and run ».

    Voici les fonctionnalités les plus mises en avant dans cette nouvelle version du langage :

    • Iceberg, le client git pour Pharo, a atteint sa version 1.6.5 avec plusieurs améliorations et corrections de bogues ;
    • Calypso, le navigateur système de Pharo, a de nouvelles et meilleures intégrations de refactoring et des suggestions basées sur AST pour les définitions de classes.
    • l'interface de fonction étrangère unifiée (UnifiedFFI) a été améliorée avec plus de support pour les objets littéraux, de meilleures coercions de type et plus de documentation.
    • Pharo 8.0 contient de nombreuses améliorations de la vitesse de recherche et de compilation du code ;
    • un nouveau moteur de complétion de code ;
    • amélioration de la documentation du processus d'amorçage ;
    • une meilleure intégration des créneaux horaires ;
    • une mise en œuvre plus rapide des collections ;
    • accélération des requêtes du système et de l'accès aux sources ;
    • des recherches Spotter plus rapides ;
    • une meilleure performance de construction de classe ;
    • flux de lecture-écriture compatibles SSD ;
    • etc.


    En outre, cette version comprend plusieurs aperçus de nouveaux outils tels que le framework d'interface graphique Spec2 avec intégration native de widgets et le nouvel outil d'analyse des tests DrTests. Pharo 8.0 ouvre la porte aux prochaines machines virtuelles pour les serveurs et les FFI (Foreign Function Interface) non bloquantes. Environ 2805 problèmes ont été résolus dans cette version, y compris 1500 correctifs et améliorations. La page GitHub du projet contient encore plus d’informations sur les modifications apportées à Pharo 8.0.

    Sources : Pharo, GitHub

    Et vous ?

    Que pensez-vous de Pharo 8.0 ?

    Voir aussi

    Pharo 5 : la nouvelle version du langage

    Pharo 1.0, un environnement simple et épuré pour se mettre à Smalltalk

    Quels sont les langages de programmation les plus utilisés par les développeurs ? Une analyse des évènements publics sur GitHub

    Microsoft Research lance Bosque, un nouveau langage de programmation sans boucles et open source, inspiré par TypeScript
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut Une option intéressante
    Je suis en train d'apprendre le langage avec leur MOOC (bien fait). Il y a aussi pas mal de livres en libre téléchargement sur leur site. Le langage est en effet très intéressant et beaucoup plus régulier que Python, que je pratique aussi depuis assez longtemps. C'est du full object : pas de constructeur, toutes les méthodes sont dynamiques et publiques, et virtuellement liées (pas de mot-clé "Public" en Pharo).

    Bref il n'y a que des objets, des messages et des closures (appelées "block"). Ce qui m'intéresse c'est qu'on peut allier l'approche full object avec la programmation fonctionnelle (en partie), le code qui en sort me paraît très propre.

    En plus il est "test-driven" presque "naturellement" avec l'IDE, bref je pense que je vais l'adopter pour certains projets. Je précise que je ne suis pas développeur professionnel mais je développe des choses aussi bien pour mon boulot que mes loisirs : essentiellement la musique.
    J'attends de finir ma petite plongée dans l'écosystème de Pharo pour décider totalement. Ce qui me chagrine pour l'instant c'est le manque de bibliothèque notamment pour l'audio. J'aurais aimé un binding vers SuperCollider et une bibliothèque son comme pyo d'Olivier Belanger qui fonctionne en Python.

    Je ne suis pas assez fort en programmation pour utiliser le C++ avec fluidité, je peux comprendre que pour ces programmeurs-là Pharo ne soit d'aucune utilité puisqu'on peut faire quasiment tout en C++ mais au prix d'une complexité assez effrayante (pour moi) quoique le C++ 17 me paraisse infiniment plus clair et digeste à mon petit niveau. Le problème c'est que j'ai eu beaucoup de bibliothèques en C++ qui était inabouties, buguées ou quasiment incompréhensibles car très mal documentées. C'est sans doute un commentaire sur mes (in)capacités de programmeur et pas sur les bibliothèques, mais j'ai trop souvent jeté l'éponge à cause de cela. Les bibliothèques existantes en Pharo sont peu nombreuses mais elles ont toutes été validées et sont utilisables en 10mn - 1/4 d'h, elles sont exemptes de bugs visiblement.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  3. #3
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut Pharo 9
    Petite précision : au moment où j'écris ces lignes, Pharo en est à la version 9.0.0, en tout cas c'est celle que j'ai installée sur mon Ubuntu 20.04.

    Voici les principales améliorations :

    • Full redesign of the Spec UI framework (new logic, application, style, GTK3 back-end)
    • new playground,
    • new object centric inspector,
    • new object centric debugger.
    • better and new Refactorings
    • class comments are now written in Microdown format (Markdown compatible)
    • classes now can be defined using a "fluid" api (Preview)
    • new completion framework that adapts better to edition contexts and is customizable
    • Fast universal non-blocking FFI which now uses libFFI as backend.
    • Pharo now supports Windows, OSX, Linux (Ubuntu, Debian, Fedora, openSUSE, Arch, Raspbian) and multiple architectures (Intel/ARM 32/64bits).
    • Virtual Machine
    • Idle VM
    • Support for ARM 64bits
    • Support for Apple M1
    • More than 3000 tests
    • Built for Ubuntu 18.04, 19.04, 20.04, 21.04, 21.10; Debian 9, 10, Testing; Fedora 32, 32, 34; openSUSE 15.1, 15.2, Tumbleweed; Manjaro; Arch Uses SDL 2.0 as back-end by default.
    • It supports extended event handling, including trackpad support.
    • General speed up due to compiler optimisations and UI simplification.


    Il y a beaucoup d'optimisations mais aussi pas mal de travail sur les outils de développement et le langage lui-même. C'est la preuve que l'équipe travaille activement sur le projet, ce qui me rassure quant à l'investissement en temps sur le langage et l'IDE.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/12/2019, 16h31
  2. LLVM 7 est disponible avec une nouvelle extension LLVM pour Visual Studio
    Par Christian Olivier dans le forum Clang et LLDB
    Réponses: 0
    Dernier message: 24/09/2018, 21h45
  3. GTK+ 3.20 est disponible avec une mise à jour de ses composants de base
    Par Victor Vincent dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 27/03/2016, 13h02
  4. Firefox 43 est disponible avec une version 64 bits pour Windows
    Par Olivier Famien dans le forum Firefox
    Réponses: 11
    Dernier message: 22/12/2015, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo