Ça y va fort au niveau des ®. Il y en a partout, même pour les applications. Je trouve pas ça très professionnel.
TrueOS®
SysAdm™
AppCafe®
Je connais PC-BSD depuis longtemps et j'en suis toujours autant sceptique. Traductions automatique de leur pages (complètement à côté de la plaque). Un des développeurs principal dénigre GNOME en conférence en disant "it sucks", pas très fairplay. Puis ils réecrivent des outils spécifiquement pour PC-BSD. Ça serait mieux de contribuer des backends pour NetworkManager, packagekit, le bluetooth plutôt que de recoder une appli tierce pas du tout intégrée au desktop.
Il me semble que c'est justement nécessaire d'avoir des comptes github pour travis non ? Du coup ça n'est plus une option pour moi. Par contre je vais regarder pour appveyor :)
J'avoue qu'avoir accès root indique une faille plutôt énorme. Il est vraiment important de faire des backups tous les jours et surtout de les dupliquer sur d'autres disques / serveurs.
“But exceptions are expensive!” Not really. Modern C++ implementations reduce the overhead of using exceptions to a few percent (say, 3%) and that’s compared to no error handling. Writing code with error-return codes and tests is not free either. As a rule of thumb, exception handling is extremely cheap when you don’t throw an exception. It costs nothing on some implementations. All the cost is incurred when you throw an exception: that is, “normal code” is faster than code using error-return codes and tests. You incur cost only when you have an error.
si c'est pas très loin, utiliser une exception ne sert à rien par rapport à un code de retour ou un booléen pour gérer un truc immédiat; si c'est très loin, alors tu ne peux rien faire de vraiment très sérieux à part quitter le programme.
Donc tu préfère ce genre de code ?
intc(){if(!some_failure)return-1;return123;}intb(){intresult_c;if((result_c=c())<0)returnresult_c;returnresult_c*456;}intmain(){intvalue=b();if(value<0)// code d'erreur, je suis obligé d'utiliser une seconde fonction pour récupérer une erreur "humaine"std::cout<<"code d'erreur: "<<value<<std::endl;elsestd::cout<<value<<std::endl;}
Ça, ça ne va pas changer, je déteste les exceptions en C++. Et je ne vois pas bien où je pourrais en mettre.
Bienvenue en 1989 :/
En interne, il y a quelques classes qui utilisent RAII. Maintenant, où est-ce que tu en verrais dans l'API publique ?
Je déteste vraiment avoir ce genre de code :
Musicm;if(!m.loadFromFile("foo")){// gestion de l'erreur }
Cela signifie que toutes tes fonctions membres vont devoir vérifier que l'état de l'objet Music est bien ouvert et fonctionnel. Alors qu'un constructeur qui throw rend tout simplement impossible d'utiliser l'objet. Certains vont dire que c'est une hérésie de lever une exception dans un constructeur, mais c'est tout simplement la bonne méthode.
Avec un constructeur qui throw je sais que mon objet sera valide tout au long de sa vie.
Musicm("foo.ogg");// Par buffer (vector, array), etcMusicm(buffer.begin(),buffer.end());// Stream?std::istreamcustomstreamMusicm(customstream);
J'ai regardé rapidement ton projet, pour le ResourcesManager, tu pourrais retourner des std::unique_ptr plutôt que des pointeurs bruts. Ça marquera complètement l'ownership et tu pourras toujours retourner un std::unique_ptr null si l'objet n'est pas trouvé :)
Le développeur utilise du C++ d'un autre âge, pas d'exception, pas de RAII, pas de C++11. Portabilité ? Non merci, C++11 a déjà 5 ans.
J'ai eu un souci de rendu sur FreeBSD (sur Windows ça fonctionnait), tout ce que l'auteur a su me répondre était "aucune idée".
Je suis l'auteur du support du joystick dans SFML, lorsque j'ai proposé le patch, j'ai bien précisé qu'il s'agissait de FreeBSD mais l'auteur a vraiment voulu merger le code avec Linux. Heureusement après plusieurs mails, il a finalement bien voulu ne pas mélanger le code FreeBSD et Linux.
Wine etait en licence MIT avant de subir l'abus d'une societe qui a forke et ferme le code, rendu payant le logiciel et fait pleins de correctifs (et le tout parfaitement legalement). Wine est finalement passe en GPL pour ces raisons (et aussi parce que beaucoup de contributeurs se rendaient compte qu'il travaillait presque directement pour l'autre entreprise qui cherry pickait tous les nouveaux fixes de Wine).
Effectivement pour le coup je pense que c'est bien pour Wine. Je n'ai rien contre la GPL lorsqu'il s'agit de frontends (exécutables finaux).
Cela protège largement le logiciel et c'est très bien comme ça.
C'est plutôt pour les bibliothèques, j'ai toujours pesté et fuis celles sous licence GPL. Je comprends pas l'intérêt de forcer un utilisateur de ta bibliothèque à faire du code open-source uniquement. C'est là que je trouve que la vision est vraiment orientée fanatique. Heureusement un bon nombre de personnes choisissent néanmoins la LGPL qui est bien mieux pour les bibliothèques.
Tiled (mapeditor.org) est bien fait pour ça. Son exécutable est sous GPL ce qui contraint tous les changements à être libre aussi et sa bibliothèque est sous LGPL. Au moins, normalement tout le monde est content :)
Lors d'une discussion autour de la licence BSD de Redox (OS écrit en langage Rust) un argument m'a semble convaincant. Il disait que ce qui est dommage avec les licences permissive c'est qu'elles n'incitent en rien les gens qui l'utilisent (PS3/PS4 et autres) a contribuer en upstream. Ce qui explique pourquoi FreeBSD est un projet quasi vide cote driver, parce qu'aucun inde ne souhaite contribuer (car son travail peut être réutilisé permissivement) et qu'aucune boite n'est pousse a le faire (car rien ne l'y oblige).
C'est une vision un poil extrémiste quand même.
Nvidia a bien fait un driver non libre pour Linux et aussi pour FreeBSD, je vois pas en quoi cet argument de licence permissive va fait fuir les entreprises.
De plus, rien ne t'empêche d'écrire un driver pour FreeBSD sous licence GPL. Personne ne t'interdira de faire cela.
FreeBSD a déjà reçu des contributions extérieures. Si le projet évolue plus lentement c'est pour bien d'autres raisons. Déjà parce que le projet s'est largement focalisé sur les serveurs. C'est venu après Linux et le modèle de développement est largement plus stricte. De plus les *BSD ont fait moins de communication.
Du coup je me demandais ce qu'en pensais les gens de FreeBSD car les arguments (la page n'est plus dispo) de la page Redox sur le choix de licence ne m'ont pas vraiment convaincu (ou bien je ne comprends pas).
En gros, c'est quoi l’intérêt de FreeBSD pour le libre ? :) C'est pas un troll, c'est une vraie question.
Si j'ai bien compris, pour toi c'est "use GPL or die" ? :)
Chez FreeBSD (et autres BSD même) on aime la liberté. Utiliser la GPL et contraindre les gens pour moi c'est une vision de fanatiques qui détestent les entreprises et voient le mal partout.
Je me souviens Theo de Raadt (OpenBSD) avoir dit quelque chose comme "Les gens font Linux parce qu'ils détestent Windows, nous faisons OpenBSD parce que nous aimons Unix".
Personnellement je fais que du libre (license ISC) et si on contribue à mes projets tant mieux, sinon c'est pas grave.
[^] # Re: Intérêt de MATE ?
Posté par David Demelier (site web personnel) . En réponse à la dépêche Sortie de MATE 1.16. Évalué à 4.
Je sais, mais je préférerais voir ça dans le control center.
AI is a mental disorder
[^] # Re: SystemD la cause de la discorde...
Posté par David Demelier (site web personnel) . En réponse à la dépêche L’après PC-BSD : TrueOS. Évalué à 2.
https://www.freedesktop.org/wiki/Software/systemd/#spelling
AI is a mental disorder
[^] # Re: Intérêt de MATE ?
Posté par David Demelier (site web personnel) . En réponse à la dépêche Sortie de MATE 1.16. Évalué à 5. Dernière modification le 28 septembre 2016 à 15:58.
Au moins avec Mate on peut ajuster la taille des polices.
Oui c'est vrai il existe gnome-tweak-tool. C'est tellement cool de devoir utiliser des outils externes pour régler un détail aussi simple.
Ah oui ! Même mon téléphone me permet de changer la taille de la police du système.
AI is a mental disorder
[^] # Re: Et ZFS
Posté par David Demelier (site web personnel) . En réponse à la dépêche L’après PC-BSD : TrueOS. Évalué à 5.
Tu veux dire FreeBSD.
OpenBSD n'adoptera jamais ZFS. Sur NetBSD c'est en travaux mais rien de concret en ce moment. Et Dragonfly a son propre HAMMER.
AI is a mental disorder
[^] # Re: SystemD la cause de la discorde...
Posté par David Demelier (site web personnel) . En réponse à la dépêche L’après PC-BSD : TrueOS. Évalué à 4. Dernière modification le 27 septembre 2016 à 09:48.
C'est systemd, comme tout daemon unix. sshd, httpd, ftpd, dhcpd, dhcpcd, ntpd, etc.
AI is a mental disorder
# Reserved
Posté par David Demelier (site web personnel) . En réponse à la dépêche L’après PC-BSD : TrueOS. Évalué à 10.
Ça y va fort au niveau des ®. Il y en a partout, même pour les applications. Je trouve pas ça très professionnel.
TrueOS®
SysAdm™
AppCafe®
Je connais PC-BSD depuis longtemps et j'en suis toujours autant sceptique. Traductions automatique de leur pages (complètement à côté de la plaque). Un des développeurs principal dénigre GNOME en conférence en disant "it sucks", pas très fairplay. Puis ils réecrivent des outils spécifiquement pour PC-BSD. Ça serait mieux de contribuer des backends pour NetworkManager, packagekit, le bluetooth plutôt que de recoder une appli tierce pas du tout intégrée au desktop.
AI is a mental disorder
[^] # Re: Cross compile pour Mac ?
Posté par David Demelier (site web personnel) . En réponse à la dépêche CatchChallenger version 2. Évalué à 1.
Il me semble que c'est justement nécessaire d'avoir des comptes github pour travis non ? Du coup ça n'est plus une option pour moi. Par contre je vais regarder pour appveyor :)
AI is a mental disorder
# Cross compile pour Mac ?
Posté par David Demelier (site web personnel) . En réponse à la dépêche CatchChallenger version 2. Évalué à 1.
Est-ce que tu cross compile pour macOS ? Si oui je souhaite vraiment savoir comment tu fais :)
AI is a mental disorder
[^] # Re: Le site web de Lumina est vraiment top !
Posté par David Demelier (site web personnel) . En réponse au journal Crépuscule de PC-BSD, aube de TrueOS. Évalué à 1.
Ah ouais bien joué pour le sudo faire installer :D
AI is a mental disorder
[^] # Re: o_O
Posté par David Demelier (site web personnel) . En réponse au journal Les 7 choses à faire pour installer Fedora 24 à ma sauce. Évalué à 4. Dernière modification le 05 septembre 2016 à 16:33.
C'est à la mode malheureusement. Surtout dans l'univers nodelol.js ou toutes les applications en http://omyapp.io.
Il y en a tellement encore… :)
AI is a mental disorder
# Backups et root
Posté par David Demelier (site web personnel) . En réponse au journal Un ransomware tout à fait déloyal ... et inquiétant. Évalué à 1.
J'avoue qu'avoir accès root indique une faille plutôt énorme. Il est vraiment important de faire des backups tous les jours et surtout de les dupliquer sur d'autres disques / serveurs.
AI is a mental disorder
# Bien
Posté par David Demelier (site web personnel) . En réponse au journal PowerShell sur Linux. Évalué à 0.
Microsoft me surprend de + en +.
Je n'aime pas powershell mais j'apprécie le geste, sous licence MIT en plus :)
AI is a mental disorder
[^] # Re: De l’utilité des exceptions.
Posté par David Demelier (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 1. Dernière modification le 21 juillet 2016 à 10:33.
Si on est obligé de faire en C, il y a e4c qui n'est pas trop mal.
AI is a mental disorder
[^] # Re: Je n'aime pas la SFML
Posté par David Demelier (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 6.
Tu as des mesures réelles ?
AI is a mental disorder
[^] # Re: Je n'aime pas la SFML
Posté par David Demelier (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 9.
https://isocpp.org/wiki/faq/exceptions#why-exceptions
AI is a mental disorder
[^] # Re: Je n'aime pas la SFML
Posté par David Demelier (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 4.
assertc'est pour des erreurs de développement. Pas des erreurs au runtime.AI is a mental disorder
[^] # Re: Je n'aime pas la SFML
Posté par David Demelier (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 1.
Donc tu préfère ce genre de code ?
Plutôt que :
AI is a mental disorder
[^] # Re: Je n'aime pas la SFML
Posté par David Demelier (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 9.
Bienvenue en 1989 :/
Je déteste vraiment avoir ce genre de code :
Cela signifie que toutes tes fonctions membres vont devoir vérifier que l'état de l'objet
Musicest bien ouvert et fonctionnel. Alors qu'un constructeur qui throw rend tout simplement impossible d'utiliser l'objet. Certains vont dire que c'est une hérésie de lever une exception dans un constructeur, mais c'est tout simplement la bonne méthode.Avec un constructeur qui throw je sais que mon objet sera valide tout au long de sa vie.
J'ai regardé rapidement ton projet, pour le ResourcesManager, tu pourrais retourner des
std::unique_ptrplutôt que des pointeurs bruts. Ça marquera complètement l'ownership et tu pourras toujours retourner unstd::unique_ptrnull si l'objet n'est pas trouvé :)AI is a mental disorder
[^] # Re: Ça tombe bien, je n'étais convaincu ni par la SDL, ni par la SFML
Posté par David Demelier (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 4.
Moui, la SFML 2.0 est une grosse réecriture il me semble, autant tout casser et passer à du moderne :)
Son changelog était assez marrant d'ailleurs.
AI is a mental disorder
# Je n'aime pas la SFML
Posté par David Demelier (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 6.
Très bon choix pour SDL.
Je n'aime pas la SFML pour plusieurs raisons :
Le développeur utilise du C++ d'un autre âge, pas d'exception, pas de RAII, pas de C++11. Portabilité ? Non merci, C++11 a déjà 5 ans.
J'ai eu un souci de rendu sur FreeBSD (sur Windows ça fonctionnait), tout ce que l'auteur a su me répondre était "aucune idée".
Je suis l'auteur du support du joystick dans SFML, lorsque j'ai proposé le patch, j'ai bien précisé qu'il s'agissait de FreeBSD mais l'auteur a vraiment voulu merger le code avec Linux. Heureusement après plusieurs mails, il a finalement bien voulu ne pas mélanger le code FreeBSD et Linux.
Hâte de voir ton framework du coup :)
AI is a mental disorder
[^] # Re: Citation de Linus
Posté par David Demelier (site web personnel) . En réponse au journal Microsoft se lance dans FreeBSD. Évalué à 2.
En même temps ce n'est rien d'autre qu'un fork de atom alors bon :)
AI is a mental disorder
# Nommage des structures
Posté par David Demelier (site web personnel) . En réponse au journal Ulfius: framework pour faire des API Web en C. Évalué à 2.
Je ne sais pas pourquoi tu préfixes toutes tes structures par un _. En C++ c'est même réservé par la norme, je ne sais pas ce qu'il en est C.
Mais aussi, je trouve ça moche.
Sinon dans l'ensemble je trouve que le code est propre et bien documenté.
AI is a mental disorder
[^] # Re: Question naïve autour de la licence
Posté par David Demelier (site web personnel) . En réponse à la dépêche FreeBSD 10.3. Évalué à 5. Dernière modification le 06 avril 2016 à 12:54.
Effectivement pour le coup je pense que c'est bien pour Wine. Je n'ai rien contre la GPL lorsqu'il s'agit de frontends (exécutables finaux).
Cela protège largement le logiciel et c'est très bien comme ça.
C'est plutôt pour les bibliothèques, j'ai toujours pesté et fuis celles sous licence GPL. Je comprends pas l'intérêt de forcer un utilisateur de ta bibliothèque à faire du code open-source uniquement. C'est là que je trouve que la vision est vraiment orientée fanatique. Heureusement un bon nombre de personnes choisissent néanmoins la LGPL qui est bien mieux pour les bibliothèques.
Tiled (mapeditor.org) est bien fait pour ça. Son exécutable est sous GPL ce qui contraint tous les changements à être libre aussi et sa bibliothèque est sous LGPL. Au moins, normalement tout le monde est content :)
AI is a mental disorder
[^] # Re: Question naïve autour de la licence
Posté par David Demelier (site web personnel) . En réponse à la dépêche FreeBSD 10.3. Évalué à 8.
C'est une vision un poil extrémiste quand même.
Nvidia a bien fait un driver non libre pour Linux et aussi pour FreeBSD, je vois pas en quoi cet argument de licence permissive va fait fuir les entreprises.
De plus, rien ne t'empêche d'écrire un driver pour FreeBSD sous licence GPL. Personne ne t'interdira de faire cela.
FreeBSD a déjà reçu des contributions extérieures. Si le projet évolue plus lentement c'est pour bien d'autres raisons. Déjà parce que le projet s'est largement focalisé sur les serveurs. C'est venu après Linux et le modèle de développement est largement plus stricte. De plus les *BSD ont fait moins de communication.
Si j'ai bien compris, pour toi c'est "use GPL or die" ? :)
Chez FreeBSD (et autres BSD même) on aime la liberté. Utiliser la GPL et contraindre les gens pour moi c'est une vision de fanatiques qui détestent les entreprises et voient le mal partout.
Je me souviens Theo de Raadt (OpenBSD) avoir dit quelque chose comme "Les gens font Linux parce qu'ils détestent Windows, nous faisons OpenBSD parce que nous aimons Unix".
Personnellement je fais que du libre (license ISC) et si on contribue à mes projets tant mieux, sinon c'est pas grave.
AI is a mental disorder
# Plusieurs raisons
Posté par David Demelier (site web personnel) . En réponse au journal Steam & Linux. Évalué à 10.
J'ai tout de même testé une fois, c'était plutôt bon et bien intégré. Je pense que ça reste une bonne chose.
AI is a mental disorder