Journal Pythran 0.8.2 — compilation de noyaux scientifiques écrits en Python

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
38
14
sept.
2017

Mâtin, quel journal !

Pythran est bien vivant
Un vrai compilateur !
Et heure après heure,
Le bonheur vient en codant !

Mais des mois s’écoulèrent,
Sans que je postasse,
Le moindre mot dans l’air,
Ça manque un peu de classe

Et là, tout à coup, soudainement, surgit la version 0.8.2 de Pythran. Que s’est‐il passé depuis mon dernier soliloque sur LinuxFr.org ? Allez, plongeons dans le journal des modifications, mais avant ça, un petit rappel sur Pythran, par l’exemple.

Vous voyez ce bout (…)

Quelques cadriciels Web C++ (2/2)

Posté par  (site web personnel) . Édité par Davy Defaud, Benoît Sibaud, ZeroHeure, palm123, bubar🦥 et claudex. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
38
12
déc.
2018
C et C++

Actuellement, il existe de nombreux langages et cadriciels intéressants pour le développement Web back‐end. Dans ce domaine, le C++ n’est pas le langage le plus à la mode, mais il possède cependant des atouts intéressants. En effet, le C++ possède de nombreuses bibliothèques (dont des cadriciels Web), il est réputé pour ses performances et, enfin, ses dernières normes le rendent plus agréable à utiliser.

L’objectif de cet article est de donner un aperçu des outils C++ disponibles pour le développement Web back‐end, à partir d’un exemple d’application. Les codes sources présentés ici sont disponibles sur ce dépôt Git. Les différents cadriciels utilisés sont résumés en annexe (partie 2). Enfin, une liste de bibliothèques C++ est disponible sur Awesome C++.

Partie 2 : les cadriciels Web.

Journal C++14

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
38
31
août
2014

C'est officiel, depuis le 18 août dernier, une nouvelle version de C++ est sorti : C++14 ! Ce qui est le plus surprenant, c'est que les compilateurs du monde libre fournissent déjà cette version (alors qu'il avait fallu attendre de nombreux mois voire de nombreuses années pour les versions précédentes).

Pour rappel, C++14 n'est pas une révolution comme a pu l'être C++11, mais plutôt une évolution et une amélioration de C++11 avec quelques fonctionnalités supplémentaires. Pour le langage lui-même, on (…)

Journal Compter en C++, de 98 jusqu'à 11

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
37
2
juin
2021

Salut 'nal,

Non, ça ne fonctionne pas.

Bonjour 'nal,

Ah c'est mieux !

Il y a quelques temps, un collègue m'a proposé de faire une présentation au sein de la boîte pour faire le tour des modifications qui ont été apportées au langage C++ depuis la version de 2011. J'ai commencé à faire quelques slides en me concentrant sur les parties qui me semblent essentielles mais, assez rapidement, il m'est paru clair qu'il faudrait plus d'une présentation si je voulais (…)

C++17 libère size(), data() et empty()

Posté par  (site web personnel) . Édité par David Marec, Benoît Sibaud, Oliver, Davy Defaud, palm123, whity, gbdivers, kp, claudex et audionuma. Modéré par Davy Defaud. Licence CC By‑SA.
Étiquettes :
36
17
mar.
2018
C et C++

Cette évolution est dans la continuité de la libération de begin() et end() en C++11. Ces trois nouvelles fonctions, size(), data() et empty(), avaient été oubliées lors des deux dernières évolutions. Le C++17 corrige le tir.

Tout d’abord, nous allons revenir sur les raisons de cette évolution. Puis, nous détaillerons ce qu’apporte chacune de ces trois fonctions. Et, pour conclure, nous verrons comment on va pouvoir les utiliser.

Les fonctions empty(), data() et size() sortent de la prison « class » et rejoignent les fonctions begin() et end() qui les accueillent. Ces deux dernières fonctions accueillent également string_view. Derrières les barreaux de la prison des spécifications techniques, Unified-Call-Syntax va devoir y rester trois ans pour tenter de sortir avec C++20

Quelques cadriciels Web C++ (1/2)

Posté par  (site web personnel) . Édité par Davy Defaud, ZeroHeure, palm123, Julien Jorge, Benoît Sibaud, claudex et bubar🦥. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
34
9
déc.
2018
C et C++

Actuellement, il existe de nombreux langages et cadriciels (frameworks) intéressants pour le développement Web côté serveur. Dans ce domaine, le C++ n’est pas le langage le plus à la mode, mais il possède cependant des atouts intéressants. En effet, le C++ dispose de nombreuses bibliothèques (dont des cadriciels Web), il est réputé pour ses performances, enfin ses dernières normes le rendent plus agréable à utiliser.

L’objectif de cet article est de donner un aperçu des outils C++ disponibles pour le développement Web back‐end, à partir d’un exemple d’application. Les codes sources présentés ici sont disponibles sur ce dépôt Git. Les différents cadriciels utilisés sont résumés en annexe (partie 2). Enfin, une liste de bibliothèques C++ est disponible sur Awesome C++.

Partie 1 : exemple d’application, génération de HTML et accès à une base de données.

Journal Spacewar! pour Haiku

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
33
11
nov.
2018

Bonjour Nal,

Bon voilà, il fait froid dehors, je suis un peu fatigué et j'ai pas envie de replonger tout de suite dans le code de WebKit pour trouver pourquoi il est persuadé de ne pas savoir traiter les tags aujourd'hui, mes slides pour le Capitole du Libre sont prêtes (enfin à peu près…)…

C'est le moment de porter Spacewar! sur Haiku!

Spacewar! est un jeu vidéo écrit à l'origine pour le PDP-1 entre 1961 et 1962 (en savoir (…)

Journal De retour de conférence

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
33
14
juil.
2024

Je reviens de la conférence C++ On Sea, dans la riante bourgade de Folkestone, à côté de Douvres. Mon employeur bien aimé nous ayant signifié qu'il voulait bien payer la conf mais qu'il fallait quand même bosser un peu de temps en temps, nous avons eu droit à 1 journée chacun, et j'ai sélectionné le vendredi.

Alors, l'endroit est surprenant. En arrivant sur la place en haut de la falaise, j'ai vu une sorte de petit kiosque abritant un (…)

Miam-Player 0.7.1

Posté par  . Édité par Nils Ratusznik, Xavier Teyssier et palm123. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
32
7
avr.
2015
Son

Miam-Player est encore un lecteur audio qui se base sur Amarok 1.4, comme Clementine. Sauf que là, il ne s'agit pas d'un fork : tout a été codé à la main (avec amour) en réutilisant la bibliothèque VLC pour le décodage des fichiers audio, et la toute dernière version de Qt 5.

Opmock : un outil pour le TDD efficace en C et C++

Posté par  . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
32
14
mar.
2011
Ligne de commande

Le [TDD] est une pratique souvent utilisée dans les projets de développement utilisant les « méthodes agiles ». Pour supporter cette pratique, il est nécessaire de disposer d'outils qui permettent d'écrire facilement des tests unitaires, mais également de couper les dépendances d'une section de code, afin de la tester en isolation. Les langages actuels, comme Java ou C#, bénéficient tous de pléthore d'outils de ce type, comme Jmockit ou Mockito. Cependant, le C et le C++ n'ont pas cette chance, bien qu'une quantité impressionnante de code les utilise.

Opmock est un outil de génération automatique de stubs et de mocks, qui permet de simplifier énormément le TDD avec des bases de code importantes en C ou C++, existantes ou nouvelles.

Le projet est placé sous licence GPLv3.

Journal C++ Core Guidelines

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
31
2
oct.
2015

En ce moment a lieu la conférence CPPCon qui regroupe la crème des acteurs du C++ et de son comité de normalisation. Au cours de cette conférence, Herb Sutter (le responsable du comité de normalisation, travaillant à Microsoft) et Bjarne Stroustrup (inventeur du C++) ont donné deux exposés sur la manière de bien écrire du C++.

Ils en ont profité pour dévoiler un guide des règles de bonne conduite pour C++ accompagné d'une bibliothèque, GSL (Guideline Support Library) permettant (…)

Journal Le réseau dans C++

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
31
24
nov.
2014

Faire du réseau de manière portable en C++, ça va devenir une réalité ! Le travail se fait dans une spécification technique (TS), c'est-à-dire dans une bibliothèque annexe qui sera figée pour C++17 et mise dans un namespace explicite : std::experimental.

Concrètement, la proposition qui en est à sa troisième révision, est largement fondée sur Boost.Asio qui, comme son nom ne l'indique pas, permet de faire à la fois du synchrone et de l'asynchrone. Elle me semble pour l'instant (…)

Coder efficacement, bonnes pratiques et erreurs à éviter

Posté par  . Édité par BAud, Nÿco, Thom, Benoît Sibaud et olivierweb. Modéré par Ontologia. Licence CC By‑SA.
30
14
avr.
2014
C et C++

Développer une application peut rapidement devenir un enfer si vous n'avez pas anticipé certaines difficultés et fait les bons choix au moment de sa conception. Ce livre vous aidera à vous poser les bonnes questions et à tirer le meilleur parti de la programmation objet, en particulier en C++, sans tomber dans les pièges les plus fréquents. Il clarifie certains concepts délicats et passe en revue un ensemble de bonnes pratiques, qui rendront vos projets plus évolutifs et plus faciles à maintenir.

Titre de l'image

C++17 exprime la virgule flottante en hexadécimal et offre des cadeaux aux lecteurs de LinuxFr.org

Posté par  . Édité par Davy Defaud, Oliver, ZeroHeure et Storm. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
30
7
déc.
2016
C et C++

Chaque jour (ouvré) de décembre a droit à sa surprise. Après le if constexpr, aujourd’hui, le calendrier de l’Avent du C++ présente la spécification technique P0245 concernant le littéral pour exprimer la virgule flottante en hexadécimal.

Les Nerdettes s’entraînent pour le concours des littéraux hexadécimaux sur LinuxFr.org

Journal Compilateur trop intelligent

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
30
1
nov.
2017

Une belle illustration des decisions radicales que peut prendre l'optimiseur de clang quand il rencontre des comportements indéfinis :

exemple en c++ sur https://gcc.godbolt.org

L'explication se trouve ici , je ne spoile pas pour ceux qui veulent trouver tout seuls comment le compilateur a choisi d'effacer le disque dur.