On est d'accord dans le cas d'une classe où tu définis l'opérateur mais sur un type "atomique" comme int, c'est quoi l'impact ?
Dans le bench, c'est sur un bête int qu'on fait ça, pas de template ou quoique ce soit d'aussi compliqué dans notre cas :)
On peut donc définir tout point de l'univers avec des coordonnées et une altitude.
Sauf que ça oblige à faire des corrections en permanence en fonction du point où tu te trouve sur la Terre. C'est pour ça qu'il existe d'autres types de coordonnées dont :
En fait, il y en a un paquet mais généralement, on ne se sert que rarement des coordonnées horizontales, sauf peut-être pour donner une indication approximative pour les personnes qui utilisent leurs yeux, des jumelles ou des instruments à monture altazimutale.
Donc, à mon avis, l'utilisation d'un langage comme Ada aurait très certainement pu permettre d'éviter ou de détecter le bug plus tôt.
C'est justement l'objet d'une discussion en cours sur le newsgroup comp.lang.ada.
Pour faire court, un des principaux écueils est la disponibilité d'un compilateur Ada sur toutes les plateformes censées faire tourner OpenSSL.
Ben, depuis que Pidgin l'a abandonné, il ne doit plus rester grand monde… Enfin de connu :)
C'est bien dommage parce que ça marche plutôt bien mais bon, il n'y a pas énormément d'outils autour et son concepteur initial Graydon Hoare est un peu passé à autre chose, genre Rust :D
De plus, l'absence quasi totale de forge supportant Monotone a aussi creusé sa tombe et il n'y a guère qu'Indefero qui le supporte encore.
Il traîne quand même quelques trucs dans l’écosystème Ada qui permettent de limiter fortement ces trucs-là, à commencer par le Profil Ravenscar et SPARK qui restent tout de même l'un comme l'autre suffisamment proches pour ne pas les considérer comme des outils externes.
D'ailleurs, pour ce dernier, il y a eu une présentation intéressante qui a été filmée.
Bien sûr, aucun langage ne peut se substituer à l'analyse du problème et répondre à la question "Que fait-on quand on se prend un exception là ?".
Ceci dit, il y a quand même des trucs que le langage permet d'éviter. Si ce n'était pas le cas, on coderait encore tout en assembleur :)
Au passage, tu parlais d'Ariane mais il faut quand même rappeler que l'erreur ne vient pas du langage mais de ce que l'on en a fait. Retirer les vérifications sur une opération de conversion, c'est toujours dangereux… Qui plus est quand on convertit du 64 bits en 16 bits :D
Au final, c'est une erreur humaine. Mais là encore, tu pourrais me dire qu'encore fallait-il savoir quoi mettre dans le gestionnaire d'exception, et là, ça devient de l'analyse.
L'autre possibilité, c'est d'utiliser un langage qui interdit l'absence de délimiteur de bloc.
Pour moi, ça a toujours été une hérésie que de rendre les accolades facultatives.
Du coup, je mets toujours des accolades
Ca, c'est comme pour toute API, sans IDE qui propose la complétion, il faut la connaître sur le bout des doigts.
Compter 1/2 journée pour un « hello world ; »
Oui mais enfin dans le cadre d'un coding game, faut pas s'amuser à prendre un langage qu'on connait pas :D
Ceci dit, c'est un langage qui peut paraître pénible mais perso, j'ai trouvé que l'investissement valait le coup.
Du coup, maintenant, je suis particulièrement désemparé quand je tombe sur un bug dans d'autres langages où le compilo Ada m'aurait aidé. Au final, c'est un langage d'assisté :D
De toutes façons, ce serait difficile de coder les exos en Ada très rapidement, la rapidité d'écriture n'étant pas prévue dans le langage :)
En tout cas, je pense pas que l'intégration du langage soit compliqué dans la plateforme, ça reste un frontend GCC.
Solaris est assez sympa même si j'ai toujours un mal de chien à me faire aux noms de device :D
Mais il y a des trucs assez puissants, notamment pour la gestion des ressources (voir ça) et puis il y a aussi eu ZFS :)
Comme pour AIX, c'est stable. Tellement stable que j'ai une bécane qui a fonctionné 24/24 pendant des années sans planter alors qu'elle avait un disque un poil grippé, ce dont je me suis rendu compte quand il a fallu la redémarrer à cause de travaux sur l'installation électrique :D
Pareil que les autres, dans l'aéronautique, j'ai encore trois Solaris, deux 9 et un 10 sur lesquels on fait encore des dev.
Il traîne aussi du AIX, du Tru64 et de l' Irix sur certains autres projets.
Mais globalement, les nouveaux Unix sont de plus en plus souvent des Linux… Enfin, on installe encore des Unix vu que j'ai quand même réussi à monter un serveur FreeBSD :)
Et je ne crois pas que j'aurais fait ça si j'avais eu à modifier ma variable CVSROOT ou installer un serveur Subversion. Toi peut-être, mais moi non.
C'est bien pour ça que j'ai donné un lien sur un article ne traitant ni de CVS, ni de Subversion mais de RCS qui lui est orienté vers la gestion des version d'un fichier unique (cf. là)
[^] # Re: suckless !! More is less !
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Pourquoi un PC ralentit-il ?. Évalué à 6.
Moi, je préfère utiliser un langage qui se démerde tout seul avec tout ça.
Là, au moins, y a juste à décrire.
[^] # Re: Un code d'un langage que l'on ne connaît pas ne peut pas servir pour un bench!
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Quand Pythran fait tourner du Python plus vite que du C++, c'est que.... Évalué à 2.
Nickel ! Pour un vendredi, on est tous d'accord :)
[^] # Re: Un code d'un langage que l'on ne connaît pas ne peut pas servir pour un bench!
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Quand Pythran fait tourner du Python plus vite que du C++, c'est que.... Évalué à 3. Dernière modification le 27 juin 2014 à 15:08.
On est d'accord dans le cas d'une classe où tu définis l'opérateur mais sur un type "atomique" comme int, c'est quoi l'impact ?
Dans le bench, c'est sur un bête int qu'on fait ça, pas de template ou quoique ce soit d'aussi compliqué dans notre cas :)
[^] # Re: Un code d'un langage que l'on ne connaît pas ne peut pas servir pour un bench!
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Quand Pythran fait tourner du Python plus vite que du C++, c'est que.... Évalué à 2.
Alors on est bien d'accord,
est un argument sans valeur contre le benchmark.
[^] # Re: Un code d'un langage que l'on ne connaît pas ne peut pas servir pour un bench!
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Quand Pythran fait tourner du Python plus vite que du C++, c'est que.... Évalué à 2.
Effectivement mais il n'y a aucune différence entre le code généré pour les deux méthodes.
En compilant avec un -O3 le code suivant
on obtient le même code assembleur que pour la version pre-increment.
[^] # Re: Un code d'un langage que l'on ne connaît pas ne peut pas servir pour un bench!
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Quand Pythran fait tourner du Python plus vite que du C++, c'est que.... Évalué à 3.
Parce que ça optimise quelque chose en termes de performances de passer à la version pre-increment ?
[^] # Re: Et sinon ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal DNS remplacé par GPS ?. Évalué à 1.
Sauf que ça oblige à faire des corrections en permanence en fonction du point où tu te trouve sur la Terre. C'est pour ça qu'il existe d'autres types de coordonnées dont :
En fait, il y en a un paquet mais généralement, on ne se sert que rarement des coordonnées horizontales, sauf peut-être pour donner une indication approximative pour les personnes qui utilisent leurs yeux, des jumelles ou des instruments à monture altazimutale.
[^] # Re: Les analyseurs ne sont pas non plus une panacee
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Idée stupide sur la sécurité du code. Évalué à 3.
C'est justement l'objet d'une discussion en cours sur le newsgroup comp.lang.ada.
Pour faire court, un des principaux écueils est la disponibilité d'un compilateur Ada sur toutes les plateformes censées faire tourner OpenSSL.
[^] # Re: Ironie de l'Histoire ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Rechercher dans son dépôt Git avec du SQL ? C'est possible !. Évalué à 1.
Petit complément, le projet vit toujours et la version 1.1 devrait sortir bientôt (cf. la liste de diffusion)
[^] # Re: Ironie de l'Histoire ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Rechercher dans son dépôt Git avec du SQL ? C'est possible !. Évalué à 1.
Ben, depuis que Pidgin l'a abandonné, il ne doit plus rester grand monde… Enfin de connu :)
C'est bien dommage parce que ça marche plutôt bien mais bon, il n'y a pas énormément d'outils autour et son concepteur initial Graydon Hoare est un peu passé à autre chose, genre Rust :D
De plus, l'absence quasi totale de forge supportant Monotone a aussi creusé sa tombe et il n'y a guère qu'Indefero qui le supporte encore.
# Ironie de l'Histoire ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Rechercher dans son dépôt Git avec du SQL ? C'est possible !. Évalué à 1.
C'est rigolo que ce besoin sorte maintenant sur Git quand on connaît ce que Linus pensait de tout ça :)
Bien que ce soit une commande de debug sur Monotone, c'est directement faisable vu que tout le référentiel arrive sous la forme d'une base SQLite, notamment via SQLiteBrowser.
Bon, ceci dit, on a plutôt tendance à utiliser les commandes d'infos comme mtn log, mtn ls avec les sélecteurs.
[^] # Re: Quelles sont les entrées / sorties d'un tel programme ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Encore un exemple de code spaghetti : Toyota. Évalué à 2.
Il traîne quand même quelques trucs dans l’écosystème Ada qui permettent de limiter fortement ces trucs-là, à commencer par le Profil Ravenscar et SPARK qui restent tout de même l'un comme l'autre suffisamment proches pour ne pas les considérer comme des outils externes.
D'ailleurs, pour ce dernier, il y a eu une présentation intéressante qui a été filmée.
Bien sûr, aucun langage ne peut se substituer à l'analyse du problème et répondre à la question "Que fait-on quand on se prend un exception là ?".
Ceci dit, il y a quand même des trucs que le langage permet d'éviter. Si ce n'était pas le cas, on coderait encore tout en assembleur :)
Au passage, tu parlais d'Ariane mais il faut quand même rappeler que l'erreur ne vient pas du langage mais de ce que l'on en a fait. Retirer les vérifications sur une opération de conversion, c'est toujours dangereux… Qui plus est quand on convertit du 64 bits en 16 bits :D
Au final, c'est une erreur humaine. Mais là encore, tu pourrais me dire qu'encore fallait-il savoir quoi mettre dans le gestionnaire d'exception, et là, ça devient de l'analyse.
[^] # Re: Manque un warning "indentation"
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Apple, le SSL les goto et les accolades. Évalué à 2.
Touché :D
En plus, comme on n'a pas le droit aux blocs vides sans le préciser au compilo, c'est rien que du bonheur :D
[^] # Re: Manque un warning "indentation"
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Apple, le SSL les goto et les accolades. Évalué à 1.
L'autre possibilité, c'est d'utiliser un langage qui interdit l'absence de délimiteur de bloc.
Pour moi, ça a toujours été une hérésie que de rendre les accolades facultatives.
Du coup, je mets toujours des accolades
[^] # Re: langage oublié
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Concours de programmation CodinGame le 22 Février 2014. Évalué à 3.
Ca, c'est comme pour toute API, sans IDE qui propose la complétion, il faut la connaître sur le bout des doigts.
Oui mais enfin dans le cadre d'un coding game, faut pas s'amuser à prendre un langage qu'on connait pas :D
Ceci dit, c'est un langage qui peut paraître pénible mais perso, j'ai trouvé que l'investissement valait le coup.
Du coup, maintenant, je suis particulièrement désemparé quand je tombe sur un bug dans d'autres langages où le compilo Ada m'aurait aidé. Au final, c'est un langage d'assisté :D
[^] # Re: langage oublié
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Concours de programmation CodinGame le 22 Février 2014. Évalué à 2. Dernière modification le 24 février 2014 à 10:27.
De toutes façons, ce serait difficile de coder les exos en Ada très rapidement, la rapidité d'écriture n'étant pas prévue dans le langage :)
En tout cas, je pense pas que l'intégration du langage soit compliqué dans la plateforme, ça reste un frontend GCC.
[^] # Re: -Os et les boucles
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche LLVM 3.4 et Clang 3.4. Évalué à -5.
De toutes façons, on s'en fout des perfs, non ? :)
[^] # Re: Mercurial vu par Facebook
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal "Scaling Mercurial at Facebook". Évalué à 10. Dernière modification le 09 janvier 2014 à 15:37.
Mouarf !!!
Tu n'arrive pas configurer Sendmail sans utiliser M4 ?
Si tu aimes la facilité d'utilisation, tu ne fais pas admin sys…
La gestion de versions, ce n'est censé qu'être un outil pas une fin en soi.
[^] # Re: Pourquoi les gens comprennent aussi bien l'économie que les (pseudo-)experts ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal L'économie cette méconnue. Évalué à 6.
Faux !! Certes, l'écureuil volant plane mais comme il ne bat pas des ailes, on peut estimer qu'il est à voile fixe.
[^] # Re: Unix propriétaires
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Ma frise chronologique personnelle en informatique. Évalué à 4.
Solaris est assez sympa même si j'ai toujours un mal de chien à me faire aux noms de device :D
Mais il y a des trucs assez puissants, notamment pour la gestion des ressources (voir ça) et puis il y a aussi eu ZFS :)
Comme pour AIX, c'est stable. Tellement stable que j'ai une bécane qui a fonctionné 24/24 pendant des années sans planter alors qu'elle avait un disque un poil grippé, ce dont je me suis rendu compte quand il a fallu la redémarrer à cause de travaux sur l'installation électrique :D
[^] # Re: Vieux de la vieille
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal POVray 3.7 est dehors. Évalué à 4.
Du coup, ça m'a donné envie de regarder les trucs qui ont été faits il y a quelques années, genre comme ça ou ça
Pas mal pour l'époque :)
[^] # Re: Unix propriétaires
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Ma frise chronologique personnelle en informatique. Évalué à 5.
Pareil que les autres, dans l'aéronautique, j'ai encore trois Solaris, deux 9 et un 10 sur lesquels on fait encore des dev.
Il traîne aussi du AIX, du Tru64 et de l' Irix sur certains autres projets.
Mais globalement, les nouveaux Unix sont de plus en plus souvent des Linux… Enfin, on installe encore des Unix vu que j'ai quand même réussi à monter un serveur FreeBSD :)
[^] # Re: pkgng
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Miroirs pkgng disponibles !. Évalué à 2.
Vu la fréquence et la RAM sur les bécanes d'aujourd'hui, la compilation des ports, c'est pas vraiment un problème non plus :)
[^] # Re: Et le DNS ?
Posté par Blackknight (site web personnel, Mastodon) . En réponse à la dépêche Le programme de Google pour améliorer la sécurité des logiciels libres. Évalué à 3.
Pas besoin, ça existe déjà un DNS sécurisé, c'est Ironsides :)
[^] # Re: Les applications insoupçonnées de git, voilà un sujet intéressant
Posté par Blackknight (site web personnel, Mastodon) . En réponse au journal Un livre sur Git passe sous CC By-Sa + Questions. Évalué à 2.
C'est bien pour ça que j'ai donné un lien sur un article ne traitant ni de CVS, ni de Subversion mais de RCS qui lui est orienté vers la gestion des version d'un fichier unique (cf. là)