Apprendre un langage de programmation par an

Posté par (page perso) . Modéré par baud123.
24
20
déc.
2010
Technologie
Un de mes livres d'informatique préférés est The Pragmatic Programmer, from journeyman to master. Dedans, on y trouve une foultitude de conseils, dont l'un m'a particulièrement marqué : il est souhaitable d'apprendre un nouveau langage de programmation tous les ans pour parfaire son portfolio de connaissances.

L'année 2011 va bientôt arriver et je souhaite partager avec vous quelques suggestions de langages pour ceux qui voudraient suivre ce conseil :
  • Ruby (disponible sous Licence Ruby et GPL) reste mon langage préféré et je ne saurais trop vous conseiller de le découvrir !
  • Reia (disponible sous licence MIT) est un langage avec une syntaxe inspirée de Ruby qui tourne au-dessus de la machine virtuelle d'Erlang, permettant ainsi de profiter du meilleur des deux mondes.
  • Go (disponible sous Licence BSD) est un langage assez jeune mais déjà très intéressant, avec notamment la programmation concurrente à base de Goroutines.
  • Io (disponible sous Licence BSD) est un langage de programmation qui s'appuie sur les prototypes, avec des inspirations venant de Smalltalk, Self, Lisp et Lua.
  • Scala (disponible sous Licence BSD) pourrait être le futur pour les développeurs Java et propose déjà des avancées très pertinentes comme son modèle d'Actors ou son travail sur le typage.
  • F# (disponible sous Licence Apache) est un langage de programmation fonctionnelle, fortement inspiré d'OCaml et issu des laboratoires de Microsoft.


Au fait, je n'ai pas encore choisi quel langage j'allais étudier en 2011, donc n'hésitez pas à défendre votre langage favori dans les commentaires ;-)

Reia, un langage fortement inspiré de Ruby

Posté par (page perso) . Modéré par j.
19
18
déc.
2010
Ruby
Ruby est un langage de programmation génial (je vous assure, je suis totalement objectif quand je dis ça ;-) ), mais qui a quand même quelques petits défauts. On peut par exemple citer la mauvaise prise en charge de la concurrence ou l'absence de rechargement de code à chaud. À l'opposé, Erlang a une syntaxe parfois cryptique mais sa machine virtuelle est très avancée pour tout ce qui concerne les aspects distribués, la concurrence et la tolérance aux erreurs.

Reia est un langage de programmation qui cherche à prendre le meilleur des 2 mondes (licence MIT). Le code en reia ressemble à s'y méprendre à du code Ruby, mais il s'exécute sur la machine virtuelle d'Erlang. Voici à titre d'exemple le très classique Hello World :

"Hello world!".puts()

Pour le moment, il n'y a pas encore de version officielle de reia. Si vous souhaitez l'essayer, il vous suffit de cloner le dépôt git, d'avoir Erlang et Rake installés puis de lancer rake.

Prolongation du concours LinuxFr.org

Posté par (page perso) . Modéré par tuiu pol.
Tags :
16
10
déc.
2010
LinuxFr.org
À l'occasion de la nouvelle version de LinuxFr.org, nous organisons un concours. Actuellement, 26 participants se sont déclarés. Vous pouvez toujours y participer sur l'une de ces catégories (ou les deux) :
  • Proposer une nouvelle charte graphique
  • Réaliser une « killer feature » en HTML5
Pour connaître la procédure pour participer, déployer une instance chez vous pour tester, avoir des réponses à vos questions, trouver des idées, etc. consultez les dépêches précédentes via les liens ci-dessous. Sinon, vous pouvez toujours nous aider en testant la version bêta et en remontant les bugs.

Le concours devait se finir le 29 décembre 2010, mais, suite à un certain nombre de demandes justifiées (notamment le fait de pouvoir bénéficier des jours de repos lors de la trêve des confiseurs) nous avons décidé de le prolonger d'une semaine. Les participants ont donc jusqu'au 5 janvier 2011 à 23h59 pour nous envoyer leurs copies.

Pour rappel, vous pouvez gagner de l'hébergement virtualisé, une tablette Android type Archos 101, des bons d'achats pour du matériel « ouvert » et une HTC Desire, le tout fourni respectivement par Gandi, Nuxeo, Hackable Devices et Mozilla Europe. Un grand Merci à eux et à InDefero qui nous met gracieusement les forges à disposition pour la réalisation des projets.

Mosaïque de logos au fil des années

Bon courage !

Quelques nouvelles de Go, le langage de programmation

Posté par (page perso) . Modéré par patrick_g.
37
5
déc.
2010
Golang
Le langage de programmation Go suit son chemin. Voici quelques faits marquants depuis la précédente dépêche sur LinuxFr.org :

Campagne de documentation Rails, RubyDrop et Refinements

Posté par (page perso) . Modéré par patrick_g.
12
5
déc.
2010
Ruby
RubyDrop est un clone de Dropbox libre développé en Ruby. Il permet de synchroniser des fichiers entre plusieurs ordinateurs en utilisant en interne git. Rappelons que SparkleShare propose la même chose, mais en mono (ce qui avait engendré de nombreux commentaire sur la dépêche à son sujet).

Ryan Bigg est l'auteur de plusieurs guides Ruby on Rails, écrit un livre sur Rails et participe au développement de nombreux gems Ruby. Il a lancé un appel à dons pour lui permettre de passer du temps à écrire de la documentation pour Rails. Le choix des sujets se fera parmi les suggestions proposées publiquement.

À la dernière RubyConf, Shugo Maeda a parlé des Refinements, qui devraient arriver dans Ruby 2.0. En Ruby, il est possible de faire ce que l'on appelle du monkey-patching : réouvir une classe déjà définie pour lui ajouter de nouvelles méthodes, voir modifier les méthodes existantes. Cela peut être très pratique mais peut très facilement devenir une source de bugs. Par exemple, si deux bibliothèques ajoutent toutes les deux une méthode camelize sur la classe String et que ces méthodes se comportent différemment, alors une des deux bibliothèques va utiliser l'implémentation de l'autre avec un comportement qui n'est pas celui attendu. Les Refinements pourraient être une solution pour corriger ce problème en limitant la portée de ces modifications.

Je profite également de cette dépêche pour annoncer la publication de la première revue mensuelle sur Ruby France.

Faire évoluer LinuxFr.org

Posté par (page perso) . Modéré par Benoît Sibaud.
Tags :
20
30
nov.
2010
LinuxFr.org
Le site LinuxFr.org vit grâce aux contributions de ses lecteurs (oui, c'est vous). Cette dépêche est une occasion de plus de remercier toutes les personnes qui ont participé au site d'une façon ou d'une autre et d'encourager les autres à s'y mettre et regarder ce qu'ils peuvent apporter.

Et, en ce moment, nous avons tout particulièrement besoin de vous. La nouvelle version de LinuxFr.org va arriver et elle a besoin d'une nouvelle charte graphique. Nous avons donc organisé un concours pour recueillir vos propositions et choisir celle qui nous paraît la plus réussie. Pour les autres participants, votre travail ne sera pas perdu : les CSS seront proposées dans la partie « Feuilles de styles personnalisées ».

Le concours finit le 29 décembre, mais, suite à certaines remarques, nous envisageons de repousser cette date de quelques jours afin de coïncider avec les vacances scolaires de Noël (françaises) pour permettre à plus de personnes de concourir pendant leur congés. N'hésitez pas à poster un commentaire si vous pensez que c'est une bonne idée.

En bonus, vous pouvez gagner de l'hébergement virtualisé, une tablette Android type Archos 101, des bons d'achats pour du matériel « ouvert » et un HTC Desire, le tout fourni respectivement par Gandi, Nuxeo, Hackable Devices et Mozilla Europe. Un grand Merci à eux et à InDefero qui nous met gracieusement les forges à disposition pour la réalisation des projets. Pour vous mettre le pied à l'étrier, Barret Michel vous propose un « guide démarrage rapide » pour ce concours, dont voici le début : « Comme certains semblent penser qu'il est compliqué et qu'il va falloir qu'ils apprennent pleins de langages pour participer au concours je poste ici une méthode (la mienne) pour pouvoir travailler sur la CSS de la prochaine version du site sans nécessiter d'apprendre quoi que ce soit !».

Dans la seconde partie, vous trouverez d'autres manières de participer à LinuxFr.org.

Journal Pourquoi Ruby on Rails pour la réécriture de LinuxFr.org ?

Posté par (page perso) .
Tags : aucun
20
26
nov.
2010
La réécriture de LinuxFr.org en Rails pose deux grandes questions : pourquoi réécrire et pourquoi Rails ? Pour les deux questions, j'ai pu répondre à travers différents commentaires, mais je souhaite expliquer ça de manière plus structurée.

Pour la première question, j'ai publié un journal hier : http://linuxfr.org/~NoNo/30481.html . Et la seconde fait l'objet de ce journal ;-)

Avant d'expliquer le choix de Ruby on Rails, je vais expliquer le contexte. J'ai commencé le développement de la nouvelle version début (...)

Journal Pourquoi réécrire LinuxFr.org ?

Posté par (page perso) .
Tags :
43
25
nov.
2010
LinuxFr.org tourne actuellement avec un moteur qui s 'appelle templeet et, à dire vrai, ça tourne plutôt bien. Et pourtant, je suis en train de réécrire le site avec Ruby on Rails parce que je pense que c'est indispensable pour que le site puisse continuer à vivre. J'ai déjà pu donner quelques explications, notamment dans les commentaires, mais je ne crois pas avoir déjà fourni une explication complète.

Alors, pourquoi cette réécriture ? 2 raisons : maintenance et évolutions.

Pour (...)

Participez au concours LinuxFr.org !

Posté par (page perso) . Modéré par patrick_g.
Tags :
24
23
nov.
2010
LinuxFr.org
La future version du site LinuxFr.org en Rails avance à grand pas, mais nous avons besoin de votre aide pour qu'elle aboutisse. Comme vous avez pu le constater, la charte graphique de la nouvelle version doit être refaite, et nous comptons sur vous, lecteurs et contributeurs, pour cela.

Pour que cette collaboration se fasse dans un cadre sympathique, nous avons lancé un concours il y a deux semaines. Pour le moment, la participation reste assez modeste (une dizaine de personnes se sont officiellement déclarées) mais il n'est pas trop tard pour que cela change. Le concours finit le 29 décembre et vous avez donc encore largement le temps d'y participer.

Rappelons que le concours est ouvert aux esprits créatifs et aux développeurs, via deux catégories :
  • Nouvelle charte graphique (NdM : Aucune compétence Ruby, Rails requise. C'est principalement du CSS)
  • Killer feature en HTML5 (NdM : comme indiqué précédemment, l'utilisation de Ruby on Rails n'est pas obligatoire. Si l'idée peut être réalisée avec juste du HTML statique, du JS et de la CSS (voire un peu de PHP), cela ne pose pas le moindre problème, nous ferons le portage).
et rien n'interdit de participer aux deux si vous le souhaitez. Vous pouvez gagner de l'hébergement virtualisé, une tablette Android type Archos 101, des bons d'achats pour du matériel « ouvert » et une HTC Desire, le tout fourni respectivement par Gandi, Nuxeo, Hackable Devices et Mozilla Europe. Un grand Merci à eux et à InDefero qui nous met gracieusement les forges à disposition la réalisation des projets.

Dans la suite de la dépêche, vous trouverez de l'aide pour la mise en œuvre rapide d'un environnement de développement (image Virtual Box et données anonymisées)

Avancement du concours pour la future version de LinuxFr.org

Posté par (page perso) . Modéré par j.
Tags :
19
17
nov.
2010
LinuxFr.org
Le concours a commencé il y a une semaine et nous avons déjà une dizaine de participants déclarés. Certains ont posé des questions et dans un souci d'équité, nous avons regroupé ces questions et leurs réponses dans cette dépêche (en seconde partie).

Nous souhaitons préciser que nous attendons des chartes graphiques qui couvrent l'intégralité des pages du nouveau site. En, particulier, n'oubliez pas le nouvel espace de rédaction. Cet espace se compose d'une tribune où chaque utilisateur authentifié peut proposer des sujets de dépêches ou venir chercher des idées. Il est aussi possible d'écrire des dépêches à plusieurs avant de les soumettre à la modération (pour éditer un paragraphe, il faut cliquer dessus).

Ce serait également une bonne idée de proposer des pages d'erreurs originales. Les principales erreurs sont :

Enfin, nous rappelons que cette nouvelle version a besoin d'être testée et améliorée. Nous vous encourageons à remonter les bugs et propositions d'améliorations sur GitHub (ou le suivi interne de LinuxFr.org, dans la catégorie "Nouvelle version RoR").

Testez la nouvelle version de LinuxFr.org

Posté par (page perso) . Modéré par Florent Zara.
Tags :
40
9
nov.
2010
LinuxFr.org
Le site LinuxFr.org existe depuis 12 ans et a connu de nombreuses versions et évolutions. La version actuelle fonctionne avec templeet et est devenue difficile à faire évoluer pour diverses raisons (peu de contributeurs, absence de documentation, écosystème de templeet quasi-inexistant, etc.).

J'ai donc décidé, début 2009, de réécrire LinuxFr.org en Ruby on Rails. Commit après commit, cette nouvelle version a commencé à prendre forme. Je suis maintenant arrivé à un point où je souhaite qu'elle soit visible publiquement.

Oh, je sais, il reste encore du boulot : la charte graphique n'est vraiment pas réussie, il manque encore des fonctionnalités du site existant, il reste probablement beaucoup de bugs, etc. Mais je pense que vous, lecteurs, pouvez plus que jamais contribuer à améliorer cette version.

Pour cela, vous pouvez :
  • Tester cette version à plus grande échelle et remonter le maximum de bugs avant le passage en production (plus de détails en seconde partie) ;
  • Vérifier que les contenus importés depuis le site existant sont corrects. Cela consiste à vérifier que le contenu est présent, en entier et que son balisage HTML est le même que celui du site actuel ;
  • Nous aider à adapter la charte graphique à ce nouveau site. En effet, le graphisme n’est pas le fort de l’équipe qui gère le site. Et comme nous ne sommes pas des ingrats, nous y mettons les moyens et nous lançons un concours pour déterminer le prochain design du site. Au menu : un HTC Desire et une tablette sous Android, un hébergement dédié et du matériel pour Geek. Tous les détails dans la dépêche dédiée au concours !
  • Packager pour Debian la dernière version de webalizer que nous utilisons pour nos statistiques web.


Merci pour votre soutien et implication !

Journal Définition d'une adresse IP par l'hadopi

Posté par (page perso) .
Tags : aucun
25
1
oct.
2010
Le site de l'hadopi est en ligne, avec notamment un glossaire des termes techniques.

Je vous propose de nous attarder sur la définition de l'adresse IP :

Adresse IP
De l'anglais " Internet Protocol ".
L'adresse IP est un numéro unique qui permet d'identifier chaque ordinateur connecté sur internet. Quatre nombres, compris entre 0 et 255, séparés par des points (par exemple 255.128.162.01) composent cette empreinte numérique.


Déjà, sur la forme, en français, on utilise les guillemets « et » (...)

Sortie de Redis 2.0.0

Posté par (page perso) . Modéré par Mouns.
Tags :
12
6
sept.
2010
Base de données
Redis est une base de données de type clé-valeur, sous licence BSD. On peut voir Redis comme une sorte de memcached boosté aux stéroïdes.

Les principales caractéristiques de Redis sont :

Le principal développeur de Redis, Salvatore Sanfilippo, a été embauché par VMWare pour travailler à plein temps sur Redis. Cela a conduit à la récente sortie de la version 2.0 dont quelques nouveautés seront mises en avant dans la seconde partie de la dépêche.

Prenez de bonnes habitudes avec Daily Stamp

Posté par (page perso) . Modéré par Xavier Teyssier.
Tags :
13
4
sept.
2010
Ruby
Rails Rumble est une compétition qui se tient une fois par an et dont l'objectif est de faire une application Rails en moins de 48h avec une équipe de moins de quatre personnes. La prochaine édition se tiendra les 16 et 17 octobre prochain, mais je voudrais surtout vous présenter une des applications de l'édition 2009 : Daily Stamp.

Ryan Bates, aussi connu pour ses Railscasts, a développé Daily Stamp pour nous permettre de prendre de bonnes habitudes ou de casser les mauvaises. Il vient de libérer le code source sous licence MIT.

Le fonctionnement est très simple et s'inspire des Seinfeld Calendar : chaque jour, vous apposez un tampon si vous avez bien accompli votre mission et vous marquez des points au fur et à mesure que votre série de jours tamponnés grandit. Par exemple, si votre objectif est d'écrire un billet sur votre blog tous les jours, chaque fois que vous aurez écrit un billet, vous irez tamponner la case du jour sur Daily Stamp. Quand vous aurez atteint un score de 100 points (ou plus si vous le souhaitez), vous devriez avoir adopté l'habitude et pouvoir continuer sans Daily Stamp.

Daily Stamp vous permet d'avoir plusieurs objectifs en parallèle, de personnaliser vos tampons, de rendre publics vos objectifs ou de les garder privés et de suivre les tampons publics de vos amis. Bref, c'est un très bon moyen pour garder sa motivation lorsque l'on souhaite prendre une nouvelle habitude ou casser une mauvaise.

Reposez vos yeux la nuit devant votre écran avec Redshift

Posté par (page perso) . Modéré par baud123.
34
3
sept.
2010
Technologie
Les écrans LCD actuels sont très lumineux et bien adaptés pour travailler en journée. Mais des études montrent que cette luminosité a des effets indésirables sur notre physiologie quand nous travaillons sur ces mêmes écrans la nuit. En particulier, cela fatigue rapidement nos yeux et peut perturber notre sommeil.

Heureusement, il existe une solution : éteindre nos écrans. Non, je rigole, revenez. Vous pouvez aussi utiliser Redshift. Ce logiciel ajuste la température de la couleur de votre écran en fonction de la position du soleil dans le ciel, et adapte de même l'écran durant la nuit, en considérant l'utilisation de lumières artificielles.

Son auteur s'est inspiré de F.lux, un logiciel propriétaire mais déçu par celui-ci, a écrit Redshift et l'a publié sous licence GPLv3. Il existe des packages pour Debian, Ubuntu, Mandriva Linux, Fedora, Gentoo, Arch Linux et Frugalware.