Journal La petite histoire de la naissance d'un logiciel libre de Notes de Frais : DoliSCAN

Posté par  . Licence CC By‑SA.
36
30
mai
2020

Salut à toi Journal,
je vais te raconter une petite histoire, celle de la naissance d'un logiciel libre qui prends son envol et pour lequel j'ai envie de garder une trace avant qu'il ne soit trop tard ;-)

C'est "La petite histoire de DoliSCAN"

Après avoir développé plein d'outils en php3 il y a de (très) longues années, puis porté plus ou moins tout ça en php4 et maintenu du code pendant tout ce temps j'ai eu envie de me (…)

Night of the living BSDeads

Posté par  (site web personnel) . Modéré par Jaimé Ragnagna.
Étiquettes :
36
7
avr.
2009
Communauté
3 ans se sont écoulés depuis ma dernière news globale BSD or comme tout le monde le sait "BSD is dying" depuis longtemps, donc aujourd'hui ils doivent être morts.

Allons vérifier sur le terrain.

Pour rappel, etoileBSD n'existe pas, il s'agit en fait de 4 systèmes d'exploitations différents ayant tous une souche commune et partageant du code issu de 4.4BSD Lite2 :
  • DragonflyBSD
  • FreeBSD
  • NetBSD
  • OpenBSD

(il existe bien aussi MidnightBSD fork de freebsd 6 mais ce dernier reste encore assez confidentiel, de même pour mirbsd fork de openbsd mais lui aussi reste très confidentiel).

Nouvelle version pour Doxygen

Posté par  . Modéré par patrick_g. Licence CC By‑SA.
36
6
sept.
2011
Doc

Doxygen est un générateur de documentation à partir du code source de différents langages. Il est disponible pour les langages suivants : C, C++, C#, Fortran, Java, Objective-C, PHP, Python, IDL, VHDL, TCL et D. Les formats de sorties sont : HTML, LaTeX, RTF, PostScript, PDF (avec les hyperliens), HTML compressé et les pages de manuel Unix.

La liste des utilisateurs est grande, on retrouve KDE, Drupal, DotClear, LLVM, OpenTTD…

Doxygen est compatible avec les conventions de JavaDoc et celles de Qt. Il permet aussi de générer des graphes d’utilisation et d’héritage. Il s’utilise de la manière suivante (exemple en C++) :

/*! Classe d'exemple 
 * @author Xavier Claude
*/
public class Exemple {

    protected:
        /*! la description d'un attribut */
        std::string s;
    public:
        /*! La description d'une classe
         * @param newS la nouvelle valeur de s
         * @return true en cas de succès
         */
         bool setS(std::string newS);
}

Comme cela fait longtemps que les nouvelles versions de Doxygen n’ont pas été évoquées sur LinuxFr.org, un résumé des nouveautés des dernières versions est disponible en deuxième partie. Il y a bien sûr eu, en plus, beaucoup de corrections de bogues et quelques changements de comportement.

Sortie de LLVM 2.6

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
36
25
oct.
2009
Technologie
LLVM, pour Low Level Virtual Machine, est un niveau d'abstraction pouvant se rapprocher d'une machine virtuelle permettant de lancer des programmes compilés en une représentation intermédiaire (LLVM bytecode), ainsi que de générer directement des binaires natifs pouvant être lancés sans LLVM.

LLVM est entre autres utilisé par Gallium 3D[en], une infrastructure de pilotes de carte graphique, pour compiler à la volée les shaders utilisés par les cartes graphiques, et ainsi les optimiser. LLVM est également utilisé par le projet Clang, un compilateur C, C++, Objective-C et Objective-C++ libre faisant concurrence à GCC, et en partie développé par Apple. Notez que bien que le support du C par Clang soit tout à fait correct, son support du C++ laisse encore quelque peu à désirer.

Le 23 octobre 2009, la version 2.6 de LLVM est sortie. Cette version apporte pas mal de nouveautés depuis la version 2.5 sortie le 2 mars 2009, version qui a fait l'objet d'une dépêche. Le détail de ces nouveautés se trouve dans la suite de la dépêche.

Rencontre des Développeurs LLVM 2012

Posté par  (Mastodon) . Édité par baud123, claudex, Benoît Sibaud et Pierre Jarillon. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
35
25
nov.
2012
C et C++

Les 7 et 8 novembre derniers a eu lieu la Rencontre des Développeurs LLVM 2012 (2012 LLVM Developers' Meeting) à San José en Californie. C'est la sixième rencontre du genre et les participants sont toujours de plus en plus nombreux. Dans son introduction, Chris Lattner, le père de LLVM, a fait un rapide bilan de l'année écoulée.

LLVM (anciennement appelé Low Level Virtual Machine en français : « machine virtuelle de bas niveau ») est une infrastructure de compilateur conçue pour optimiser la compilation, l'édition de liens, l'exécution d'un programme écrit dans un langage quelconque.

En plus des nouvelles fonctionnalités (notament C++11) et des nouvelles architectures prises en charge (Hexagon et MIPS64), Chris a fait état d'une communauté des développeurs LLVM et Clang très dynamique. En ce qui concerne LLVM, 78 nouveaux committers (personnes qui ont du code qui a été incorporé) sont arrivés cette année pour porter le total à 167 committers différents. Les chiffres sont quasiment identiques pour Clang (le frontend C/C++/Objective-C de LLVM) : 72 nouveaux committers pour un total de 132. Le code source de LLVM a grossi de 131 KLoc pour un total de 1,4 MLoc tandis que le code de Clang a grossi de 260 KLoc pour un total de 1,0 MLoc.

La conséquence est l'apparition de nouveaux problèmes : certains patchs ont du mal à être revus, l'infrastructure de build et de test de performance commence à montrer ses limites, la gestion des sorties de nouvelles versions se complique. Chris a donc fait un appel à la communauté pour demander de l'aide dans l'analyse des problèmes de performance, dans l'infrastructure de test, dans la documentation, etc.

Il a également demandé aux contributeurs les plus impliqués de devenir «propriétaire de code» (au sens responsable dudit code). Concrètement, il s'agit de prendre en charge une sous-partie de LLVM dont le propriétaire s'engage à assurer la bonne maintenance et évolution, notamment en passant en revue les patchs concernant cette sous-partie. Immédiatement, de nombreux volontaires se sont fait connaître ou ont été proposés.

La suite de la dépêche propose un résumé de quelques présentations qui ont eu lieu lors de cette rencontre.

Smash The Code, concours d'intelligence artificielle, démarre le 30 avril 2016

33
26
avr.
2016
Jeu

Smash the Code sera le prochain concours de programmation d'intelligence artificielle organisé par CodinGame. L'événement se déroulera en ligne du samedi 30 avril 2016 à 18h (heure de Paris) au dimanche 8 mai 20h. La participation est gratuite et ouverte aux développeurs du monde entier.

Smash the Code est un jeu de type multijoueurs où les participants devront développer un bot capable de vaincre ses adversaires de manière autonome. Pendant les 8 jours du concours, il sera possible de modifier son code autant que souhaité pour améliorer sa stratégie (pas de limitations, pas d'obligations). Pour rassurer ceux qui n'auraient pas beaucoup de temps à consacrer à leur programme, sachez qu'on peut démarrer et s'amuser avec une solution minimale qui peut être codée en quelques minutes seulement.

Les participants pourront tenter de décrocher les lots offerts aux meilleurs du classement, et candidater pour des emplois ou des stages auprès des sociétés sponsors de l'évènement.

Illustration

Journal Clang++ est prêt

Posté par  (site web personnel) .
Étiquettes :
32
24
mai
2010
Bonjour,

Ce week-end, alors qu'il m'était impossible de réactualiser frénétiquement la page d'accueil de Linuxfr pour voir s'il n'y avait rien d'intéressant, je suis allé sur le site de LLVM.

Tout d'abord, la page d'accueil de ce site est un peu plus peuplée, et liste tous les projets intéressantes de LLVM :

  • LLVM lui-même, architecture modulaire permettant de créer des compilateurs pour plein de langages, mais aussi des interpréteurs, etc
  • Clang, le compilateur C, C++, Objective-C et Objective-C++ (…)

Histoire de l'Objective-C et décès de son créateur

Posté par  . Édité par Ysabeau 🧶 🧦 et Benoît Sibaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
31
27
jan.
2021
C et C++

Brad Cox, créateur de l’Objective-C, est mort aux premiers jours de 2021. Il avait commencé ce langage en 1981 dans le labo de Tom Love en permettant grosso-modo de convertir une syntaxe Smalltalk en C. Par la suite, Tom Love et lui ont lancé la société Stepstone pour développer l’Objective-C. Steve Jobs s’est beaucoup intéressé à eux et a fini par débaucher l’un des ingénieurs du langage, Steve Naroff, pour travailler chez NeXT à étendre GCC. On notera incidemment la similarité des noms Stepstone et NextSTEP. En 1994, NeXT a racheté tous les droits sur l’Objective-C, plus tard revendus à Apple.

Logo Objective-C

L’an dernier Brad Cox et Steve Naroff ont publié dans Proceedings of the ACM on Programming Languages (une revue en OpenAccess) un excellent, et long, article décrivant en détail l’histoire de l’Objective-C. Cet article, « The origins of Objective-C at PPI/Stepstone and its evolution at NeXT » est sous licence Creative Commons By SA 4.0. Des volontaires pour traduire ?

LLVM 2.8, ça avance !

Posté par  (Mastodon) . Modéré par patrick_g.
31
22
oct.
2010
Technologie
Une nouvelle version de LLVM (Low-Level Virtual Machine) est sortie le 5 octobre 2010. Elle se nomme LLVM 2.8 et suit la version 2.7 sortie le 27 avril dernier. LLVM est une infrastructure de compilation sous licence BSD et est soutenue par Apple. Elle représente en fait une boîte à outils pour réaliser des compilateurs, des machines virtuelles et plein d'autres choses. Elle est fondée sur un langage assembleur typé qui sert de représentation intermédiaire pendant la compilation, mais également de bytecode sur le disque et de langage assembleur à part entière. Le projet LLVM développe également nombre de sous-projets, et non des moindres, comme Clang qui est un compilateur C/C++/Objective C/Objective C++.

Cette nouvelle version apporte plein d'améliorations, notamment au niveau des performances, et de nouveautés, que ce soit dans LLVM ou dans les projets annexes. Quelques-unes des principales avancées sont données dans la suite de la dépêche.

Sortie de Linphone Android 2.0

Posté par  (site web personnel) . Édité par Nÿco, baud123, Benoît, Nils Ratusznik et NeoX. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
31
14
déc.
2012
Audiovisuel

Une nouvelle version majeure de Linphone, le softphone SIP open-source sous licence GPL, vient de sortir pour la plateforme Android et iOS. Beaucoup de nouveautés sont au programme (voir dans la suite de la dépêche), la principale étant une toute nouvelle interface graphique.

Linphone est soutenu par Belledonne Communications, société française basée à Grenoble. Linphone tourne sur Android, iOS et Blackberry OS, mais également sur Linux, Windows et Mac OS X. Il existe plusieurs « interfaces » : l'interface Gtk+/glade, la console (linphonec, linphonecsh), l'application iOS (en Objective-C) et l'application Android (en Java). Le cœur, la bibliothèque Liblinphone se repose sur mediastreamer2 (SDK multimedia), oRTP (une bibliothèque RTP) et eXosip2 (un user agent ou « client » SIP, lui-même basé sur la bibliothèque osip). Lire Understanding the internals of linphone.

Mandriva Linux 2009.1 Spring est disponible

Posté par  (site web personnel) . Modéré par patrick_g.
30
30
avr.
2009
Mandriva
La nouvelle version de Mandriva Linux est disponible ce jour pour téléchargement pour tous, sur tous les miroirs habituels.

Fidèle à son calendrier de sortie d'une version tous les six mois, Mandriva met à disposition la version dite Spring 2009.1.

Cette version inclut un nombre conséquent de mises à jour, tant au niveau du cœur du système (noyau, GlibC) que du serveur d'affichage Xorg, des bureaux au choix, des outils applicatifs tiers. Une révision des drakxtools et de nombreux points d'améliorations sur certains sont également au menu de cette Spring.

Elle propose un nouveau mode de traitement des fichiers ISO : au lieu de simplement les graver, on peut dorénavant les transférer sur une clef USB, directement, et obtenir une clef USB amorçable. Ceci est valable tant pour la version LiveCD que la version classique. Un utilitaire graphique pour toutes les distributions est disponible pour réaliser cette opération de copie d'ISO sur une clef USB (« ISO hybride »). L'opération est rapide, très simple et parfaitement fonctionnelle.

Journal Un premier contact avec le langage Nim

Posté par  . Licence CC By‑SA.
30
3
juil.
2019

Au gré de mes pérégrinations sur Github, j'ai trouvé un benchmark de serveur Web qui date un peu mais qui m'a interpelé.

J'avais déjà entendu parlé du langage Nim mais je le classais plutôt comme projet de recherche.
En regardant de plus près, je tombe sur une version 0.20 aboutie et un éco-système déjà très riche.

Nim se décrit comme un langage compilé statiquement typé qui propose également la méta-programmation (macros), un ramasse-miette, le "pattern-matching" fonctionnel et une compilation (…)

Swift sous GNU/Linux - Introduction

Posté par  . Édité par RyDroid, Nÿco, Anonyme, NeoX, Ontologia et esdeem. Modéré par Ontologia. Licence CC By‑SA.
Étiquettes :
29
8
mar.
2016
Linux

Swift est le nouveau langage de programmation d’Apple. Il a été rendu libre et open-source, sous licence Apache 2.0, le 3 décembre 2015. Nous allons voir à travers cet article comment l’installer et l’utiliser sur GNU/Linux. Vous n’avez pas besoin d’avoir de connaissance avancée de GNU/Linux, ni de machine avec GNU/Linux installée pour suivre ce tutoriel.

Swift

Pharo 1.4 — nouvelle version d'un Smalltalk libre

Posté par  . Édité par laurent laffont, claudex, Damien, Nÿco, patrick_g et B16F4RV4RD1N. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
28
20
avr.
2012
Communauté

Le projet Pharo est fier d’annoncer la sortie de Pharo 1.4 — un environnement Smalltalk innovant et de qualité. Pharo est un projet libre distribué sous licence MIT.

Pour rappel, Pharo Smalltalk consiste en un langage objet minimaliste et un environnement de développement intégré. Cela permet de programmer et manipuler les objets lors de leur exécution, générer les messages et leurs implémentations directement depuis le debugger.

Rejoignez-nous !

Dans la suite de la dépêche, d'autres nouvelles de l'écosystème Smalltalk.

Journal Apple annonce Swift, son nouveau langage de programmation

Posté par  . Licence CC By‑SA.
28
2
juin
2014

Une nouvelle guerre est lancée et chacun veut en être. Pourquoi ? Aucune idée, mais tout le monde y va de son langage de programmation.

Partant du constat que C c'est beurk, trop bas niveau, gérer la mémoire manuellement c'est has been, que C++ c'est beurk, trop complexe, gérer la mémoire manuellement c'est has been et que les langages actuels ont le défaut d'être… actuels, il était grand temps de se lancer dans la création d'un nouveau langage.

Petit tour (…)