Developpez.com

Le Club des Développeurs et IT Pro

Sondage : quelles sont les meilleures polices de caractères pour la programmation ?

Quels sont vos critères ?

Le 2018-05-16 07:37:12, par Patrick Ruiz, Chroniqueur Actualités
La nouvelle de la disponibilité de Sublime Text 3.1 a filtré sur cette plateforme il y a peu. Au rang des fonctionnalités les plus applaudies par les utilisateurs sur les forums reddit : le support des ligatures ; la preuve que lorsque vient l’heure de cracher du code, les développeurs sont pointilleux sur le confort visuel que la police utilisée contribue à renforcer. Quelles sont les meilleures polices pour la programmation ? La réponse à la question dépend du jeu de paramètres à prendre en considération.

Un ingénieur full stack s’est prêté au jeu et a intégré la popularité, la gratuité et des aspects plus techniques (différenciation aisée des caractères similaires – 0 et O par exemple, etc.) comme critères pour dégager une liste constituée d’une dizaine de polices. Tour d’horizon …

Hack

Il s’agit d’une police basée sur Bitstream Vera et DejaVu et distribuée sous licence open source MIT. Elle offre un visuel qui permet d’éviter les cas de confusion classiques (chiffre zéro et lettre « o », chiffre 1 et barre verticale). Par exemple, le chiffre zéro intègre un slash qui le distingue de la lettre « o ». Illustration au sein d’une fenêtre de l’éditeur Visual Studio Code.


DejaVu Sans Mono

Cette dernière dérive de la police Bitstream Vera et est de ce fait distribuée sous licence MIT. Elle offre également un visuel qui permet d’éviter les cas de confusion classiques (chiffre zéro et lettre « o », chiffre 1 et barre verticale). Dans ce cas, le chiffre zéro intègre un point qui le distingue de la lettre « o ». Une capture d’écran de la police sous Visual Studio Code est disponible.


Monaco

Cette police de caractère est livrée avec OS X et les versions antérieures de ce système d’exploitation pour ordinateurs de bureau d’Apple. Elle est disponible en téléchargement en ligne, mais est apparemment publiée sous licence propriétaire, ce qui veut dire que son utilisation est en principe soumise à l’obtention d’une permission de la part d’Apple. Toutefois, il existe des dépôts GitHub permettant de l’installer sur Linux et d’autres systèmes d’exploitation. D’avis d’observateurs, la police de caractères offre une bonne lisibilité du code source.


Source Code Pro

On doit cette police de caractères à l’éditeur de logiciels graphiques Adobe. Source Code Pro est basé sur OpenType, un format de fonte numérique open source, fruit d’une collaboration entre Microsoft et Adobe. Les observateurs sont d’avis que cette police de caractères offre une clarté quasi inégalée du code source.


Menlo

Cette police qui a été livrée pour la première fois avec Mac OS X Snow Leopard est basée sur le projet open source Bitstream Vera et sur la police DejaVu Sans Mono. Comme dans le cas de Monaco, de nombreux dépôts GitHub permettant d’installer la police ou une de ses variantes sur Linux ou d’autres systèmes d’exploitation existent.


Consolas

Il s’agit d’une police distribuée sous licence propriétaire par Microsoft. Elle jouit d’une popularité certaine, puisque proposée aux utilisateurs de l’environnement de développement intégré Visual Studio.


Space Mono

Cette police est publiée sous licence OFL (Open Font License) par Colophon Foundry pour le compte de Google Design. Elle est téléchargeable directement à partir du dépôt GitHub officiel.


FiraCode

Sa prise en charge fait partie des nouveautés de l’éditeur Sublime Text 3.1. Sa particularité est de faire fusionner plusieurs caractères en un seul pour une meilleure lisibilité du code. Prêtez une attention particulière à la façon dont le != et le ≤ sont représentés dans le code source. FiraCode est une extension de la police de caractères Fira Mono.


Anonymous Pro

Cette police de caractère est également publiée sous licence OFT (Open Font License). Elle adopte des schémas de différenciation (des caractères qui se prêtent le plus à la confusion) similaires à ceux de la police Hack.



IBM 3270

Il s’agit d’une version moderne de la police utilisée sur les terminaux 3270 conçus par IBM à partir de 1972. Elle est publiée sous licences BSD et CCAS 3.0.


Droid Sans Mono

Les habitués d’Android sauront reconnaître cette police conçue par Google pour son système d’exploitation pour dispositifs mobiles. Droid Sans Mono fait partie de la famille des polices Droid publiées par la Open Handset Alliance sous licence Apache.


Source : medium

Et vous ?

Que pensez-vous de la liste proposée par ce développeur ?

Lesquelles de ces polices de caractères utilisez-vous le plus ? Pour quelles raisons ?

Votre entreprise a-t-elle fait l’acquisition de polices payantes ? Quels motifs justifient sa démarche ?
  Discussion forum
18 commentaires
  • Steinvikel
    Membre expert
    GNU FreeFont me semble également un bon candidat, couvrant une grande partie de la table Unicode, et n'étant pas uniquement "open-source", mais également libre (GNU GPL).
    De plus se sont des caractères vectoriels (vectoriaux ?), un grand avantage quand je commencerais à agrandir mes polices avec les années qui passent, et la taille/définition des écrans qui augmente.

    je me permet une question :
    Si avant, les résolution/définition d'écran CRT ne permettaient pas un affichage fin des polices à empattement (avec sérif), contrairement aux polices plus linéaires (linéales), telle que présenté dans l'article... aujourd'hui il est tout à fait possible de le faire sans engendrer des problèmes de rendu. Une police d'écriture à empattement ne serait-elle pas plus confortable à utiliser ? Facilitant d'autant plus la distinction des glyphes voisins (i I maj' avec l L min ou même 1, o O avec 0, double nn avec m, etc.).
  • AoCannaille
    Expert confirmé
    Je code en webdings. Juste pour paumer ceux qui regardent mon écran par dessus mon épaule.
  • Se7h22
    Membre confirmé
    J'utilise Liberation Mono Regular avec Gedit, sinon dans mon terminal de commande, et pour Vim donc, c'est Ubuntu Mono Regular (je suis sous Debian, mais j'étais sous Ubuntu il y a quelques années et je trouvais leur police plutôt agréable).

    Édite : Sinon, je ne suis pas fan des polices qui fusionnent certains caractères. Car c'est effectivement plus beau à lire, mais ça dénature le code, dans le sens que si on utilise une police monospace c'est certes pour aligner le code (cette alignement pourrait être cassé avec ces polices d'ailleurs), mais également pour savoir qu'une colonne est égale à un caractère, et non deux. Et j'imagine que ça peut être perturbant pour l'utilisation des chaînes de caractères avec certains langages

    Après il faut voir à l'usage, peut-être que mes réticences n'ont pas lieu d'être… Quelqu'un les utilisent-ils au quotidien ? Un petit retour sur ce type de police peut être intéressant
  • Sipige
    Membre régulier
    Vous pensez vraiment que ça change qqch...
  • fatbob
    Membre éclairé
    Envoyé par Sipige
    Vous pensez vraiment que ça change qqch...
    Si l'on parle d'un choix entre bitstream et dejaVu, non. Pas grand chose.
    Par contre, avoir une police monospace, qui permet de distinguer facilement un O d'un 0, un 1 d'un l ou d'un |, avec une épaisseur de caractères suffisante mais pas trop épaisse, oui, c'est utile, à la fois pour le confort (après tout, pour un codeur, c'est la police qu'il verra le plus) et pour éviter certaines recherches d'erreurs parfois stupidement fastidieuse parce qu'on est un peu fatigué.

    Cela dit, on est bien d'accord sur le fait que ça ne change pas tout et il est bien entendu possible de coder avec n'importe quelle police si on veut.

    Pour ma part, je suis toujours sur bitstream (= dejaVu à peu de chose près) parce que je trouve que les autres sont souvent soit trop fines soit trop larges par rapport à leur hauteur (ie : trop d'espace entre les lignes)
  • fatbob
    Membre éclairé
    Envoyé par transgohan
    @saverok
    @fatbob
    C'est pas faux pour les fichiers de données, cela peut avoir son intérêt. J'ai rarement à en utiliser donc je n'y avais pas pensé.
    Moi j'ai le nez dedans en permanence et ils proviennent de sources extrêmement hétérogènes, en particulier des trucs extraits de documents word avec tous les pièges que ça recèle en terme de longueur de tirets et autres espaces insécables (à tel point que j'ai modifié mes fichiers de coloration syntaxique pour les voir (pas pour les langages, bien sûr, mais pour les textes bruts et les csv)).
  • transgohan
    Expert éminent
    Personnellement j'utilise n'importe quelle police, je ne change jamais celle utilisée par défaut dans l'éditeur.
    Pourquoi ? Parce que je m'affranchis des problèmes de différentiation avec des règles de codage qui ne permettent aucune ambiguïté.
  • hotcryx
    Membre extrêmement actif
    Deja Vu est très très bien en Terminal (Ubuntu)

    Il y a aussi Roboto pour les TV.
  • fatbob
    Membre éclairé
    Envoyé par AoCannaille
    Je code en webdings. Juste pour paumer ceux qui regardent mon écran par dessus mon épaule.
    T'as ça aussi (si tu utilises vim)
    https://www.vim.org/scripts/script.p...?script_id=800
  • fatbob
    Membre éclairé
    Envoyé par transgohan
    Personnellement j'utilise n'importe quelle police, je ne change jamais celle utilisée par défaut dans l'éditeur.
    Pourquoi ? Parce que je m'affranchis des problèmes de différentiation avec des règles de codage qui ne permettent aucune ambiguïté.
    1- La police par défaut peut ne pas être agréable (celle de gvim est atroce)
    2- les situations d'ambigüités ne sont en général pas légion, surtout pas dans le codage pur. Par contre, si tu ouvres des fichiers de données (genre csv) avec un éditeur pour faire des traitements et qu'une colonne contient un code quelconque, la distinction facile peut être un avantage certain.