fearan a écrit 7550 commentaires

  • [^] # Re: Mon avis à moi et rien qu'à moi

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    arggh je me rends compte que la lambda est pas passé, je reprends donc

    if ( std::any_of(foo.begin(), foo.end(), [](int i){return i<0;}) )

    Le crochet a été interprété comme un lien wiki vide…

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 1.

    Le problème n'est pas le choix de la structure ou d'algo, mais la non libération de la ressources (par exemple le supprimer du Set/List en java), c'est une problématique avec toutes les ressources, tout comme on apprends à faire un close après un open, c'est exactement le même mécanisme. J'ai pris cet exemple parce que j'y ai été confronté récemment, mais le problème est présent a tous les niveau (par exemple pas de close d'une connexion ftp, ou d'un fichier)

    Si j'ai bien suivi, le but n'est pas d'apprendre à bidouiller, mais a programmer. La contrainte de devoir gérer manuellement les ressources permet de structurer, éviter d'avoir une représentation du dieu des pastafariens en guise de doc d'architecture.

    Bref un fois que t'a passé le passage obligatoire pseudo code sur feuille (ou tu peux dire trier le tableau trucmuch dans l'ordre croissant), tu peux ensuite passer à l'implémentation avec un langage quelconque et si tu utilises une ressources (un fichier par exemple), il faut la libérer après usage. C'est un réflexe qui se prends dès la première utilisation de ressource et qu'il faut pas attendre d'avoir un gros projet pour se la poser, c'est trop tard, les mauvaises habitudes ont la vie dure.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon avis à moi et rien qu'à moi

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 4. Dernière modification le 24 juillet 2014 à 10:00.

    Mais comment peut-on croire qu'un langage qui impose d'assimiler la POO pour eécrire le moindre truc, qui supporte le multi-héritage

    #include <iostream>
    
    int main(int argc, char *argv[])
    {
      std::cout << "Hello World" <<std::endl;
    }

    Où vois tu qu'il est nécessaire d'assimiler la POO?
    De même le mutli héritage, n'est absolument pas nécessaire pour coder en C++, c'est simplement disponible le jour où tu en aura besoin. Bref, critiquer le C++ sur des concepts très avancés (qui en plus sont logique une fois qu'on connait un minimum le langage), inutile à l'apprentissage de base. S'il était nécessaire de maitriser tous les aspect d'un langage de programmation pour l'utiliser, ou qu'il était nécessaire de tout apprendre d'un coup, je suis au regret de t'informer qu'a part le go, oOok, et l'assembleur et quelques rares exceptions (dont le python ne fait pas partie) aucun langage ne correspond à la requête.

    Ecrire une liste et la manipuler en une ligne.

    if ( std::any_of(foo.begin(), foo.end(), {return i<0;}) )
    ou globalement tout ce que tu peux trouver ici :
    http://www.cplusplus.com/reference/algorithm/
    avec notamment :
    http://www.cplusplus.com/reference/algorithm/for_each/

    Votre algorithme transparait immédiatement avec l'indentation. Plus besoin de "finsi", plus besoin de déclarer les types …

    Mais qu'est ce qui t'empêche d'indenter ton pascal?

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    Le printf debugging c'est un style de debuggage que ce soit a coup d'echo, std::cout, System.out.println, print… Souvent considéré comme néfaste, car il change le code exécuté, rendant les erreurs aléatoires différente de l'exécution traditionnelle (ce qui généralement est une invocation à valgrind)

    Dans les autres méthode utilisés tu as le TAF (Try And Fail) qui consiste à tester différents paramétrage / ordonnancement / Majuscule/minuscule, qui est très pratique lorsque tu découvres des classes graphique peu ou mal documentées.

    Enfin plusieurs minutes a linker ? Je ne sais pas sur quelle brouette tu bosses, mais sur un code déjà compilé 1 fois, avec tous les .o le link sur un petit projet d'1,3 million de ligne est inférieur à la minute.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    J'ai appris le C++ en IUT, et je n'ai pas vu les catastrophes que tu décris, j'ajouterai que pour les projet universitaire, il y a valgrind qui est plus que suffisant pour pointer les boulettes (ça marche aussi en milieu pro, mais faut pas être pressé ;) )

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    Il y a surtout 750 façon de gérer sa mémoire en C++

    Ah? je suis curieux de voir l'énumération ;), et surtout dans quel cas tu te retrouves avec un mélange des genre lors de cours.

    Pour avoir fait pas mal de C++, et continuer à en faire tous les jours ouvrés, je n'ai pas vu de mélange des genre que tu évoques. Si tu parles des différentes façons d'implémenter l'operator new, j'ose espérer que le gars qui se permet de le faire sait ce qu'il fait, si c'est le mélange de shared_ptr (et leur contrepartie weak_ptr), auto_ptr, uniq_ptr, pointeur, référence, tu arrives toujours aux mêmes questions, et ce quel que soit le langage :
    * A qui appartient l'objet? (fait il bien le delete ?)
    * d'où vient il ? si c'est d'un autre objet/bibliothèque (via make, creat…), y'a t'il un transfert de propriété ?

    Ça fait 9 ans que je fais du C++ en milieu professionnel, je n'ai jamais eu de problème la dessus, et maintenant qu'on a les uniq_ptr et shared_ptr dans la stl, c'est encore plus simple.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 3.

    Non la bonne conception est la base de toutes programmations, c'est un réflexe qu'il faut prendre dès le début. Ce n'est pas un problème d'optimisation, mais un problème général. Typiquement tu vas avoir un Set de session (ou une Liste) qui va stocker la collection de sessions, et en crée une à chaque nouvelle ouverture de sessions.

    Tu vois le problème? quelque soit les optimisations, tu finiras toujours par avoir un java heap space. Qui code en java et connait les java.lang.ref.WeakReference ? J'ai trop vu de personne penser que le ramasse miette était un outils formidable capable de deviner quand un objet ne sera plus référencé.

    Ce n'est pas une optimisation, je ne parles pas de grappillage d'un octet par ci par la, mais d'avoir une notion de qui possède quoi, quand créer quoi, quand détruire, attendre avant de le faire revient à dire jamais, les mauvaises habitudes restent.

    si on parle d'apprendre les bases de la programmation, oui l'appentissage de comment écrire du code pour que la JVM puisse se débrouiller correctement avec en fonction du type d'appli que tu vas écrire est une premature optimisation

    Non on parle de réflexes de programmation, de question à se poser avant même de coder, et ce quel que soit le langage, j'ai pris java heap space comme exemple, par ce que c'est ce a quoi j'ai été confronté plusieurs fois, mais j'ai eu la blague de plus de mémoire dispo sous python, de memory leak en C, C++… Il ne s'agit pas de politique spécifique de code (si pour toi faut attendre de plus avoir de mémoire pour se poser la question de l'appartenance des variables, j'espère ne jamais tomber sur ton code, ça doit ressembler un un plat de spaghetti)

    L'énorme avantage du C++, c'est que tu peux prédire lorsqu'un destructeur sera appelé, et tu peux suivre la séquence à l'aide de printf debugging.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon expérience

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    Je répondais au fait que tu disais qu'il était essentiel d'apprendre le cycle de vie d'un objet, ce qui n'est pas au programme au tout début.

    d'un objet non, d'une donnée oui. Tu vois la visibilité des variables, le passage en paramètre, la limitation des scope (for( int i = 0…)
    i n'est plus visible/vivant après le for (sauf si le compilo ne respecte pas la norme). Si tu déclare dans le main

    auto revenu=42;

    il n'est pas visible de la fonction Tartempion, a moins de le passer en paramètre. Même si c'est des type primitifs, la question se pose quand même. J'ai dit objet j'aurai du dire variable.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon expérience

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 3.

    ça tombe bien, en c++ tu n'es nullement obligé de faire de l'objet pour faire un truc de base. Avec ce petit avantage par rapport au C : le type std::string; tu peux avoir des tableaux de taille variable (std::vector), des tableaux associatifs std::mapstd::string,int, des collections std::set…

    La sortie se fait assez simplement std::cout << "Hallow World " << 42 << std::endl;
    la lecture se fait tout aussi simplement int plop; std::cin >> plop;

    Enfin bref comme je l'ai dit il est inutile d'apprendre tout le C++ d'un bloc (de toute façon personne humainement normalement constitué ne maitrise le C++) , il vaut mieux y aller progressivement, en fonction de ce qui est nécessaire d'apprendre.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 5.

    Je déconseillerais le C à quiconque ne souhaite pas devenir un "gros" programmeur,

    Au contraire, je l'imposerai a quiconque souhaitant devenir un gros programmeur, pas forcément pour l'utiliser en entreprise, mais j'en ai mare de voire des gens coder comme si la ram était infinie, ça marche bien sur les 2 jours de test, c'est validé en recette, puis dès qu'il y a un usage intensif, y a du java heap space ou autre erreur disant qu'il y a plus de mémoire (ou l'appli qui se fige en attendant que le ramasse miette récupère un peu de place).

    Le C (avec malloc et free), demande juste un peu de rigueur :

    • tu écris un malloc() => tu écris le qui va avec free(), et si tu ne le fais pas tu commente pour dire que l'ownership passe à telle fonction
    • tu récupères un pointeur ? as tu l'ownership dessus (=> free)
    • tu utilises un tableau combien de cases as tu besoins
    • tu fais une boucle quels sont les conditions / cas de sorties

    Bref la plus grande partie des écueils du C, soulèvent généralement une question qu'il est pertinente de se poser, et qu'il faut généralement se poser avant de prendre le clavier. Je croise bien trop souvent du code où ça a été écrit sans la partie réflexion avant, et où il y a verrue sur verrue pour adapter le code aux nouvelles demandes, alors qu'une écriture pensée, propre à l'origine n'aurait eu besoin que d'extensions.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon expérience

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 3.

    ramasse miette ;

    C'est justement l'une des features que je ne recommande pas pour commencer. Obliger aux apprenants à se poser la question de la visibilité et la durée de vie d'un objet est, de mon point de vue, essentiel, sinon ils ne prendrons jamais les bons réflexes.

    Pour ça le c++ (notamment le dernier avec le shared_ptr inclus de base) me parait un bon choix; tu as accès au structures classiques, les destructeurs (pour tracer la destruction par exemple). Suffit de commencer par une petite partie du C++ (pas de pointeur de fonction, pas d'écriture de template, les new que dans des scoped_ptr ou shared_ptr, et il est possible d'enrichir peu a peu la connaissance du langage (const par exemple).

    Bref avec un seul langage il est possible de voire beaucoup d'aspects de la programmation, par contre il faudrait lui adjoindre une bibliothèque graphique simple.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Yakafokon

    Posté par  . En réponse au journal De l'approche ultra-légère de la sécurité sur linuxfr. Évalué à 8.

    je m'attends à ce que les données que je confie soient traitées conformément aux pratiques de sécurité habituelles.

    Ben pourquoi tu râle? Le niveau de sécurité de linuxFr est trop élevé? Je commence à comprendre, on est parti sur un quiproquo depuis le départ.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Yakafokon

    Posté par  . En réponse au journal De l'approche ultra-légère de la sécurité sur linuxfr. Évalué à 10.

    Désolé, mais de mon point de vue LinuxFR rempli plus que largement ses obligations de sécurité.

    Pour reprendre ton exemple de la crèche, t'es plutôt le gars qui râle réclamant des mesures de sécurité supplémentaire aux exigences légales (genre 1 adulte pour 2 enfants) et qui refuse de payer pour.

    La loi réclame que le site ait un niveau de sécurité relatif a la criticité des données traitées. Les mots de passes sont hashés et salés. Tu veux quoi? Qu'est ce qu'il y a de si critique pour que tu réclames plus? C'est tes 37 commentaires ou tes deux journaux qui pourraient êtres dénaturés ? Ton adresse mail qui partirait dans la nature?

    Bref la loi n'impose pas de faire une forteresse numérique dès qu'on crée un site web (heureusement)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Un peu trop d'interprétation

    Posté par  . En réponse au journal De l'approche ultra-légère de la sécurité sur linuxfr. Évalué à 8.

    Tu es prêt à payer un admin sys pour linuxfr, c'est gentil ;)

    Non, la procédure normale en sécurité est d'arrêter la machine vérolée, et d'assurer la continuité de service à partir d'un état que l'on sait sain

    C'est gentils mais reprendre le site d'il y a 1 ou 2 ans c'est autre chose que repartir 1 ou 2 semaines, sans oublier que certains vont avoir oublié les mots de passes de l'époque. La problématique des mots de passes a été suffisamment abordée ici pour que ceux qui se soucient de sécurité aient un mot de passe unique.

    Il faut aussi différencier ce que l'on considère comme critique (par exemple le site d'une banque ou de paiement qui voie passer des n° de CB) de ce qui l'est pas. Et désolé mais je ne considère par linuxfr comme critique, et de ce fait je préfère une solution qui a le moins d'impact sur son usage.

    Bref ton niveau d'exigence dépasse de très loin ce que j'estime nécessaire pour un site bénévole n'ayant rien de critique (y'a même plus les messages privés).

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • # bof

    Posté par  . En réponse au journal De l'approche ultra-légère de la sécurité sur linuxfr. Évalué à 10.

    Je suis le seul à trouver complètement hallucinant la légèreté avec laquelle la sécurité des données des utilisateurs du site est prise en compte ?

    Pas vraiment, en fait pour des raisons historiques, mon compte linuxfr est sur un compte mail différent de ma boite principal actuelle et date de l'époque où j'avais un groupes de logins et des mots de passes différents pour tous les sites; j'étais parano, et je n'étais inscrit que sur quelques sites.

    Historiquement mon mot de passe sur linuxfr est faible (trop court, pas assez varié), mais aussi unique, et n'a pas du changer depuis sa création; si quelqu'un le trouve, tout ce qu'il aura c'est accès à mon compte linuxfr, qui lui même n'est rattaché à aucune identité; tout ce que peu faire un pirate c'est nuire à mon karma.

    Ce qui serait vraiment hallucinant c'est quelqu'un qui veut faire attention à sa sécurité sur linuxfr utilise le même mot de passe ailleurs :D

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Étonnant

    Posté par  . En réponse au journal Une vidéo. Évalué à 9.

    Je pense qu'un rapide résumé de la vidéo était de rigueur, tout le monde n'a pas deux heures à perdre, notamment ceux qui sont au boulot ;) Tout ce que je sais c'est que ça parle vaguement de liberté, ce n'est pas suffisant pour me donner l'envie de perdre deux heures.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: ventes de jeux en boites?

    Posté par  . En réponse au journal Tuxgames et Linux Game Publishing s'éteignent dans l'indifférence générale. Évalué à 5.

    Mouais, avoir une carte du monde, un manuel décrivant la signification des runes ou une keymap indiquant les commandes au clavier c'est quand même plus pratique que de devoir imprimer sur une feuille A4 une capture d'écran.

    Si tu prends le manuel d'Arcanum, y'avait un vrai travail dessus. Le manuel en pdf, c'est pas la même chose. Alors oui pas mal de jeux sont passés au modèle une boite avec une galette, et pour cela le mode dématérialisé ne change rien.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Le mieux à faire

    Posté par  . En réponse au journal La France ridiculisée par Amazon. Évalué à 2.

    Pardon j'aurai du dire qu'on a merdé au début (on était 6, ça peut se comprendre), puis on a itérativement merdé à chaque fois. Pour Maastricht j'étais trop jeune pour voter, mais suffisamment vieux pour me souvenir qu'on disait que c'était pas bien mais que ça allait s'améliorer (ce qui n'a évidement pas eu lieu, pour Lisbonne, on remettait tout en négociation; bref c'était la première fois où je pouvais donner mon avis et où il y'avait une possibilité de changer les choses, notamment ce point là.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Le mieux à faire

    Posté par  . En réponse au journal La France ridiculisée par Amazon. Évalué à 1.

    Pour les députés ne font rien contre les paradis fiscaux au sein de l'Europe? Ceux là même qui donnent accès au marché unique européen?

    Y a eu un journal récemment parlant d'harmonisation fiscale, mais comme il faut l'unanimité pour que ça passe t’imagines bien que ça ne pouvait pas passer, Là c'était Maltes, mais demain le Luxembourg, après demain l’Angleterre (pour ses petites iles), puis la France (pour Monaco/Andorre).

    Bref on a merdé lorsqu'on a accepté le traité (ou voté pour le gars annonçant qu'il allait le faire). Notes bien je dis on, alors que j'ai voté contre ce futur repris de justice (du moins je l'espère), mais c'est bien la majorité des votant Français qui l'avaient mis la.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Délais

    Posté par  . En réponse au journal Les Pays-Bas inventent le DDOS sur les services administratifs. Évalué à 5.

    Il était naïf pour les parlementaires ayant voté cette loi de penser que personne ne engouffrerai dans la brèche, ou que leur nombre serait suffisamment faible pour être négligeable, sachant que l'indemnité peut monter à plus de 1000€ par demande dont la réponse est en retard, suffit d'en faire une de temps en temps pour arrondir les fins de mois.

    A noter qu'a taper sur le malade, les politiques ont aggravé une situation déjà peu glorieuse, mais comme il est bon ton de taper sur les administrations et de leur supposées inefficacité (ce qui dans certains cas est avéré, mais c'est celles là qu'il faut gérer). L'idée de pénaliser les administrations qui mettent trop longtemps à répondre n'est pas forcément une mauvaise idée, ça évite les abus, mais rendre les requérant bénéficiaire en cas de réponse hors délai, était clairement une mauvaise idée.

    Ensuite pour subir les dégâts collatéraux de pénalité mal pensées ( pénalité en cas de départ en retard du terminus, alors on démarre à l'heure, puis on s'arrête en pleine voie ), retard au terminus alors on surestime le temps entre les stations, le dimanche les trains passent systématiquement en avance… (et en semaine c'est variable)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Délais

    Posté par  . En réponse au journal Les Pays-Bas inventent le DDOS sur les services administratifs. Évalué à 4.

    Non individuellement tu n'as pas tords, ensuite imagine qu'une personne demande (dans des lettres séparées)

    • l'emploi du temps du Maire
    • l'ordre du jour du conseil municipal d'il y a trois semaines
    • le listing des débats de celui d'il y a deux mois
    • la liste des échoppes ayant ouvert les six derniers mois
    • le prix des place de parking
    • les horaires de la mairie
    • dates de stationnement libre (généralement en Aout)
    • les jours de marchés
    • les permis de construire accordé les deux dernières années dans une rue en particulier
    • le PLU

    Le problème n'est pas une réponse mais la multitude (d'où le DDOS), et comme les services n'ont pas que ça à faire ça déborde.
    Enfin la loi a été passé parce que les délais pouvaient être long, voire pouvaient rester lettre morte, le fait de pénaliser la non réponse, et même la rendre bénéficiaire au particulier qui en fait la demande eut un résultat parfaitement prévisible.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Sémantique

    Posté par  . En réponse au journal Vous êtes tous des terroristes (potentiellement). Évalué à 2.

    Cela dit les deux sont listés dans leurs synonymes mutuels.

    Tout comme tu trouveras des gens pour dire que libre et open source sont des synonymes (http://www.linternaute.com/dictionnaire/fr/definition/open-source/) n'ayant pas trouvé la définition sur le Larousse, je n'aurai pas d'exemple sur ce dernier.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Illustration assez bof

    Posté par  . En réponse au journal The Ping Pong Theory of Tech World Sexism. Évalué à 2.

    Impossible, il faut avoir des couilles pour être CDP ;)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: /me avoir de la chance…

    Posté par  . En réponse au journal Windows est il prêt pour le Desktop ? . Évalué à 2.

    ils ont pas dans les powertoy de Micorsoft leur appli de bureau virtuelle ? Elle est moisie car y a pas moyen (ou y'avait pas moyen) de redéfinir les raccourcis clavier, il y'en a que 4, mais c'est une solution MS, ce qui devrait satisfaire les admins.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Sémantique

    Posté par  . En réponse au journal Vous êtes tous des terroristes (potentiellement). Évalué à 5.

    va lire les définitions avant de faire le malin

    efficace

    Se dit d'un produit, d'une méthode, d'un appareil, etc., qui produisent l'effet attendu ; bon pour : Un médicament efficace contre le rhume
    .Qui remplit bien sa tâche, qui atteint son but, qui aboutit à des résultats utiles : Un employé efficace. Une politique efficace.

    efficient

    Qui aboutit à de bons résultats avec le minimum de dépenses, d'efforts, etc. ; efficace.

    Il y a un ajout à efficient, qui est avec le minimum de dépenses. C'est le soucis de performance.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent