Algorithm Visualizer est une plateforme interactive en ligne qui permet de visualiser et comprendre des algorithmes grâce à des représentations graphiques. Le site propose des démonstrations en temps réel d'algorithmes classés par catégories (comme le backtracking ou la programmation dynamique), facilitant leur apprentissage pour les étudiants, enseignants ou professionnels.
L'outil s'appuie sur des bibliothèques de visualisation en plusieurs langages de programmation, extraites directement du code source. Des ressources complémentaires, comme des tutoriels et des articles, sont également disponibles pour approfondir les concepts.
Le projet est open source et collaboratif, avec plusieurs dépôts GitHub dédiés à l'application web (développée en React), au serveur backend et aux algorithmes visualisés. Les contributions sont encouragées pour enrichir la base de données ou améliorer les fonctionnalités.
musicForProgramming() est une série de mixes conçus pour accompagner des activités nécessitant concentration, comme la programmation. Le site propose 77 épisodes, totalisant plus de 114 heures de musique, avec des titres variés allant de l'ambient à l'électronique. Chaque épisode est disponible en lecture directe ou en téléchargement, avec des métadonnées détaillées comme la durée et la taille des fichiers.
L’article explore la vertu de la paresse en programmation, popularisée par Larry Wall dans Programming Perl, qui encourage la création d’abstractions pour simplifier le travail futur. L’auteur souligne que cette paresse intelligente, bien que semblant contre-intuitive, nécessite un effort intellectuel important pour concevoir des solutions élégantes et réutilisables. Cependant, il critique l’évolution récente où cette notion a été détournée par une culture de productivité superficielle, incarnée par des figures comme Garry Tan, qui glorifient une écriture de code frénétique et désordonnée, notamment avec l’aide des IA génératives.
L’auteur dénonce l’absurdité d’une approche où la qualité du code est mesurée en lignes produites par jour, comparant ironiquement les 37 000 lignes quotidiennes de Tan à la taille totale de DTrace (60 000 lignes). Il illustre cette dérive avec l’exemple d’un projet de Tan, un "blog-newsletter-thingy", truffé de composants inutiles comme des tests redondants, une application Rails basique et plusieurs variantes de logo, dont une vide.
Enfin, l’article met en garde contre la perte de sens de la paresse comme vertu, notamment avec l’essor des outils automatisés qui amplifient une productivité illusoire. L’auteur plaide pour un retour à une paresse réfléchie, où l’abstraction sert non seulement le développeur actuel, mais aussi la communauté, en évitant les pièges d’une industrie obsédée par la quantité plutôt que par la qualité et la durabilité du code.
Depuis 1969, chaque décennie voit émerger des promesses de simplification du développement logiciel pour réduire le besoin en développeurs. De COBOL aux outils CASE, en passant par Visual Basic, chaque innovation a échoué à éliminer la complexité inhérente à ce métier. Malgré des avancées technologiques, la nécessité de compétences spécialisées persiste, frustrante pour les dirigeants mais révélatrice de la nature complexe du travail en logiciel.
Steve Yegge partage six nouvelles astuces pour mieux coder avec des agents, basées sur ses expériences récentes. Parmi celles-ci, il souligne que le logiciel est désormais jetable, avec une durée de vie inférieure à un an, rendant les réécritures plus faciles et intelligentes que les corrections. Cette approche remet en question les conseils traditionnels, comme ceux de Joel Spolsky, et ouvre la voie à des architectures modernes et maintenables, posant un défi aux fournisseurs de SaaS tiers.
La page présente un texte de Linus Torvalds, créateur de Linux, qui explique sa fascination pour la programmation. Il décrit ce domaine comme un jeu captivant où l'on peut créer son propre monde, combinant art et ingénierie, et où la seule limite est la capacité de la machine et celle du programmeur. Torvalds compare la programmation à la physique et aux mathématiques, soulignant que c'est un exercice de créativité où l'on peut établir ses propres règles, à condition qu'elles soient cohérentes. Il met en avant la beauté et la satisfaction de créer des systèmes sans défauts, tout en explorant les possibilités offertes par les ordinateurs.
Scott H Young explore dans cet article les implications de l'IA sur l'apprentissage des compétences et le travail qualifié, en se concentrant sur le "vibe coding", une pratique où des agents IA écrivent du code à la place des programmeurs. Il souligne l'incertitude entourant les développements futurs de l'IA et les difficultés à prédire ses effets à long terme. Bien que les programmeurs professionnels expriment des scepticismes sur la qualité du code généré par IA, Young, en tant qu'amateur, adopte une approche plus neutre. Il partage ses expériences positives avec le vibe coding, ayant utilisé des agents IA pour créer des outils simples et utiles, comme un script pour étudier des vidéos en chinois. L'article questionne si cette technologie démocratise la programmation ou inonde le marché de code de mauvaise qualité.
L’article explore comment le choix d’un langage ou d’un paradigme de programmation (déclaratif, impératif, fonctionnel, orienté objet) reflète bien plus qu’une simple préférence technique : il s’agit d’un choix politique et philosophique. Chaque paradigme impose une vision distincte de la résolution de problèmes et influence notre façon de penser le monde. La programmation déclarative se concentre sur le résultat à obtenir, laissant à la machine le soin de trouver la solution, tandis que l’impérative détaille les étapes à suivre. La programmation fonctionnelle, avec ses fonctions omnipotentes, suggère une approche hiérarchique et autoritaire, alors que l’orienté objet, en privilégiant des agents autonomes et collaboratifs, reflète une vision confédérale et distribuée. Ces choix ne sont pas neutres : ils façonnent notre cognition, nos réflexes, et même nos structures sociales, comme le montre la loi de Conway. En somme, programmer, c’est aussi adopter une certaine vision du monde et des rapports de pouvoir.
Une liste de montres bidouillables
Excellent (via sebsauvage)
Tout est dans le titre
Ce sont plus que de simples blagues de développeurs :-)
Tout est dans le titre
Conclusion de cet article : il y a tant à apprendre ^^
Tout est dans le titre. Pour citer l'auteur : "On a exprimé le but de l'action de l'utilisateur (pourquoi veut-il faire ça) au lieu du moyen (comment faire ça). On a utilisé des verbes au lieu des noms.
En s'affranchissant du comment au profit du pourquoi, on y gagne du découplage"
L'auteur explique en quoi les langages / modes de programmation se suivent... et en quoi l'amélioration d'un nouveau langage est à présent marginale.
Tout est dans le titre
Les limites du DRY
Tout est dans le titre