Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

DLFP - Dépêches  -  Sortie du livre « Parallel and Concurrent Programming in Haskell »

 -  Juillet 2013 - 

Le livre Parallel and Concurrent Programming in Haskell de Simon Marlow est enfin disponible !

Pour ceux qui ne le connaîtraient pas encore, le langage Haskell est un langage de programmation fonctionnel, fortement typé, paresseux et concis. Haskell est issu de l’initiative d’une communauté de chercheurs en langages fonctionnels qui ont décidé, à la fin des années 80, de mettre en commun leurs compétences en utilisant tous un seul langage, qui devrait rester libre. Depuis, le langage est en constante évolution, la dernière version stable est définie dans le rapport Haskell 2010, mais de multiples extensions existent dans le compilateur GHC, dont les plus courantes viendront s’ajouter à la prochaine version du langage.

Pour avoir une idée de sa syntaxe très particulière, voilà l’une des innombrables façons de définir la factorielle :

fac 0 = 1
fac n = n * fac (n-1)

En espérant que cela vous laisse sur votre faim, vous pourrez en apprendre plus dans les livres classiques Learn You a Haskell for Great Good qui est aussi librement accessible en version HTML, y compris en français, et le plus vieux, mais plus développé et appliqué, Real World Haskell, lui aussi accessible en ligne.

L’auteur

Simon Marlow est l’un des développeurs de GHC, le compilateur de facto standard du langage, et l’éditeur du dernier rapport du langage (Haskell 2010). Il travaillait jusqu’il y a peu chez Microsoft Research à Cambridge, notamment avec Simon Peyton Jones, l’un des pères de Haskell, mais vient d’être débauché par Facebook. On peut remarquer que le financement de Microsoft n’a nullement entravé le développement d’un compilateur libre d’une grande qualité (GHC), ni les fondements libres du langage Haskell. Simon Marlow a en particulier travaillé sur les aspects parallèles du compilateur, ce qui en fait l’un des plus aptes à nous en expliquer son fonctionnement.

Le livre

Le livre est disponible en versions électroniques (sans DRM) chez O’Reilly. Il est aussi accessible en ligne dans son intégralité en version HTML. La version papier sortira sous peu.

La lecture de l’ouvrage nécessite d’avoir des connaissances de base du langage Haskell, par exemple au travers des livres cités ci-dessus.

On y retrouve toutes les dernières avancés de Haskell, GHC et des bibliothèques associées, en ce qui concerne le parallélisme, tout ce qui fait d’Haskell un langage fortement parallèle, et va ainsi à l’encontre de son slogan officieux : Avoid success at all cost! On peut ainsi apprendre comment paralléliser très simplement son code :

a <- rpar (f x)
b <- rpar (f y)

Ici, les deux appels à f seront effectués en parallèle grâce à rpar.

On apprend aussi comment utiliser la bibliothèque de tableaux multi-dimensionnels repa, bibliothèque qui interagit avec le compilateur pour optimiser le parallélisme sur plusieurs processeurs, avec fusion de boucles par exemple :

sum3 a b c = a +^ b +^ c

Ici a, b et c sont des tableaux multi-dimensionnels qui verront leurs éléments additionnés de façon parallèle. À noter, il n’y aura pas de création d’un objet intermédiaire a +^ b, contrairement à un programme NumPy par exemple.

Le dernier chapitre de la programmation parallèle est consacré à Accelerate, pour programmer du code qui sera compilé vers le GPU. Il s’agit principalement d’utiliser la plateforme CUDA, même si d’autres backends comme OpenCL ou Repa existent, ils sont bien moins développés.

Enfin, la deuxième partie du livre est dédiée à la programmation concurrente, avec tous les usual suspects : mutex, échange de messages, STM, multi-threading, programmation distribuée, etc. Le tout avec des exemples concrets (serveurs de chat, recherche de fichiers, …).

Toutes ces technologies sont en cours de développement intensif, et l’auteur nous fait non seulement un état de l’art des différentes publications sous-jacentes, mais nous met aussi en garde sur l’instabilité de certains composants.

Lire les commentaires

par neil, tuiu pol, NeoX, patrick_g

DLFP - Dépêches

LinuxFr.org

Entretien avec GValiente à propos de Butano

 -  16 avril - 

GValiente développe un SDK pour créer des jeux pour la console Game Boy Advance : Butano.Cet entretien revient sur son parcours et les raisons (...)


Nouveautés d'avril 2024 de la communauté Scenari

 -  11 avril - 

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous (...)


Annuaire de projets libres (mais pas de logiciels)

 -  9 avril - 

Les communs sont une source énorme de partage !S’il est plutôt facile dans le monde francophone de trouver des ressources logicielles (Merci (...)


Les enchères en temps réel, un danger pour la vie privée mais aussi pour la sécurité européenne

 -  7 avril - 

Les enchères en temps réel, ou Real-Time Bidding (RTB), sont une technologie publicitaire omniprésente sur les sites web et applications mobiles (...)


XZ et liblzma: Faille de sécurité volontairement introduite depuis au moins deux mois

 -  31 mars - 

Andres Freund, un développeur Postgres, s’est rendu compte dans les derniers jours que xz et liblzma ont été corrompus par l’un des mainteneurs du (...)