Bref, j'ai créé une bibliothèque Rust et un moteur iBus (et je cherche comment les empaqueter)

Posté par (page perso) . Édité par palm123, BAud, Nils Ratusznik, Benoît Sibaud et Thomas Debesse. Modéré par tankey. Licence CC by-sa.
21
14
oct.
2014
Technologie

Tiré du journal d'Allan Simon qui donne un exemple de bibliothèque en langage Rust et comment créer des bibliothèques Rust appelables :

Pour le décideur pressé, j'ai écrit:

  • une bibliothèque en Rust, compatible ABI C (c-à-d un joli .so et .h) pour manipuler du pinyin : librustpiniyn ;
  • un moteur iBus pour taper chinois en précisant les tons, utilisant la bibliothèque du dessus : ibus-pinyintone ;
  • un ensemble d'exemples sur comment créer des bibliothèques Rust appelables comme si c'était une lib C : ffi-rust.

Et je me demande comment je pourrais empaqueter les deux premiers dans un joli .deb qui va bien.

Journal Rust en version 0.12

Posté par . Licence CC by-sa.
15
13
oct.
2014

Hop une nouvelle version du compilateur Rust est sortie. Voilà l'anonce.

Perso j'avais regardé la langage y'a presque un an où j'avais commis ca (je me souviens plus du numéro de version du compilo de l'époque). Ça a pas mal changé depuis, je pense que je suis bon pour relire un tuto en entier. Remarque ça tombe bien le guide a été refait entièrement…

Ça va tout déchirer pour la v1 je pense :)

(oui ceci est un (...)

Journal Bref j'ai créé une bibliothèque Rust et un moteur ibus (et je cherche comment les packager)

Posté par (page perso) . Licence CC by-sa.
25
7
oct.
2014

Bonjour nal

Pour le décideur pressé, j'ai écrit:

  • une lib en rust, compatible ABI C (c.a.d un joli .so et .h) pour manipuler du pinyin librustpiniyn
  • un moteur ibus pour taper chinois en précisant les tons, utilisant la lib du dessus ibus-pinyintone
  • un ensemble d'exemples sur comment créer des lib Rust appelables comme si c'était une lib C ffi-rust

et je me demande comment je pourrais packager les deux premiers dans un joli .deb qui va bien

Contexte

Tu as (...)

Encore une couche de rouille avec Rust 0.11

53
14
juil.
2014
Rust

Rust 0.11 est sorti le 2 juillet 2014 ! Pour rappel, Rust est un langage de programmation système qui vise la performance et la sûreté. Il est développé par Mozilla, en parallèle d'un nouveau moteur de rendu expérimental écrit en Rust, Servo.

Rust est open source. Son développement est fait de façon ouverte sur GitHub et le code source est publié sous double licence Apache 2.0 et licence MIT.

Rust

Rust s’oxyde en version 0.10

63
8
avr.
2014
Rust

Mozilla et la communauté Rust ont annoncé la version 0.10 de Rust le 3 avril. Rust est un langage de programmation développé par Mozilla. La version 0.1 a été annoncée par Mozilla le 20 janvier 2012. Pour découvrir le langage, on peut se référer au nouveau site web sur lequel on peut lire :

Rust est un langage de programmation système qui est extrêmement rapide, empêche presque tous les plantages et élimine les accès concurrent.

Logo de Rust

Rust se veut donc une alternative à C/C++, comme D et Go, et possède tout comme ces derniers un ramasse-miettes, mais qui est optionnel. Sa syntaxe est proche de celle du C/C++/Java tout en étant beaucoup plus expressif. Sa force est de mélanger les fonctionnalités de différents paradigmes, beaucoup venant du fonctionnel (immuabilité par défaut, modèle objet proche de celui d'Haskell, fermetures, etc). Il met l'accent sur la sûreté d'exécution, notamment grâce à son système élaboré de pointeurs intelligents et son système de types forts, sans sacrifier les performances.

Depuis la version 0.9, qui a fait l’objet d’une dépêche, les efforts ont notamment porté au cours des 1500 changements sur la simplification du langage. Le langage Rust n'est pas stabilisé, cela viendra avec la version 1.0.

Cette itération de développement a apporté le découpage de la bibliothèque libextra, introduit des extensions de syntaxe inter crate, amélioré la manipulation des pointeurs avec le trait Deref et la gestion des erreurs des entrées/sorties.
En dehors du compilateur, cette nouvelle version a vu l'introduction d'un nouveau processus de RFC ainsi que la construction quotidienne des installateurs binaires.

Des améliorations ont été données à l'infrastructure de tests et aux scripts de construction. Des installeurs sont désormais disponibles pour Linux, MacOS et Windows. Même si certains font tourner Rust sur ARM, ce n'est pas une architecture proposée dans la documentation.

Comme pour les précédentes versions, cette version 0.10 doit être considérée comme une version alpha, appropriée pour les adopteurs précoces et les amateurs de langages.

Quelques nouvelles sur Rust à l’occasion de la 0.9

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.

Présentation de Rust 0.8

128
11
oct.
2013
Rust

Rust est sorti en version 0.8 le jeudi 26 septembre dernier, apportant comme d’habitude son lot de nouveautés.

Rust est un langage de programmation multi-paradigme (procédural, fonctionnel, orienté objet), compilé et orienté système. Il se veut donc un concurrent sérieux de langages tels que le C, C++, D et Go.

Logo Rust

Centré sur la sûreté, la concurrence et la praticité, il est développé par Mozilla Research (ils ne font pas que du web !) et une communauté de bénévoles. Il est publié sous double licence Apache 2.0 et MIT.

Il y a déjà eu deux dépêches complémentaires consacrées à Rust, à l’occasion de la sortie de la version 0.1 et de la version 0.3. Notons également un journal plutôt intéressant mais assez succinct, paru à l’occasion de la sortie de la version 0.7.

Mais en règle générale, le sujet reste borné à quelques blogs anglophones, quelques nouvelles furtives sur Developpez.com par exemple, et bien sûr le site web du projet.

Il me semblait donc nécessaire de faire le point sur ce langage à la communauté dynamique et qui semble très prometteur. La sortie de la version 0.8 est donc l’occasion rêvée pour vous faire une présentation complète du langage. D’ailleurs, ce document est sûrement, à la date de la publication, le plus gros document francophone concernant Rust (et la plus grosse dépêche jamais publiée sur Linuxfr ? :p).

Note de l’auteur : un grand merci à sebcrozet pour ses connaissances sur le fonctionnement de Rust (qui s’est inscrit sur Linuxfr juste pour l’occasion !), à olivierweb et à Olivier Renaud pour leurs innombrables corrections, ainsi qu’à tous les autres contributeurs bien entendu !

Journal Sortie de Rust 0.7

51
12
juil.
2013

Début juillet sortait la version 0.7 du langage de programmation Rust.

Ayant pour le moment écrit la faramineuse quantité de 0 lignes de code en Rust, je ne me lancerai pas dans l'écriture d'une dépêche (qui n'atteindrait pas les standards de kalitay de linuxfr). En revanche je m'intéresse beaucoup à ce langage depuis quelques mois, et si je peux susciter l’intérêt de quelques lecteurs alors mon but sera atteint.

Rust est un langage crée par Mozilla, qui s'en sert (...)

Sortie de Rust en version 0.3

35
23
juil.
2012
Rust

Rust est un langage développé par la fondation Mozilla qui implémente les paradigmes procédural, orienté objet, concurrent et fonctionnel. C'est un langage compilé plutôt orienté bas-niveau et qui concurrence le C ou le C++. Il est multiplates-formes et tourne sous Linux, Mac OS X et Windows. Pour rappel, Rust est un langage de programmation système fortement typé. L'accent est mis sur la sûreté des accès mémoire et la concurrence.

Vu les orientations de la fondation Mozilla, le but est de pouvoir développer un navigateur Web avec ce langage et les travaux ont déjà commencé, ce navigateur alternatif s'appelle Servo.

logo

Sortie de la version 0.1 de Rust

Posté par (page perso) . Édité par Xavier Claude et Lucas Bonnet. Modéré par baud123. Licence CC by-sa.
36
22
jan.
2012
Rust

Mozilla a annoncé le 20 janvier la sortie de la version 0.1 du compilateur pour Rust, sous une licence de type MIT. Rust est un langage de programmation système fortement typé. L'accent est mis sur la sûreté des accès mémoire et la concurrence. Il fonctionne actuellement sur les plateformes GNU/Linux, OSX et Windows.

Voici un exemple d'Hello World :

use std;
import std::io;

fn main() {
    for i in [1, 2, 3] {
        io::println(#fmt("hello %d\n", i));
    }
}

Rust est un langage proche de Go, il partage d'ailleurs une inspiration commune venant de Newsqueak, Alef et Limbo. Toutefois, les développeurs de Rust ont commencé leur travail avant l'annonce de Go et ne sont pas satisfaits par la sémantique adoptée par Go (état partagé mutable, Ramasse-miettes global, pointeurs NULL, absence de destructeurs).

Plus d'informations en seconde partie.