Sommaire
Pfiou, ça fait longtemps que je n'avais pas repris ma veille. Et en plus vous verrez il n'y a pas des tonnes de lien mais bon, spa grave. En cause, changement (encore) de boulot, boulot loin de chez moi et pas de net (ni vraiment de réseau) là où je vis, des vacances assez loin du net aussi, etc. Bref, je reprend tranquillement.
Pendant ce temps, j'apprends Ada et Clojure, ça ouvre petit à petit de nouveaux horizons et probablement de nouveaux types de liens pour les prochaines fois. A ce propos, et surtout si vous avez l'habitude de coder avec des langages classiques, je vous conseil de tester ces langages. Ada est assez particulier mais vraiment puissant, par exemple concernant tout ce qui est exécution concurrente c'est vraiment bien fait. Clojure, c'est pas mal, moi qui n'avait jamais fait de fonctionnel ça change vraiment.
Un peu de contenu
Développement
Voici un livre qui, si j'ai bien compris, est un grand classique de l'enseignement de l'informatique aux USA, au MIT notamment : « Structure and Interpretation of Computer Programs ». Je pense que c'est un livre que je vais lire bientôt. On m'en a dit pas mal de bien. L'avez-vous lu ? Si oui, quelqu'un peu en faire une critique ?
De manière plus informative, voici un document retraçant l'histoire de Smalltalk.
Souvent lorsque quelqu'un se lance dans du développement javascript, l'une des difficultés recontrée est que ce n'est pas un langage à classe, comme beaucoup d'autres, mais un langage à prototype. Voici un article (de plus) présentant ce principe : « How Javascript Prototype Really Works » qui pourra peut-être aider un peu plus les nouveaux développeurs javascript.
Lorsqu'on est développeur, on a souvent besoin d'avoir accès à de la documentation. Mais par contre, cela nécessite d'avoir un navigateur, de changer d'outil, souvent quitter son éditeur de texte. Et la recherche n'est pas toujours facile, pratique. Dash est une application (pour mac uniquement malheureusement) qui regroupe en un même endroit de très nombreuses documentations de programmation. Et elle se lie à différents éditeurs, ou même permet de réaliser une recherche basée sur la sélection courante, depuis un raccourcis clavier, ce qui permet de ne pas quitter son éditeur pour chercher la documentation. Plutôt pratique, je ne sais pas si des équivalents existent sous linux, mais si ce n'est pas le cas ça serait une bonne idée je pense.
Si vous souhaitez vous mettre à Clojure, voici un lien regroupant de nombreuses ressources sur le langage : Learn Clojure. Et pour s'entrainer à Clojure, vous pouvez aussi regarder du côté de Labrepl. Il s'agit d'un environnement permettant d'explorer le langage entre autre en présentant des exercices étapes par étapes. C'est plutôt sympa, et c'est open source sous Eclipse Public License 1.0.
Misc
Il existe de très nombreux logiciels de gestion de calendrier, permettant de représenter par exemple divers projets et les personnes travaillant dessus. Il existe aussi beaucoup de moyens plus physiques, par exemple à base de postits, tableaux, etc. Mais histoire de varier un peu, voici le résultat du travail d'un studio londonien, Vitamins : le Lego Calendar. Je ne sais pas si c'est réellement pratique et utilisable, mais j'adore l'idée ! Par certains côtés ça me fait penser aussi aux carnets moleskine qui intègrent une brique lego dans la couverture.
Graphisme, design & co
Si vous aimez la typographie, voici quelques illustrations vraiment sympa. J'aime particulièrement les rouges, où les lettres sont rendues visibles par leur absence.
Quelle est la taille d'un écran ? Taille en px, taille physique ? Sur un iPhone, sur un Galaxy SIII, sur MacBook Pro, etc ? Screen Siz.es vous présente de manière assez lisible l'ensemble des informations de taille d'écran de la majorité des produits du marché. Vraiment pratique pour faire un design propre en fonction des produits ciblés.
Je pense que vous l'avez probablement tous déjà vu, mais c'est toujours un bon moment :-) « Mon maçon était illustrateur »
Voici un projet graphique vraiment sympa : The Zoomquilt. C'est un mélange entre un dessin (une peinture ?) et une animation qui nous plonge réellement au cœur du projet. Allez bien jusqu'au bout si on peut dire ;-)
Liste des liens présentés
Développement
Structure and Interpretation of Computer Programs : https://mitpress.mit.edu/sicp/full-text/book/book.html
The early history of Smalltalk : http://propella.sakura.ne.jp/earlyHistoryST/EarlyHistoryST.html
How Javascript Prototype Really Works : http://blog.sklambert.com/javascript-prototype/
Dash - Documentation Browser, Snippet Manager : http://kapeli.com/dash
Clojure : http://clojure.org/
Learn Clojure : http://learn-clojure.com
Labrepl : https://github.com/relevance/labrepl
Eclipse Public License 1.0 : http://opensource.org/licenses/eclipse-1.0.php
Misc
Lego Calendar : http://vitaminsdesign.com/projects/lego-calendar/
Carnets Moleskine Lego : http://www.moleskine.com/fr/news/lego
Graphisme, design & co
Les illustration à base de typographie super détaillées de Greg Coulton : http://designspartan.com/presentation/les-illustrations-a-base-de-typographie-super-detaillees-de-greg-coulton/
screen siz.es : http://screensiz.es/
Mon maçon était illustrateur. Et il a gardé de bonnes habitudes : http://monmacon.tumblr.com/
The Zoomquilt : http://zoomquilt.org
# Commentaire supprimé
Posté par Anonyme . Évalué à 10.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Lisp
Posté par Sam E. (site web personnel) . Évalué à 3. Dernière modification le 18 octobre 2013 à 10:59.
J'ai commencé à lire le livre "Land of Lisp". Il traite de l'usage de Lisp en général en proposant de créer différents jeux. C'est orienté pratique, tout peut se faire dans un REPL en construisant le jeu petit à petit. La différence avec les autres bouquins sur le sujet, c'est que l'auteur présente les concepts avec des exemples et un humour pas mal déjanté.
Rien que pour les illustrations, je vous le conseille ! D'ailleurs la bande dessinée du site vaut clairement le détour, et vous pouvez lire gratuitement le chapitre 8 pour vous faire une idée de la folie de l'auteur :)
Edit : Les exemples sont en Common Lisp
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Lisp
Posté par Sam E. (site web personnel) . Évalué à 2.
Ah non, je suis pas d'accord. J'ai eu cette impression avec le guide de Why mais pas du tout avec Land of Lisp. D'ailleurs c'est pas le même public qui est cible.
Regarde le chapitre gratuit, le coté délirant est une façon de donner un contexte au jeu à développer et illustrer certains concepts du langage. Même sans les illustrations ça reste un bouquin technique intéressant.
Et surtout il est vraiment orienté pratique, là où les autres livres que j'ai lu sur le sujet était plutôt centrés sur la théorie.
[^] # Re: Lisp
Posté par ounim . Évalué à 5.
C'est pas vraiment une introduction au lisp. C'est plus une introduction aux langages en général et ca prend le lisp comme exemple parce que c'est plus simple pour expliquer vu que la structure d'ast est directement visible.
Moi j'ai trouvé ca intéressant comme livre, mais faut aimer lire de la théorie sur l'informatique.
Sinon pour les livres sur lisp, moi je conseille Practical common lisp de Peter Seibel.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Lisp
Posté par ounim . Évalué à 4.
Extrait du livre:
Ce qu'on peut traduire par:
Donc c'est vrai que ca parle que de lisp dans le bouquin, mais à la fin tu sais pas programmer en lisp (comme tu l'as dis on voit pas les macros ou CLOS), par contre tu sais ce qu'est un REPL ce que tu retrouves dans tout langage interpreéé et dans une certaine mesure dans les langages compilés. Et pour moi, c'est le but du livre, de comprendre le REPL.
Après ca fait longtemps que je l'ai lu, donc j'ai peut être oublié des bouts mais je rapproche plus ca à un bouquin théorique comme un bouquin d'algorithmique en C pourrait l'être que à un bouquin d'apprentissage du lisp.
[^] # Re: Lisp
Posté par fabricius . Évalué à 1.
Tiens, c'est marrant je viens juste d'acheter (d'occasion) la version française du SICP, qui s'appelle "Structure et Interprétation des programmes informatiques". Trop tôt pour en faire une revue, je n'en suis qu'au début. J'ai aussi le Land of Lisp, ainsi que 2 livres universitaires: Débuter la programmation avec Scheme de JC Routier et E. Wegrzynowski; et aussi le Premier cours de programmation avec Scheme de JP Roy ( revue du livre sur linuxfr )
Pour le SICP, tu peux trouver les solutions ici ou ici. Et les vidéos associés (avec transcripts texte du cours) ici.
# Commentaire supprimé
Posté par Anonyme . Évalué à 3. Dernière modification le 18 octobre 2013 à 11:25.
Ce commentaire a été supprimé par l’équipe de modération.
# Qt Assistant
Posté par GuiBrother . Évalué à 1. Dernière modification le 18 octobre 2013 à 13:41.
Bonjour, le logiciel Dash me fait sérieusement penser à Qt Assistant.
Il est tout a fait possible de lancer Qt Assistant avec des documentations autre que celles de Qt.
Pour cela il suffit de générer les documentations au bon format (si les documentations sont basées sur doxygen ou sphinx c'est direct). Pour un simple "browser" de documentation il n'y a aucune difficulté technique, mais ça prend du temps à faire : téléchargement des sources de la doc, installation/config des plugins nécessaires, compilation doxygen/sphinx, …
Après il semblerait que Dash propose des fonctionnalités supplémentaires, pour ces points je n'ai pas d'équivalent pour l'instant.
# Clojure & Scala
Posté par barmic . Évalué à 3.
J'entends beaucoup parler de Clojure ces derniers temps. Qu'apporte il fasse à Scala ? (vice versa)
De ce que je crois comprendre Clojure est fonctionnel alors que Scala est multi-paradigme, fonctionnel/objet, mais à part ça ?
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Clojure & Scala
Posté par lendemain . Évalué à 3.
J'ai utilisé les 2 langages à titre personnel et j'ai préféré utiliser clojure.
Ce que j'ai préféré :
Autre différence notable :
On peut remarqué que je n'ai fait aucunes référence au parallélisme et à la concurrence, je me concentre uniquement sur mon expérience de développement sur des projets 1000 entre 2000 lignes.
[^] # Re: Clojure & Scala
Posté par barmic . Évalué à 2.
Merci pour ta réponse sans troll (ou alors ça se voit pas).
J'ai jamais trop eu d'intérêt pour ça. À part pour expérimenter vraiment des choses simples.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Clojure & Scala
Posté par CrEv (site web personnel) . Évalué à 2.
Je saurais pas trop expliquer précisément (je débute en clojure), mais repl je m'en sert tous les jours. C'est super pratique pour tester un code, une lib. Pouvoir exécuter directement ton code sans se prendre la tête, sans avoir à coder dans un fichier, sortir, lancer une compil, exécuter, voir le résultat, etc c'est cool.
Et beaucoup de doc/tuto l'utilisent vraiment beaucoup.
[^] # Re: Clojure & Scala
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 5.
Certains langages te proposent de sauvegarder ta session REPL dans un binaire. Tu peux donc faire bien plus que des choses simples: tu codes, tu charges dans la REPL, tu corriges en patchant dynamiquement, et tu sauvegardes ta REPL. Pouf, t'as un binaire qui fait ce que tu veux.
[^] # Re: Clojure & Scala
Posté par hocwp (site web personnel) . Évalué à 1.
J'arrive un peu après la bataille, mais la REPL te permets de coder ton programme alors qu'il est déjà lancé. Tu peux alors faire de la compilation incrémentale et c'est super pratique!
Voir ici et là par exemple.
[^] # Re: Clojure & Scala
Posté par Sam E. (site web personnel) . Évalué à 1.
D'ailleurs est-ce que t'as de l'expérience avec Clojurescript ?
Le concept me plaît beaucoup, mais j'ai pas encore pris le temps de jouer avec.
# Dash, mais oui !
Posté par jean-michel.bertrou.eu . Évalué à 2. Dernière modification le 18 octobre 2013 à 21:33.
Alors là merci, tu documentes le petit secret que j'ai la flemme de documenter depuis que j'ai découvert ça il y a quelques semaines.
Tu m'ôtes les mots de la bouche
Je m'étais contenté d'écrire un petit mail à mon ancienne boite, où 2 religions (les pro-Apple et les anti-Apple) coexistaient de manière rigolote, en écrivant ceci.
Pour rajouter de l'huile de le feu dans cette guère de religions, voici une petite application géniale et modeste nommée Dash.app (pour mac donc) qui devrait à mon avis réjouir les pro-Apple (en plus de leur être immensément utile) et rendre jaloux les anti-Apple (même si bien évidemment, on ne leur en voudra pas s'ils ne l'avouent pas explicitement. On ferait évidemment pareil à leur place :D )
Blague à part, Dash c'est exactement le genre de design que j'apprécie, à savoir quelqu'un qui s'est penché avec attention sur les réels problèmes qu'ont les gens (les développeurs en l'occurence). Par conséquent, extrêmement pratique.
Allons plus loin dans la publicité gratuite
Snippet manager (Don't Repeat Yourself)
L'utilité de la fonction "accès trivial à la documentation là où on en a besoin quand on en a besoin" est évidente.
Sauf que Dash est aussi, et c'est moins évident, un snippets manager très pratique.
Pour les programmeurs évidemment. C'est clair que ça fait gagner du temps de taper
singleton`
plutôt que le boilerplate stupide qu'on est obligé de répéter à chaque fois.
Mais même pour les non-développeurs, puisqu'il est tout à fait raisonnable quand on écrit beaucoup de mails de taper
politesse`
plutôt que de taper à chaque fois
Je vous prie d'agréer, __Name__, l'expression de ma considération distinguée.
Réduire le nombre d'onglets
Avec un peu de chances, je vais bientôt terminer un article où entre autres je suggère de se limiter à maximum 15 onglets (et en général nettement moins).
Bon, c'est quoi le secret quand on est habitués à surfer sur plein d'onglets à la fois pour perdre cette mauvaise habitude ?
Et bien entre autres Dash : très souvent, vous avez autant d'onglets ouverts uniquement parce que l'information dont vous avez besoin est dispersée dans plein de pages. Donc mieux vous résoudre le problème à la source : créer une note correspondant au mini-projet que vous êtes en train de faire, extraire la substantifique moelle de chacun des onglets, les fermer. Goodby insanity.
Ceci nécessite d'avoir une application légère et toujours ouverte, donc moi j'utilise Dash pour ça.
Défauts connus de Dash :
Il faut que je m'occupe de remonter cette suggestion au développeur, très sympa puisu'il m'a filé les sources d'un de ses autres projets qu'il avait abandonné alors qu'on pouvait en faire quelque-chose de très bien, avec autorisation de faire ce que je veux avec. (un projet de plus à lancer…)
# Equivalent de Dash pour Linux
Posté par AgentSteel (site web personnel) . Évalué à 4.
Il y a Zeal
http://zealdocs.org/
ça se compile avec QtCreator [http://qt-project.org/downloads]
[^] # Re: Equivalent de Dash pour Linux
Posté par jean-michel.bertrou.eu . Évalué à -5.
Ah excellent ! J'adore quand on me démontre que mon opinion du moment est incorrecte :)
Par contre, il n'y a pas encore les fonctionnalités secondaires mais extrêmement pratiques que j'évoquais plus haut, github est down right now, et je n'ai pas le courage de traduire ma prose. Donc si quelqu'un pense que ça a un intérêt d'envoyer des suggestions basées sur elle, il est chaleureusement invité à le faire.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.