LLVM 2.9 !

Posté par  (Mastodon) . Modéré par patrick_g. Licence CC By‑SA.
45
8
avr.
2011
Technologie

La version 2.9 de LLVM vient de sortir et a été annoncée par Chris Lattner le 6 avril !

Pour ceux qui se posent encore la question, LLVM est une suite de compilation concurrente de GCC, sous licence UIUC (semblable à BSD), qui a pour but de produire des briques de bases modulaires pour construire toute sorte de programmes : compilateurs, debugger, assembleur, etc. L'aspect hautement modulaire permet également de pouvoir travailler sur une petite partie et d'en faire bénéficier toutes les autres. C'est notamment le cas des optimisations : en effet, LLVM utilise une représentation intermédiaire (IR) parfaitement spécifiée et les optimisations se font sur cette représentation. Et ce n'est qu'un des nombreux avantages de LLVM.

Cette version 2.9 permet de consolider plein d'aspects de LLVM. Parmi les nouveautés principales, on notera :

  • la génération de code a été améliorée, en particulier pour l'architecture ARM ;
  • l'optimisation au moment de la liaison (LTO) a été améliorée également ;
  • un nouvel allocateur de registre a été écrit, mais n'est pas activé par défaut pour cette sortie ;
  • l'infrastructure Machine Code est désormais utilisée par défaut pour produire du code objet directement (plutôt que de passer par un assembleur externe) ;
  • Clang, le compilateur C/C++/Objective-C/Objective-C++ gère le C++0x de mieux en mieux, avec l'ajout des rvalue references et des variadic templates ;
  • LLDB, le débugger du projet LLVM, atteint un certain stade de maturité alors que ce n'était qu'un projet larvaire à la dernière sortie.

IBM lance la mémoire transactionnelle dans le matériel

Posté par  . Modéré par tuiu pol. Licence CC By‑SA.
45
7
sept.
2011
Technologie

Le supercalculateur Sequoia (prévu pour être le plus puissant supercalculateur lors de sa sortie) ne fera pas que battre des records de FLOPS, il utilisera aussi des processeurs BlueGene/Q d’IBM, les premiers processeurs commerciaux à utiliser une mémoire transactionnelle matérielle. Le processeur développé par Sun et annulé avec le rachat par Oracle, aurait également dû le prendre en charge.

C’est l’occasion d’expliquer ce qu’est la mémoire transactionnelle : une technique peu connue car elle pose des problèmes de performance lorsque plusieurs processus ou fils d’exécution (threads) doivent accéder à une valeur partagée.

N. D. A. : Merci à Nÿco, NeoX et Michel Barret pour leur aide lors de la rédaction de cette dépêche.

Synchroniser vos dossiers locaux/distants

44
4
mai
2012
Technologie

Avec un ami nous cherchions quelques logiciels pour garder certaines de nos informations synchronisées entre notre NAS et nos ordinateurs portables. Nous connaissions rsync, souvent utilisé par la ligne de commande, en vieux rootard que nous sommes. Nous nous demandions ce qui existait pour les utilisateurs moins avertis, ceux qui aspirent à la simplicité d'un clickodrome.

Voici un petit état de ce que nous avons testé, parfois rapidement, en puisant dans le lot des logiciels référencés par Framasoft.

NdM : Merci à Nÿco, Benoît Sibaud, Florent Zara, tuiu pol, JAGUENAUD Anthony, olivierweb, Buns Buns, baud123, Luke SKy, chimrod, Yves Bourguignon, Xavier Claude et yohann pour leur aide lors de la rédaction de cette dépêche

L’arrivée du BananaPi

44
3
juil.
2014
Technologie

Beaucoup parleront d’un simple clone du Raspberry Pi, mais il serait plus pertinent de le définir comme un cousin. Le BananaPi n’a pas la prétention de révolutionner le monde des SBC (Single Board Cumputer), mais d’y apporter les améliorations attendues : de la modularité, de la simplicité et de très bonnes performances.

Avec 1 Gio de mémoire vice, les soucis de rapidité de certaines cartes sont oubliés, son processeur ARM A20 offre une multitude de possibilités en termes d’applications et un excellent rapport entre puissance de calcul et performance énergétique. Il possède également une prise SATA pour brancher un disque dur qui nous permettra aussi de stocker plus de données que sur une simple carte SD. Nous pourrons aussi y installer le système d’exploitation, pour un démarrage et un accès aux données plus rapide.

Grâce à ses atouts, le BananaPi pourrait devenir un des mini‐ordinateurs les plus utilisés. Il a fait une entrée plutôt réussie dans le monde des SBC puisque, d’après un sondage de Linux.com, il se classe cinquième des mini-ordinateurs préférés des lecteurs du site, et ce seulement quelques mois après sa sortie.

Développement Web « fullstack », application de dessin collaboratif

Posté par  (site web personnel) . Édité par bubar🦥, Davy Defaud, palm123, ZeroHeure et Bruno Michel. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes : aucune
43
6
mar.
2019
Technologie

Une application Web peut être implémentée selon différentes architectures mais comporte généralement une partie client et une partie serveur. De nombreux langages proposent des cadriciels pour implémenter la partie serveur. En revanche, pour la partie client, seuls les langages HTML, CSS et JavaScript sont gérés directement par les navigateurs. Certains outils permettent cependant d’écrire le code client dans un autre langage puis de « transpiler » vers du code JavaScript compréhensible par un navigateur. On peut alors coder toute une application (partie client et partie serveur) avec un seul langage, grâce à ce genre de cadriciel « fullstack ».


N. D. M. : Cette dépêche détaille le développement d’une application Web permettant de faire du dessin collaboratif. Les codes client et serveur sont en JavaScript dans la première partie, puis en Haskell « isomorphique » dans la seconde et, enfin, en C++ « basé widgets ».

LLVM 2.7 est sorti

Posté par  . Modéré par patrick_g.
42
27
avr.
2010
Technologie
Une nouvelle version de LLVM est sortie, elle est numérotée 2.7, elle suit la 2.6 qui est sortie 6 mois avant, le 23 octobre 2009.

Cette version, si elle reste dans la continuité de la 2.6, marque surtout une étape pour Clang et sa compatibilité avec le C++. Effectivement depuis début février, Clang est capable de compiler LLVM. LLVM 2.7 est la première version capable de se compiler toute seule sans aucune aide de gcc.

Plus de détails dans la suite de la dépêche…

NdM : Un très grand merci aussi à Rewind qui nous a également proposé une dépêche très complète sur le sujet. Le choix a été difficile et, après discussions, nous avons opté pour la fusion des news.
Cette dépêche est donc le résultat du travail de Zarikotaba ET de Rewind.

Le Top 500 de novembre 2010

Posté par  (site web personnel) . Modéré par Florent Zara.
Étiquettes :
42
15
nov.
2010
Technologie
Le trente-sixième Top 500 des supercalculateurs mondiaux est sorti aujourd'hui à l'occasion de la conférence Supercomputing 2010 qui a lieu à la Nouvelle-Orléans.

On rappellera que le Top 500 se base sur une soumission volontaire (de nombreuses machines puissantes mais classifiées ne participent pas à la course) et sur un comparateur de performances spécifique extrêmement parallélisable (le code Linpack qui concerne la résolution de systèmes d'équations linéaires).

L'analyse dans la suite de la dépêche (qui est sous licence CC BY-SA).

Spéciale Lennart Poettering : nouvelles versions de systemd et PulseAudio

42
21
mar.
2014
Technologie

La sortie de la dernière version de PulseAudio coïncide avec celle de trois nouvelles versions de systemd, c’est donc l’occasion de faire une dépêche spéciale Lennart Poettering !

Lennart Poettering <3

photo de Harald Hoyer sous CC-BY-SA-3.0

Sortie du Top 500 de juin 2012

Posté par  (site web personnel) . Édité par baud123. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
42
18
juin
2012
Technologie

Le trente‐neuvième Top 500 des super‐calculateurs mondiaux est sorti aujourd’hui à l’occasion de l’« International Supercomputing Conference » qui a lieu à Hambourg en Allemagne.

Rappelons que le Top 500 se base sur une soumission volontaire (de nombreuses machines puissantes mais classifiées ne participent pas à la course) et sur un comparateur de performances spécifique extrêmement parallélisable (le code Linpack qui concerne la résolution de systèmes d’équations linéaires).

L’analyse dans la suite de la dépêche.

Liquidprompt version 1.7

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud et Nils Ratusznik. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes :
42
2
déc.
2013
Technologie

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles là où vous les verrez : le prompt de votre shell bash ou zsh.

Le liquidprompt était déjà bien rempli de fonctionnalités, mais vu la quantité de travail de fond accompli sur la branche de développement, il coulait de source qu'il était temps de sortir une nouvelle version stable.

Une vague de bugfix (notamment une meilleure compatibilité avec zsh, FreeBSD, OpenBSD et OS X) mais surtout un torrent, que dis-je, un raz-de-marée, d'optimisations (notamment dans les dépôts mercurial ou bazaar) écoulées par le nouveau mainteneur, Olivier Mengué.

Quelques gouttes de fonctionnalités, également :

  • affichage du temps mis par la dernière commande (s'il dépasse un seuil, dans le plus pur style liquidprompt) ;
  • l'affichage du nombre de lignes modifiées dans les dépôts fossil ;
  • la température affichée est maintenant la moyenne des maximums ;
  • désactivation du support de gestion de version pour l'utilisateur root (plus logique d'un point de vue sécurité).

Je ne voudrais pas trop me mouiller, mais je crois qu'on a là un excellent cru.

Le Top 500 des supercalculateurs de novembre 2015

Posté par  . Édité par Davy Defaud, Nils Ratusznik et Benoît Sibaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
42
19
jan.
2016
Technologie

Le quarante‐sixième Top 500 des supercalculateurs mondiaux est sorti en novembre 2015.

Rappelons que le Top 500 se base sur une soumission volontaire (de nombreuses machines puissantes mais classifiées ne participent pas à la course) et sur un comparateur de performances spécifique extrêmement parallélisable, le code LINPACK, qui concerne la résolution de systèmes d’équations linéaires.

La deuxième partie de la dépêche revient sur ce classement et aborde une partie des commentaires de la page d’annonce.

Le Top 500 des supercalculateurs de juin 2016

Posté par  . Édité par Nils Ratusznik, Davy Defaud, Benoît Sibaud, Jiel, BAud, bubar🦥, nonas, Renault, ZeroHeure et palm123. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
42
6
juil.
2016
Technologie

Le quarante‐septième Top 500 des supercalculateurs mondiaux est sorti en juin 2016.

Rappelons que le Top 500 se base sur une soumission volontaire (de nombreuses machines puissantes mais classifiées, par exemple, ne participent pas à la course) et sur un comparateur de performances spécifique extrêmement parallélisable, le code LINPACK, qui concerne la résolution de systèmes d’équations linéaires.

La deuxième partie de la dépêche revient sur ce classement et aborde une partie des commentaires de la page d’annonce.

LoTemplate générateur de documents à partir d'ODT

Posté par  . Édité par Nÿco, palm123, Ysabeau 🧶 🧦, bobble bubble et patrick_g. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
42
24
mai
2023
Technologie

LoTemplate est une brique libre (api, cli, lib) sous licence AGPLv3 et destinée aux développeurs et aux développeuses cherchant à intégrer dans leur solution un générateur de documents (rapport, lettre,…). Les solutions existantes pour faire cela sont variées (wkhtmltopdf, JasperReports, BIRT…) mais toutes demandent systématiquement de créer des modèles de documents en HTML, XML ou autre.

De notre côté, nous avions un besoin précis avec une contrainte : pouvoir générer des documents DOC, PDF et ODT à partir de modèles éditables par la famille Michu (Monsieur tout le monde). Ne trouvant rien en libre, nous nous sommes retroussés les manches. Nous avons donc développé LoTemplate pour permettre de générer des PDF, DOC, DOCX ou ODT depuis des documents LibreOffice servant de modèles. L’objectif est de pouvoir intégrer LoTemplate rapidement dans un projet, c’est pourquoi, il peut être utilisé via une API, en module Python ou un CLI. Les briques techniques utilisées sont LibreOffice (en mode headless), Python et Flask pour l’API.

Logo du projet

Le Top 500 de novembre 2011

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
40
15
nov.
2011
Technologie

Le trente‐huitième Top 500 des supercalculateurs mondiaux est sorti aujourd’hui à l’occasion de la conférence Supercomputing 2011 qui a lieu à Seattle aux États‐Unis.

Rappelons que le Top 500 se base sur une soumission volontaire (de nombreuses machines puissantes mais classifiées ne participent pas à la course) et sur un comparateur spécifique de performances extrêmement parallélisable (le code Linpack qui concerne la résolution de systèmes d’équations linéaires).

L’analyse dans la suite de la dépêche…

Richard Stallman donne son avis sur les e‐books

Posté par  . Modéré par j. Licence CC By‑SA.
40
10
juin
2011
Technologie

Richard Stallman, après s’être exprimé sur les notebooks, et netbooks, s’exprime à présent sur les e-books (livre électronique).

Comme lors de ses précédentes critiques, ce dernier s’appuie sur quelques expériences et exemples, et publie un petit document qui résume à l’extrême son avis, de manière extraordinairement concise.

Version 1.0 de Julia

Posté par  . Édité par reno, Nÿco, Brndan, Bruno Michel, Xavier Teyssier et olivierweb. Modéré par NeoX. Licence CC By‑SA.
40
4
mar.
2012
Technologie

Julia, un langage de programmation peu connu, a atteint la version 1.0 (disponible uniquement sur Linux et Mac OS X actuellement). Le langage a été créé par des scientifiques et se veut donc optimisé pour leurs besoins : le calcul scientifique, l'apprentissage automatique (machine learning en anglais), la fouille de données (data mining), le calcul algébrique linéaire à grande échelle et le calcul distribué et parallèle.

Ils veulent un langage :

  • Très simple à apprendre, mais qui puisse aussi convenir aux « hackeurs sérieux » : Julia a une syntaxe facile à apprendre pour les utilisateurs de Matlab, tout en étant homoiconique avec des vrais macros comme le Lisp.
  • Aussi utilisable pour la programmation « normale » que Python, aussi simple pour les statistiques que R, aussi naturel pour le traitement de texte que Perl (Julia supporte les PCRE), aussi puissant pour l'algèbre linéaire que Matlab et aussi bon pour lier des programmes ensemble que le shell.

Avec une implémentation :

  • Open source avec une licence peu contraignante : Julia est sous licence MIT.
  • Aussi performante que le C tout en ayant la dynamicité de Ruby : quelques benchmarks sont sur la page d'accueil de Julia qui est dynamiquement typé avec annotation optionnelle de type (et dispatch multiple).
  • Fournissant un mode interactif et compilé.

Bref, ils sont ambitieux ! Leur manuel de référence est assez bien fait : à vous de juger…

NdA : Merci à Nÿco, olivierweb, Brndan et particulièrement à reno pour leur aide lors de la rédaction de cette dépêche.

Fotoo Hosting : un service autohébergé pour mettre en ligne rapidement ses images

Posté par  (site web personnel, Mastodon) . Édité par Davy Defaud, Nÿco et Xavier Teyssier. Modéré par j. Licence CC By‑SA.
40
4
oct.
2012
Technologie

Vous connaissez peut‐être ImageShack, imgur, TinyPic et bien d’autres encore. Tous ces services ont en commun la possibilité d’envoyer une ou plusieurs images rapidement pour les rendre disponibles en ligne, par exemple dans un forum, ou pour partager un album de photos de vacances, etc. Contrairement à Flickr ou Picasa (et Piwigo, zenphoto et autres équivalents libres), leur but n’est pas d’archiver, classer et trier ses photos, mais simplement de partager rapidement du contenu avec n’importe qui.

Eh bien, Fotoo Hosting, tout comme l’excellent Jyraphe, est une application PHP permettant de faire la même chose que ces imgur et autres TinyPic, sur son propre serveur, sans rien avoir à configurer. Il suffit de copier un seul fichier, et hop !

Fotoo Hosting permet d’envoyer des fichiers seuls (JPEG, PNG, GIF, GIF animé, et XCF et SVG, si ImageMagick est installé) et des albums photos constitués de plusieurs fichiers JPEG. Les grandes images sont redimensionnées avant envoi (en JavaScript) pour soulager votre bande passante, ainsi que le processeur de votre serveur. Il est ensuite possible de partager ces photos très simplement avec un lien court. Les photos peuvent être publiques ou privées (elles n’apparaissent alors pas dans la liste des images hébergées).

Fotoo Hosting est un logiciel libre distribué sous licence AGPL v3.

Le Top 500 de novembre 2013

Posté par  (site web personnel) . Édité par Davy Defaud et palm123. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
40
18
nov.
2013
Technologie

Le quarante‐deuxième Top 500 des supercalculateurs mondiaux est sorti aujourd’hui à l’occasion de la conférence Supercomputing SC13 de Denver (Colorado).

Rappelons que le Top 500 se base sur une soumission volontaire (de nombreuses machines puissantes mais classifiées ne participent pas à la course) et sur un comparateur de performances spécifique extrêmement parallélisable (le code LINPACK, qui concerne la résolution de systèmes d’équations linéaires).

L’analyse dans la suite de la dépêche.

E-vote : les esprits se déchaînent en Suisse.

Posté par  . Édité par Benoît Sibaud, baud123, tuiu pol, claudex et Pierre Jarillon. Modéré par patrick_g. Licence CC By‑SA.
39
29
mai
2012
Technologie

Comme l'ont prouvé de nombreux journaux et dépêches sur Linuxfr.org et aussi des articles un peu partout sur le web, le vote électronique (ou e-vote) français inquiète par ses implémentations calamiteuses - par ordinateurs de vote ou par internet - et ses solution pensées à moitié (et encore je suis gentil). Et bien vous n'êtes pas les seuls. Un système de vote par internet est actuellement en tests en Suisse et des problèmes et autres bugs ont déjà été relevés. Cette dépêche est une compilation (avec quelques modifications pour rendre le tout un peu plus fluide) d'articles écrits par Tengu et illambias. Il s'agit d'analyses à la fois techniques, sociales et démocratiques du système suisse.

Bonne lecture !

Lazarus n’est pas mort \o/

39
27
oct.
2012
Technologie

Ce n’est sans doute pas Niklaus Wirth, le père du Pascal, qui se retournera dans sa tombe. Le 28 août, Lazarus est passé en version 1 (puis 1.02).

Lazarus est un environnement de développement intégré permettant de programmer en Pascal objet en utilisant le compilateur Free Pascal et une bibliothèque de composants la LCL (Lazarus Component Library). Autrement dit, un clone libre de Delphi.

Lazarus

NdM : merci à olivierweb, baud123, Amine « nh2 » Brikci‐Nigassa, Professeur Méphisto, maboiteaspam et Nÿco pour avoir contribué à cette dépêche.

Présentation d'Ansible et version 2 à venir

Posté par  (site web personnel) . Édité par Bruno Michel, Xavier Teyssier, Benoît Sibaud, Florent Zara, ZeroHeure, palm123 et bubar🦥. Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
39
5
avr.
2015
Technologie

Ansible est un outil de la mouvance actuelle autour du DevOps. J'ai commencé à aborder son fonctionnement il y a maintenant quelques mois et force est de constater que sa prise en main est beaucoup plus simple que d'autres produits ayant la même finalité, ceci pour plusieurs raisons :

  • l'apprentissage du langage est très rapide ;
  • il n'y a pas d'infrastructure à gérer : pas de serveur central (j'y reviendrai un peu plus tard) et surtout pas d'agent.

logo Ansible

De tout, de rien, des bookmarks, du bla‐bla #45

Posté par  (site web personnel) . Édité par Davy Defaud, baud123, Florent Zara, Nils Ratusznik, Anonyme, Bruno Michel et Nonolapéro. Modéré par Bruno Michel. Licence CC By‑SA.
Étiquettes :
38
7
nov.
2012
Technologie

Comme à sa presque habitude, voici un petit condensé de ma veille.
Il s’agit comme souvent (mes journaux et maintenant mes dépêches) essentiellement de bookmarks, très légèrement commentés. C’est plutôt orienté développement, essentiellement côté Web et JavaScript, mais j’essaie aussi de toujours avoir deux ou trois petites choses annexes. Le but étant juste de partager et d’initier discussions, débats, avis, touckevouvoulez.

Comme toujours, vous trouverez une liste des liens présentés en fin d’article, pour que les plus rapides puissent cliquer directement sans lire le bla‐bla qui traîne autour.

Bonne lecture !

Domogik 0.1.0, pour la domotique pratique

Posté par  . Modéré par patrick_g.
38
14
oct.
2011
Technologie

Domogik est une solution libre, sous licence GPL v3+, de domotique ou automatisation d’habitat, basée sur le protocole xPL. La documentation Wiki, très complète, détaille l’installation, l’utilisation ainsi que les possibilités d’extension de Domogik.

  • Domogik est donc sortie en première version 0.1.0 et comprend huit greffons : Plcbus, x10, 1wire, Ipx800, Teleinfo, RFID Mir:ror, Modem « caller id », WakeOnLan / Ping ;
  • Domoweb est une interface graphique HTML 5 + CSS 3, et permet de contrôler votre maison depuis un navigateur Internet ;
  • Domodroid est une application pour Android en cours de développement, mais déjà fonctionnelle. Elle est toujours en phase de test.

La version suivante contiendra la fonctionnalité la plus attendue de Domogik, à savoir la possibilité de créer des scénarios. De nouveaux greffons devraient également faire leur apparition : Zibase, Zwave, notifications Android et iPhone, envoi de SMS, rfxcom, TTS, tellstick, etc..

wxWidgets 3.0

Posté par  (site web personnel, Mastodon) . Édité par Davy Defaud, Benoît Sibaud, fravashyo, palm123 et claudex. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes : aucune
38
12
nov.
2013
Technologie

Après des années de développement, et une phase RC entamée début octobre, la nouvelle version stable de la bibliothèque graphique libre wxWidgets est désormais disponible. Il faut dire que wxWidgets 2.8.x est présente depuis décembre 2006, et nous en sommes actuellement à la version 2.8.12 datant de mars 2011 ! Cette nouvelle version apporte une certaine fraîcheur à cette bibliothèque plus que stable.

logo wxwidget

Parmi les nouveautés, on peut retenir notamment :

  • une prise en charge de l’Unicode bien meilleure, transparente et simplifiée ;
  • un nouveau portage pour OSX / Cocoa (via wxOSX), permettant le développement d’interfaces applicatives en 64 bits sous OS X ;
  • la prise en compte de GTK+ 3 dans wxGTK ;
  • une nouvelle bibliothèque wxRibbon pour réaliser des interfaces sous forme de ruban;
  • une nouvelle interface d’édition de propriétés, wxPropertyGrid ;
  • l’ajout de contrôles graphiques persistants qui sauvegardent et restaurent leur état automatiquement ;
  • la documentation, qui passe du LaTeX à [Doxygen], incluant des captures d’écran des contrôles. Suite à ce changement, l’équipe est friande de vos retours, surtout que la syntaxe est, a priori, plus simple et la soumission de patches aussi.

Consultez le journal des modifications complet, si vous voulez plus de détails sur les nouveautés et surtout les changements. En effet, cette nouvelle version majeure apporte son lot d’incompatibilités, surtout dues au passage à l’Unicode. Une synthèse des changements incompatibles avec la version 2.8 est disponible. Mais, encore une fois, il est préférable d’aller dans le détail si vous êtes développeur.

Neovim : une refonte de vim pour le 21è siècle

Posté par  (site web personnel) . Édité par Florent Zara, BAud et Benoît Sibaud. Modéré par Ontologia. Licence CC By‑SA.
Étiquettes :
38
26
fév.
2014
Technologie

Neovim est un fork tout récent (fin janvier 2014) de Vim. Faut-il rappeler ce qu'est Vim (Vi IMproved), le fameux éditeur de texte ? Lui-même clone le plus populaire de l'ancêtre Vi ?

Logo VIM

Le logiciel a maintenant plus de 20 ans, contient environ 300 000 lignes de code de vieux C effrayant que peu de gens comprennent. Le mainteneur (unique ?) de Vim, Bram Moolenaar, refuse de factoriser certaines parties du code, et est très prudent avant d'accepter des patchs, car c'est lui qui devra en assurer la maintenance. Conséquence de tout ça : Vim est très dépendant d'une seule personne et évolue très lentement.

Neovim a pour objectif premier de simplifier la maintenance de vim :

  • modernisation du système de compilation : utilisation de cmake ;
  • suppression du code assurant la compatibilité avec de vieux systèmes ;
  • utilisation d'une bibliothèque externe (libuv) pour s'abstraire des différences entre les systèmes d'exploitation ;
  • factorisation « agressive » du code ;
  • meilleure séparation du code entre différents développeurs.

Par la suite, un nouveau système de plugins est prévu, ainsi que la possibilité de pouvoir créer plus facilement des interfaces graphiques (à la manière des plugins).

NdM : merci à Carif pour son journal.