Journal Letlang, encore un nouveau langage de programmation

52
6
jan.
2022

Bonjour Nal,

Cela faisait longtemps que je ne t'avais pas écrit, mais je n'avais pas grand chose de pertinent à dire, tu me pardonneras j'espère.

Aujourd'hui, je vais te parler d'un de mes "side-project", j'ai nommé Letlang.

Si tu as la flemme de tout lire, tu peux aller mettre en favoris le site web https://letlang.dev pour une lecture du soir.

DISCLAIMER: Très peu de code existe pour l'instant, le projet en est à ses balbutiements. Même le design de (…)

Retour d'expérience sur Go

Posté par  (site web personnel) . Édité par baud123, claudex, Nÿco et B16F4RV4RD1N. Modéré par claudex. Licence CC By‑SA.
52
16
mai
2012
Golang

Je viens de finir un petit projet en Go la semaine dernière, un assembleur vers du MIPS simplifié. Voici un petit retour d'expérience, en espérant que ça serve !

NdM : merci à G.bleu pour son journal.

Rust versions 1.1, 1.2 et 1.3

Posté par  . Édité par M5oul, Nÿco, Benoît Sibaud, BAud, Lizzie Crowdagger, Ontologia, Bruno Michel et Sylvestre Ledru. Modéré par claudex. Licence CC By‑SA.
52
23
sept.
2015
Rust

D’après Wikipédia, « Rust est un langage de programmation compilé multi-paradigme conçu et développé par Mozilla Research. Il a été conçu pour être « un langage sécurisé, concurrent, pratique », prenant en charge les styles de programmation purement fonctionnelle, modèle d'acteur, procédurale et orientée objet. »

Rust

Rust a été largement couvert sur LinuxFr.org, à travers les versions 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, la version 1.0-alpha, et enfin la version 1.0.

Dr. Geo 18.06

Posté par  (site web personnel) . Édité par BAud, ZeroHeure et Davy Defaud. Modéré par claudex. Licence CC By‑SA.
50
23
juin
2018
Éducation

GNU Dr. Geo est un logiciel de géométrie interactive euclidienne du plan, pour une utilisation à l’école secondaire et primaire. Il permet d’organiser des activités pédagogiques dans l’enseignement de la géométrie, voire d’autres domaines liés des mathématiques.
Intégré à un environnement dynamique de programmation Smalltalk, il propose également une approche de la géométrie dynamique par la programmation, soit par l’utilisation de script(s) intégré(s) à une figure, soit par une description purement programmatique d’une construction géométrique. En outre, Dr. Geo est toujours modifiable depuis lui‐même, fonctionnalité héritée de son environnement de développement.

Dr. Geo 18.06

La version 18.06 fait suite à la version 17.07 sortie en juillet 2017. Une grande partie de l’effort fut de porter le code de la version 3 à la version 7 de l’environnement Smalltalk Pharo avec lequel est développé Dr. Geo. Outre les corrections de bogues inhérents à ce portage, quelques fonctionnalités nouvelles ont fait leur apparition.

De Zig et des zags

Posté par  . Édité par _seb_, orfenor, Ysabeau 🧶 🧦, BAud, palm123, Benoît Sibaud, Strash et Arkem. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
50
7
sept.
2023
Programmation

Cette dépêche, sous son titre énigmatique, va vous présenter un langage de programmation relativement nouveau, nommé Zig, avec ses caractéristiques principales ainsi que son écosystème (toolchain). Le but n’est pas de vous faire à tout prix adopter ce langage, mais seulement de découvrir quelques morceaux choisis, pour le plaisir des yeux.
Logo de Zig

De la nécessité d’adopter les opérations atomiques C11 ?

50
1
mar.
2018
Linux

Jonathan Corbet, fondateur de LWN et contributeur au noyau Linux, a publié en juin 2016 un article important sur l’apport de la dernière version du langage C dans les recherches d’optimisation du noyau. En voici une traduction.

N. D. M. : Les articles publiés sur LWN le sont généralement sous licence Creative Commons Attribution-ShareAlike 4.0 (CC BY-SA 4.0)

Journal Des paradigmes alternatifs

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
48
25
mai
2011

On connait tous les paradigmes de programmation les plus populaires (objet, impératifs, fonctionnels, logiques), mais la créativité n'est heureusement pas limité et il en existe d'autre très intéressants.

Voici une petite liste non exhaustive de quelques paradigmes curieux, mais assez stimulants pour tout créateur de langage un peu fou.

La plus connue est sans doute la programmation événementielle, elle a sa page wikipedia en français programmation événementielle. Elle consiste à baser le flot du programme sur des évènement en (…)

Journal Tu souhaites apprendre à programmer en shell

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
48
17
août
2012

Cher lecteur, tu souhaites apprendre à programmer le shell. Voici quelques recommendations que tu trouveras utiles (ou non).

(Ceci est une version modifiée d'un de mes commentaires planqué au fond du forum. Quand j'ai pensé au fantastique appeau à troll que j'avais écrit, j'ai décidé d'en faire un journal—c'est trolldi pour encore au moins deux longues heures!)

Usenet

Pour apprendre à programmer il faut lire beaucoup de programmes: abonne-toi à comp.unix.shell tu apprendras vite!

Bashing

Comme bash est un gros (…)

Journal Host@home : faciliter l'auto-hébergement

47
27
avr.
2014

On vous dit que google conserve vos données, que facebook les communique à des tiers. Vous vous sentez concernés par les articles parlant de vie privée. Alors ça y est, c'est décidé, vous ne dépendrez plus de sociétés tierces pour héberger vos courriels, pour échanger des fichiers avec vos contacts… Vous allez vous auto-héberger.

Super.

Euh, par contre, comment on fait? Entre le nom de domaine à louer, la machine à choisir en tant que serveur, les lignes de (…)

Quelques nouvelles sur Rust à l’occasion de la 0.9

Posté par  . Édité par olivierweb, Nÿco, Yves Bourguignon, Benoît Sibaud, palm123, outs, Pierre Jarillon, spider-mario et Bruno Michel. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
46
21
jan.
2014
Rust

Mozilla et la communauté Rust ont annoncé la version 0.9 de Rust le 9 janvier.

Cet article présente l'actualité de ce dernier depuis la version 0.8 détaillée en octobre. Rust est un langage orienté sûreté, concurrence, praticité. Concrètement, c’est un langage compilé, orienté système, et multi-paradigme (procédural, fonctionnel, orienté objet). Ce fut une autre sortie mouvementée dans laquelle ont été réalisés d'importants changements, et l’activité autour de Rust n’a jamais été aussi importante !

Résumé

Côté syntaxe, on assiste à une amélioration et surtout, une réduction de la variété des fermetures dans le langage. Cette version commence la dernière série de changements prévus concernant la façon dont les pointeurs sont traités dans Rust. À commencer par la dépréciation des pointeurs partagés et son symbole @, qu’il faudra remplacer par l’utilisation de types de pointeurs intelligents introduits dans la bibliothèque standard.

Le code source du compilateur et de la bibliothèque standard a été nettoyé, optimisé, et de nombreux bogues ont été corrigés. Le travail sur le compilateur a permis d’améliorer la vitesse de compilation et de faire plus d’optimisations. On peut désormais lier statiquement une bibliothèque à la compilation, et le système d’entrées/sorties de la bibliothèque standard a été réécrit.

La documentation a été améliorée et la présentation revue. L'infrastructure de construction a été elle aussi modifiée. Pour rappel, toute modification de code du dépôt Git passe en premier lieu par un robot de construction afin de la valider à l'issue de l'exécution de tous les tests.

Les changements sont détaillés dans la seconde partie de la dépêche.

Note : Comme la précédente version, la version 0.9 doit être considérée comme une version alpha, adaptée pour les curieux, les pionniers et les amateurs du langage. Il y aura encore une 0.10 et probablement une 0.11.

Opa, un nouveau langage pour le développement d’applications Web

Posté par  . Modéré par patrick_g. Licence CC By‑SA.
46
22
juin
2011
Technologie

Après des années d’efforts, nous sommes heureux d’avoir libéré le code d’une nouvelle technologie Web nommée Opa. La licence choisie est la GNU Affero General Public License version 3 (AGPLv3).

Cette dépêche a pour but de vous expliquer ce qu’est, et n’est pas, Opa.

Journal Tous les parsers JSON sont mauvais

46
22
oct.
2017

Introduction

Ce weekend, je me suis intéressé au langage JSON, aux parsers JSON par défaut de plusieurs langages de programmation, et j'ai fait des découvertes intéressantes.

Je pense que le langage JSON n'est plus à présenter à personne, mais au cas où vous vivriez dans une grotte depuis 1999,
petit résumé rapide: JSON est un format de données, très utilisé notamment sur le web, et qui a l'avantage d'être plutôt compact, assez lisible par les êtres humains, et surtout implémenté (…)

Dr. Geo 16.10

Posté par  (site web personnel) . Édité par Benoît Sibaud et ZeroHeure. Modéré par bubar🦥. Licence CC By‑SA.
46
11
sept.
2016
Éducation

Dr. Geo est un environnement de géométrie interactive et de programmation à destination des jeunes et moins jeunes.
Son interface graphique permet de construire à la souris des figures dynamiques de la géométrie euclidienne. Son interface de programmation permet, quant à elle, de construire des modèles de situations mathématiques en utilisant les objets géométriques de Dr. Geo.

Depuis cette version 16.10, la programmation Smalltalk se fait en français ou anglais !

Figure programmée en français

Journal Un décalage de 64 bits, ça vous inspire comment ?

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
46
14
mai
2017

Salut à tous,
après l'excellent journal d'Anaseto sur le fameux "1+3a", un pote à moi, prof de maths à L'INSA de Rouen, m'a demandé de faire ce petit journal après une "découverte" faite par ses étudiants.
Ceux-ci écrivant des tests unitaires en Free Pascal sont tombés sur un comportement non documenté qui nous a amené à nous poser la question du "comment ksa fait sur les autres langages" :)

Le problème

Le problème vient de l'opérateur de décalage de (…)

Journal TapTempo en une ligne

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
45
19
juil.
2019

En lisant une dépêche du moment je découvre en passant le logiciel TapTempo. En lisant la description du comportement, par réflexe je me suis dit "tiens ça doit rentrer dans une ligne un algo de ce genre".

perl -ne 'BEGIN{use Time::HiRes qw/gettimeofday/} push(@t,0+gettimeofday()); shift(@t) if @t>5; printf("%3.0f bpm",60*(@t-1)/($t[-1]-$t[0])) if @t>1'

Bon ça ne marque qu'avec la touche Entrée, pas avec n'importe quelle touche, mais ça affiche bien le BPM en moyennant les 5 dernières valeurs. Et ça (…)