Skip to content

Le méta UTF-8 : un concept révolutionnaire

Vu sur le blog Zeguigui : le flux RSS en méta UTF-8 : http://www.zeguigui.com/weblog/index.rdf.
Pour obtenir un flux en méta UTF-8, il suffit de prendre un flux en UTF-8 et de repasser la conversion ISO->UTF8 sur celui-ci. Ainsi la phrase :

Celle-ci a été mise à jour régulièrement.

Devient :

Celle-ci a �©t�© mise �  jour r�©guli�šrement.

Là où c'est très fort, c'est qu'on peut appliquer à nouveau le procédé sur le flux ainsi obtenu et obtenir du méta méta UTF-8... Et ainsi de suite ...

A quoi cela sert-il ? Euh... Pour l'instant on cherche encore ... Mais il semble clair que le méta UTF-8 est encore plus international que l'UTF-8. Il paraitrait que ce procédé faciliterait la mise en place de flux en langue klingon.

Qapla' !

Acquisition de ressources par initialisation

L'ouvrage de référence du C++, dans lequel la méthode est exposée

"L'acquisition de ressources par initialisation" est aussi appelée "L'acquisition de ressource, c'est l'initialisation", traduction directe de l'anglais "ressource acquisition is initialization" (RAII).


Il s'agit d'une technique de programmation qui permet une gestion automatique des ressources informatiques (mémoire, fichiers, locks, connexion à une API, ...). Elle permet en effet d'assurer la libération immédiate des ressources lorsque celles-ci ne sont plus utiles, que ce soit dans le cadre d'un fonctionnement normal ou bien de conditions exceptionnelles (erreurs).


Cette technique est apparue à la suite de discussions sur l'évolution du langage C++ (début des années 90 si ma mémoire ne me fait pas défaut). Certains souhaitaient l'intégration dans C++ d'un mécanisme de ramasse-miettes (garbage collector = gestion automatique de la mémoire), mécanisme déjà présent dans des langages comme LISP. Finalement la technique d'acquisition de ressources par initialisation s'est imposée face à cette approche.


L'efficacité (libération de ressource immédiate), la robustesse et l'universalité (pas uniquement utilisable pour la mémoire) de l'acquisition de ressources par initialisation explique que, bien qu'il existe de bonnes solutions de ramasse-miettes pour C++, ces dernières ne soient jamais devenues populaires.


La technique repose sur la création d'objet dans le tas (heap) et sur un mécanisme de destructeurs appelés automatiquement. Si C++ connaît ces notions, des langage moins complets comme Java ne permettent pas de mettre en place cette technique, il faut alors se contenter du ramasse-miette.


L'article sur Wikipedia

Les pages c++ de Bjarne Stroustrup, voir en particulier les FAQs

Continuer à lire "Acquisition de ressources par initialisation"