C'est pas moi qui vais t'aider, mais je pense que tu devrais donner la carte graphique (et le driver utilisé si il en existe plusieurs) pour qu'on puisse t'aiguiller.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Il faut écrire une nouvelle règle pour chaque structure. C'est pas lourdingue ?
Non. Pas plus lourdingue que de certifier un compilateur qui va te le faire "automagiquement" (même si cet effort n'est à faire qu'une fois il est vrai).
Après je parle de l'embarqué (depuis le début), traditionnellement c'est pas un monde où on trafique des dizaines de structures.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Le moyen le plus simple est de faire un .c à part, qui déclare la structure (allocation de mémoire) puis qui implémente l'accesseur. Il publie un .h à destination du reste du code dans lequel n'apparaît que l'accesseur.
Techniquement, le reste du code devra passer par l'accesseur.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Alors en avionique[1] ils testent avec une couverture complète MC/DC
Au passage : MC/DC c'est seulement pour le niveau A de la DO178B (j'en ai fait 12 ans, c'est sur mes souvenirs). Pour niveau B et C la couverture complète suffit.
Ça ne permet pas de garantir que tu ne fais pas de modification directe
Évidemment. Mais j'ai la faiblesse de partir du principe que les règles de codage sont respectées. Et encore une fois, si tu as un code bien architecturé c'est facile à montrer en analyse statique du code (le seul accès à ta structure est effectivement via la fonction d'accès).
Avoir ça dans le langage permet de s'assurer de cette propriété bien plus facilement.
"Bien plus facilement" je suis d'accord, mais ce n'est en rien nécessaire. Comme pour revenir au sujet du journal de la POO, si tu veux bien ranger ta chambre en mettant une boîte noire avec son comportement interne d'un côté, et des interfaces de l'autre, tu n'as pas besoin d'un langage orienté objet, tu as juste besoin de faire les choses proprement (et c'est pas dur, faut arrêter aussi de se voiler la face).
Encore une fois, les bouquins sur l'art de bien programmer en xxx ou avec le paradigme yyy sont aussi épais que ceux pour le C, donc je reste dubitatif sur le fait que ça facilite au final le boulot global d'écriture.
Les tentations d'écrire de la merde sont universelles :)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
(et tu vérifie à chaque modification que l'objet continue de respecter l'invariant)
C'est ce dont je parlais en parlant de bonne architecture/conception : vu que tu as ce besoin, tu vas donc décider que au lieu de jouer directement dans ta structure C (chose bien évidemment autorisée par ton langage, mais c'est pas parce que c'est autorisé que tu dois le faire), tu te fais une petite fonction toute mignonne qui vérifie tes assertions avant d'effectuer la modification.
C'est facilement testable en T.U. et du coup oui, tu es maintenant "garanti".
C'est ce qu'on fait en avionique par exemple (où le C est très largement utilisé, y compris dans des systèmes critiques) et ça se passe très bien.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Tu parles bien de « fonctionnel » comme dans programmation fonctionnelle au sens de cette définition ?
Pas du tout ! je voulais parler de langage "non objet". Tu vois donc mon niveau en théorie de la programmation…
D’autre part, le message principal du billet – et je crois que c’est dit explicitement dans la dernière partie – c’est surtout qu’il ne faut pas rester collé à un paradigme de programmation en particulier
Je l'entendais bien ainsi, et le choix du langage est donc primordial car il va tôt ou tard te forcer dans son propre paradigme.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Étant un développeur embarqué depuis la fin du siècle précédant, j'ai quasi jamais travaillé en POO.
Sachant tout de même qu'on parle d'un des plus gros paradigmes de la programmation, j'ai voulu m'y mettre ne serait-ce que par la culture, et à chaque fois je tombe sur des explications de comment résoudre des problèmes que je n'ai jamais rencontré.
Quand on regarde la définition de haut niveau des objets : Ces objets ont un état interne et un comportement, qui leur permet d’interagir entre eux on voit très bien que c'est ce qu'on fait depuis toujours avec un langage fonctionnel (C pour ma part), en ayant une architecture/conception rigoureuse (et pas un plat de spaghetti).
Alors certes un langage Objet facilitera ce travail, mais en théorie seulement quand je vois le nombre d'articles (et de bouquins) destinés à bien architecturer/concevoir les objets.
Ce billet me conforte un peu dans ma vision…
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
La F1 c'est ultra physique (et cardio). Sans une excellente condition physique tu ne tiens pas 3 tours tellement tu te fais violenter. Et pendant cette torture, oui, tu dois être concentré et précis.
À comparer je tenterais plutôt le biathlon par exemple.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Je différencie deux types de sponsors. Ceux qui sponsorisent un sportif/une équipe et ceux qui sponsorisent un événement (RedBull) ou carrément le vainqueur quel qu'il soit (Coca-Cola sur le podium du Tour de France par exemple).
La première catégorie prend quand même plus de risques.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Pour ma part je suis parti chez Infomaniak sur un coup de tête. J'ai un nom de domaine qui ne me sert qu'à moi (emails jetables, serveur de test…) et j'ai migré sur un coup de tête. Si ça marche bien d'autres domaines dont je m'occupe (asso) migreront aussi.
Pour 15€/an je reviens à une offre qui me va : une boite email offerte, et une option à 22€/an pour en avoir 5. On est loin du 4€/mois/boîte.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Je connaissais la téévision, mais pas la tééphonie ^^
Sinon j'ai jamais vu passer de logiciel permettant de téléphoner. Je connais un peu le domaine et je pense même que ce serait assez compliqué : le haut parleur et le micro sont en général directement connectés en analogique au modem. En gros pendant que tu téléphones ton smartphone/ordinateur peut passer en veille si il veut, le modem est capable de téléphoner tout seul, sans CPU autour.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: à quand ...
Posté par gUI (Mastodon) . En réponse au lien Pub ou vrai attaque ?. Évalué à 5.
Je suis à deux doigts de prendre le nom et d'en faire un alias ^^
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Carte graphique ?
Posté par gUI (Mastodon) . En réponse au message Linuxmint - écran 4K 150Hz. Évalué à 7.
C'est pas moi qui vais t'aider, mais je pense que tu devrais donner la carte graphique (et le driver utilisé si il en existe plusieurs) pour qu'on puisse t'aiguiller.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: logiciel libre
Posté par gUI (Mastodon) . En réponse au lien Canicule marine inédite en Atlantique Nord, des milliers d'espèces menacées. Évalué à 6.
Note de la modération : aucun rapport, et c'est pas grave.
Seules les dépêches sont strictement en rapport avec le libre, pour le reste c'est plus ouvert.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# dnsmasq
Posté par gUI (Mastodon) . En réponse au message Quel serveur DHCPD choisir ?. Évalué à 7.
Avant de mettre un pfSense, j'avais
dnsmasqqui me servait de serveur DHCP. Je le classe dans les "simple et efficace" :)Comme il me servait aussi de résolveur DNS, ça me faisait résoudre très facilement les noms locaux, y compris ceux qui se connectent en DHCP donc.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Oh vous savez, moi, l'objet...
Posté par gUI (Mastodon) . En réponse au lien Un point sur la programmation objet (POO) – La POO, ses problèmes, et qu’en faire . Évalué à 3.
C'est ça, merci !
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Je dis bravo
Posté par gUI (Mastodon) . En réponse au lien Fermeture de la plateforme Skyblog. Évalué à 10.
La comm' d'annonce de fermeture qui donne la recette pour faire sa sauvegarde, c'est propre.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Oh vous savez, moi, l'objet...
Posté par gUI (Mastodon) . En réponse au lien Un point sur la programmation objet (POO) – La POO, ses problèmes, et qu’en faire . Évalué à 4.
Non. Pas plus lourdingue que de certifier un compilateur qui va te le faire "automagiquement" (même si cet effort n'est à faire qu'une fois il est vrai).
Après je parle de l'embarqué (depuis le début), traditionnellement c'est pas un monde où on trafique des dizaines de structures.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Oh vous savez, moi, l'objet...
Posté par gUI (Mastodon) . En réponse au lien Un point sur la programmation objet (POO) – La POO, ses problèmes, et qu’en faire . Évalué à 3.
Le moyen le plus simple est de faire un
.cà part, qui déclare la structure (allocation de mémoire) puis qui implémente l'accesseur. Il publie un.hà destination du reste du code dans lequel n'apparaît que l'accesseur.Techniquement, le reste du code devra passer par l'accesseur.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Oh vous savez, moi, l'objet...
Posté par gUI (Mastodon) . En réponse au lien Un point sur la programmation objet (POO) – La POO, ses problèmes, et qu’en faire . Évalué à 5.
Au passage : MC/DC c'est seulement pour le niveau A de la DO178B (j'en ai fait 12 ans, c'est sur mes souvenirs). Pour niveau B et C la couverture complète suffit.
Évidemment. Mais j'ai la faiblesse de partir du principe que les règles de codage sont respectées. Et encore une fois, si tu as un code bien architecturé c'est facile à montrer en analyse statique du code (le seul accès à ta structure est effectivement via la fonction d'accès).
"Bien plus facilement" je suis d'accord, mais ce n'est en rien nécessaire. Comme pour revenir au sujet du journal de la POO, si tu veux bien ranger ta chambre en mettant une boîte noire avec son comportement interne d'un côté, et des interfaces de l'autre, tu n'as pas besoin d'un langage orienté objet, tu as juste besoin de faire les choses proprement (et c'est pas dur, faut arrêter aussi de se voiler la face).
Encore une fois, les bouquins sur l'art de bien programmer en xxx ou avec le paradigme yyy sont aussi épais que ceux pour le C, donc je reste dubitatif sur le fait que ça facilite au final le boulot global d'écriture.
Les tentations d'écrire de la merde sont universelles :)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Oh vous savez, moi, l'objet...
Posté par gUI (Mastodon) . En réponse au lien Un point sur la programmation objet (POO) – La POO, ses problèmes, et qu’en faire . Évalué à 5. Dernière modification le 22 juin 2023 à 11:06.
C'est ce dont je parlais en parlant de bonne architecture/conception : vu que tu as ce besoin, tu vas donc décider que au lieu de jouer directement dans ta structure C (chose bien évidemment autorisée par ton langage, mais c'est pas parce que c'est autorisé que tu dois le faire), tu te fais une petite fonction toute mignonne qui vérifie tes assertions avant d'effectuer la modification.
C'est facilement testable en T.U. et du coup oui, tu es maintenant "garanti".
C'est ce qu'on fait en avionique par exemple (où le C est très largement utilisé, y compris dans des systèmes critiques) et ça se passe très bien.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Oh vous savez, moi, l'objet...
Posté par gUI (Mastodon) . En réponse au lien Un point sur la programmation objet (POO) – La POO, ses problèmes, et qu’en faire . Évalué à 4.
Pas du tout ! je voulais parler de langage "non objet". Tu vois donc mon niveau en théorie de la programmation…
Je l'entendais bien ainsi, et le choix du langage est donc primordial car il va tôt ou tard te forcer dans son propre paradigme.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Oh vous savez, moi, l'objet...
Posté par gUI (Mastodon) . En réponse au lien Un point sur la programmation objet (POO) – La POO, ses problèmes, et qu’en faire . Évalué à 6. Dernière modification le 22 juin 2023 à 08:53.
Étant un développeur embarqué depuis la fin du siècle précédant, j'ai quasi jamais travaillé en POO.
Sachant tout de même qu'on parle d'un des plus gros paradigmes de la programmation, j'ai voulu m'y mettre ne serait-ce que par la culture, et à chaque fois je tombe sur des explications de comment résoudre des problèmes que je n'ai jamais rencontré.
Quand on regarde la définition de haut niveau des objets : Ces objets ont un état interne et un comportement, qui leur permet d’interagir entre eux on voit très bien que c'est ce qu'on fait depuis toujours avec un langage fonctionnel (C pour ma part), en ayant une architecture/conception rigoureuse (et pas un plat de spaghetti).
Alors certes un langage Objet facilitera ce travail, mais en théorie seulement quand je vois le nombre d'articles (et de bouquins) destinés à bien architecturer/concevoir les objets.
Ce billet me conforte un peu dans ma vision…
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Syncthing ?
Posté par gUI (Mastodon) . En réponse au message Ftp torrent. Évalué à 4.
Syncthings ça marche quand on est copains (validation des partages au cas par cas). Selon le scénario, ça peut aller ou pas.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: C'est le bon site ?
Posté par gUI (Mastodon) . En réponse au message Pourquoi c'est encore Java 8 qui est recommandé aux utilisateurs Windows ?. Évalué à 9.
Les moteurs de recherche faut toujours s'en méfier, le premier résultat n'a jamais été garanti d'être "le résultat officiel" (pour peu qu'il existe).
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# C'est le bon site ?
Posté par gUI (Mastodon) . En réponse au message Pourquoi c'est encore Java 8 qui est recommandé aux utilisateurs Windows ?. Évalué à 4.
Ici on ne parle plus du tout de Java 8 : https://www.oracle.com/fr/java/technologies/downloads/
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Sponsors en général
Posté par gUI (Mastodon) . En réponse au journal Pour ou contre Red Bull ? tu en penses quoi, toi, journal ?. Évalué à 10.
La F1 c'est ultra physique (et cardio). Sans une excellente condition physique tu ne tiens pas 3 tours tellement tu te fais violenter. Et pendant cette torture, oui, tu dois être concentré et précis.
À comparer je tenterais plutôt le biathlon par exemple.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Sponsors en général
Posté par gUI (Mastodon) . En réponse au journal Pour ou contre Red Bull ? tu en penses quoi, toi, journal ?. Évalué à 10.
N'importe qui qui a fait une session de 5mn de karting a bien vu que 2h de F1 c'est vraiment un sport.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Sponsors en général
Posté par gUI (Mastodon) . En réponse au journal Pour ou contre Red Bull ? tu en penses quoi, toi, journal ?. Évalué à 3.
Je différencie deux types de sponsors. Ceux qui sponsorisent un sportif/une équipe et ceux qui sponsorisent un événement (RedBull) ou carrément le vainqueur quel qu'il soit (Coca-Cola sur le podium du Tour de France par exemple).
La première catégorie prend quand même plus de risques.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Partition /home séparée
Posté par gUI (Mastodon) . En réponse au message Rapide retour en arrière ! . Évalué à 4.
Ah oui bien vu !
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Partition /home séparée
Posté par gUI (Mastodon) . En réponse au message Rapide retour en arrière ! . Évalué à 6. Dernière modification le 18 juin 2023 à 09:26.
Si tu as une partition
/homedédiée, tu seras peinard pour essayer tout ce que tu veux sans perdre tes données perso.Attention toutefois, il y a un piège, c'est que lors de l'installation tu t'embrouilles et tu perdes tout, donc sauvegardes à jour bien évidemment !
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Parti chez Infomaniak
Posté par gUI (Mastodon) . En réponse au lien Migration de OVH vers Ouvaton : cf partie email en bas qui peut servir pour tous les cas de figure. Évalué à 6. Dernière modification le 15 juin 2023 à 16:39.
Pour ma part je suis parti chez Infomaniak sur un coup de tête. J'ai un nom de domaine qui ne me sert qu'à moi (emails jetables, serveur de test…) et j'ai migré sur un coup de tête. Si ça marche bien d'autres domaines dont je m'occupe (asso) migreront aussi.
Pour 15€/an je reviens à une offre qui me va : une boite email offerte, et une option à 22€/an pour en avoir 5. On est loin du 4€/mois/boîte.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Ah, les citations d'Albert Einstein...
Posté par gUI (Mastodon) . En réponse au journal Ne pas subir son couple.. Évalué à 10. Dernière modification le 15 juin 2023 à 10:42.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# C'est censé être possible
Posté par gUI (Mastodon) . En réponse au message Créer udev rule pour périphérique USB avec plusieurs ports virtuels. Évalué à 5.
Je bosse sur des appareils qui ont 3 ports UART sur un seul connecteur, je n'ai aucune difficulté à faire des règles
udev.Mais comme ça sans donner d'exemples ça va être compliqué de t'aider.
lsusb,dmesg…)udevadm info --query=property --name /dev/ttyUSB2udevadm info --attribute-walk --name /dev/ttyUSB2En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: performances -> spectacles
Posté par gUI (Mastodon) . En réponse à la dépêche Robot humanoïde libre français Poppy. Évalué à 3.
'Performance' est synonyme de 'action', et pas de 'spectacle'.
Un spectacle est composé de plusieurs performances.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Pas à ma connaissance
Posté par gUI (Mastodon) . En réponse au message quel logiciel de tééphonie pour une carte cellulaire?. Évalué à 3.
Je connaissais la téévision, mais pas la tééphonie ^^
Sinon j'ai jamais vu passer de logiciel permettant de téléphoner. Je connais un peu le domaine et je pense même que ce serait assez compliqué : le haut parleur et le micro sont en général directement connectés en analogique au modem. En gros pendant que tu téléphones ton smartphone/ordinateur peut passer en veille si il veut, le modem est capable de téléphoner tout seul, sans CPU autour.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.