Il y a un très gros marché de "PC monté" en pièce détaché.
Mais justement.
C'est le marché qui s'adapte à la demande. Le PC monté, typiquement cela n'a pas de sens de vendre une licence avec, les gens en majorité n'en veulent pas.
Le PC monté de toute pièce au contraire, l'énorme majorité veut juste un truc qui tourne tout de suite.
Aujourd'hui, tout le monde passe au portable, or il n'existe jamais d'équivalent sans windows. Même Dell qui vendait Ubuntu, le vendait plus chère que la version Windows !! Certains sites vendent sans OS, mais ce sont des PC très bas de gamme ou extrêmement chère.
Et ? Quel rapport avec la vente liée ? Absolument AUCUN
Dell vend son PC Ubuntu plus cher, c'est le choix de Dell de mettre le prix qu'il veut sur un produit. Si ca se trouve leur volume, leur support, le manque d'ISV genre McAfee prèt à payer pour mettre leur saloperie sur l'OS par défaut, etc… font qu'au final ca leur coute plus cher
Certains sites vendent des PCs trop chèrs à ton goût ou bas de gamme, de nouveau, c'est leur choix, aucun rapport avec la vente liée, MS, etc…
Bref, tu nous fais un caca nerveux sur le fait que tu ne trouves pas le PC que tu veux sur le marché, et plutôt que regarder la réalité en face qui est que le marché existant ne génére pas assez de demande pour que le PC que tu veux soit offert par les constructeurs, tu imagines que c'est une sorte de complot qui empèche le PC que tu veux d'apparaitre.
On ne va pas refaire l'histoire, mais MS a tué BeOS en leur interdisant le double boot.
Ah l'histoire… ca tombe bien. On est en 2016. Cette histoire a plus de 15 ans
Le retour de la mauvaise foi et du FUD…
Ca tombe bien que tu parles de FUD justement !
Tu nous sors que MS est derrière tout cela alors que tu n'en as absolument aucune preuve. Ca je trouves que c'est effectivement du FUD et de la mauvaise foi
Et je rajouterai qu'effectivement, un OS en lui même ne sert à rien. C'est les apps par dessus que le client utilise.
Le client il n'en a rien à battre du kernel, ce qu'il veut c'est pouvoir lancer des applications par dessus. Ca me semble plus qu'évident. Et inutile de me sortir le cas d'exception du geek, car je te trouverai certainement des gars qui aiment fignoler leur machine à laver.
Qu'il y ait ou pas par la suite une installation par dessus n'est pas pertinant, parce qu'en France aussi les acheteurs remplacent aussi l'OS pré-installé par une autre version.
Ben justement non, en France tout le monde garde l'OS existant au contraire, sauf les geeks
Remarque, en Chine aussi, simplement en Chine le magasin est tout content d'installer qqe chose de piraté pour le client.
Plus de 90% des systèmes Windows en Chine étaient piratés selon les stats de MS
Concernant les parts de marché, c'est probablement faible, ou peu visible, puisque Linux est "gratuit".
Non c'est simplement faible. Les stats web le prouvent, elles se fichent de savoir si l'OS est gratuit ou pas.
Dans les années 90 oui, mais faut quand même arrêter de croire que MS en est là ou il est uniquement grâce à ce qu'il a fait il y a 20 ans… Le marché informatique est super dynamique, Apple a clairement montré comment créer un écosystème de toutes pièces.
Le fait est qu'il n'y a pas eu de vrai révolution sur le desktop en 20 ans, cela a été purement évolutif. Il n'y a rien qui soit apparu qui était tellement mieux que l'existant(= Windows - Mac) au point que les gens se disent "hop je change" comme cela s'est produit avec l'iPhone. D'ailleurs on voit le résultat avec les gens qui sont super lent à upgrader leur Windows, ils ne voient pas bcp de gains vraiment significatifs (même si d'un point de vue purement technique il y en a).
A la limite on pourrait parler des tablettes, elles ont au final bouffé une partie du marché desktop, mais l'énorme majorité des laptops et desktops sont toujours sous Windows - Mac car personne n'a amené un concept qui altère vraiment la donne pour ces utilisateurs.
C'est du grand n'importe quoi ca, parce que le problème est le même avec tout produit nouveau. Le consommateur ne sait pas que ca existe au début, mais il y a du bouche à oreille, de la pub, des revues du produit, etc… et il commence à se répandre.
Les systèmes sans Windows, ben visiblement tout le monde s'en fout, sauf ceux avec une pomme dessus.
Marrant, Dell y arrive pourtant. Sony et HP y arrivaient et ont arrèté, et la CE, qui visiblement n'a aucun problème à poursuivre les sociètés US, n'a pas poursuivi MS pour cela.
Mon petit doigt me dit plutôt que tu prèfères imaginer Microsoft comme coupable idéeal plutot q'admettre que le grand public n'en a rien à battre d'avoir un choix entre leur système de prédilection pré-installé et un système obscur.
La vente non liée existe, depuis des années plusieurs vendeurs le font, et elle est restée anecdotique comparé au marché. Ca en dit long sur l'intéret du grand public.
Pour la seconde question, ce qui me choque le plus c'est la justification par l'état de fait : il n'y a sur le marché grand public que de la vente lié. Donc les consommateurs ne souhaitent pas autre chose. Donc la vente liée est une pratique acceptable. N'est-ce pas là un raisonnement qui se mord la queue ?
Du tout non.
La vente "non liée" existe et n'a clairement aucune présence significative sur le marché, signifiant que le consommateur en général ne recherche pas cela.
Je lis avec intérêt tes commentaires sur linuxfr, il en ressort que tu es compétant et surtout, tu as un avis différent de l'avis général, ce qui est souvent source de discussions intéressantes, mais qu'est ce que tu peux être impoli, c'est dingue ;)
On va dire que des années dans la jungle de linuxfr m'ont endurci :)
Je ne veux absolument pas dire que le non initialisé est mieux ou moins bien que le initialisé par défaut, je veux dire que les deux sont dangereux.
Mai justement, moi ce que je te dis est que non-initialisé est PIRE que initialisé par défaut, et c'est factuel.
Ensuite cela ne veut pas dire que initialisé par défaut est super et idéal hein, mais à choisir entre les 2 un est bien plus sûr que l'autre.
Mais qu'en est il d'autres types comme les entiers, les booléans où les char ? le \0 par défaut sur un char a certainement autant de chances de ne pas faire planter ton programme qu'un 42 ou un 12 par défaut, mais il est tout aussi faux si ce zéro n'était pas ton intention.
Cela revient de nouveau au fait que la solution est meilleure que non-initialisé tout en n'étant pas idéale. Les valeurs par défaut choisies vont le plus souvent sauver le développeur qui n'initialise pas ses valeurs. Pas toujours, mais le plus souvent.
Idéalement le développeur choisit des options du compilo l'avertissant qu'il utilise une variable non initialisée. Mais sans cela, l'initialisation par défaut aide à sauver beaucoup de gens.
Le fait que les variables non-initialisées sont bcp plus dangereuses que les variables initialisées à une valeur par défaut est un fait établi. Ce n'est pas un cas d'opinion.
C'est quoi la valeur par défaut d'un pointeur de fonction qui as du sens ? nullptr, ou une fonction au hasard ? Les deux cas n'ont pas de sens et sont dangereux, bref, avoir un pointeur "default-initialised" n'as pas de sens.
nullptr est la bonne valeur, et la raison est super simple :
nullptr assure que si la fonction est appelée ton soft crashe (accès à la page d'addresse 0 qui n'est pas mappée --> aucune exécution de code) sans pouvoir permettre d'exécution de code non controllée
laisser le pointeur non initiliasé permet à un attaquant de manipuler le soft jusqu'à ce qu'il ait la valeur qu'il veut au bon endroit (sur la stack en causant certains appels à être fait pour mettre les valeurs qu'il veut sur la stack, en mémoire avec un heap spray) et lui permettre ainsi d'exécuter du code arbitraire
Bref tu peux penser ce que tu veux, mais si tu oses aller donner ton explication à n'importe quelle personne en sécurité (moi par exemple, qui a passé les 12 dernières années dans le milieu) tu vas leur filer un arrèt cardiaque tellement ton explication ne tient absolument pas la route et démontre un manque de compréhension des enjeux.
Les valeur par défaut sont, à mon sens, plus dangereuses que les valeur non-initialisée.
Ca peut être ton sens, mais en pratique ce n'est absolument pas le cas.
L'exemple flagrant est les pointeurs, notamment pointeurs de fonction. Si tu le garde non-initialisé tu as un énorme trou de sécurité potentiel.
Ensuite, il n'y a absolument aucun besoin d'avoir un code instable pour aller chercher ces erreurs, n'importe quel compilateur décent te détectera une variable non-initialisée sur demande
De plus, les valeurs par défaut des types primitifs sont assez évidentes, mais celles de types plus élaborés sont totalement dépendants des choix des auteurs de la classe, et cela rend le code bien moins lisible.
Gni ? Tu demandes quoi là ? Evidemment que l'auteur de la classe va mettre ce qu'il désire dans le constructeur par défaut, c'est son code ! Tu veux faire quoi à la place ?
Parce que dans le cas géneral une variable non initialisée a de fortes chances de se retrouver avec tous les bits à zero car l'endroit en mémoire ou elle est allouée est à zero (tant que c'est pas sur la stack) ?
lorsque le score d'un journal tourne significativement négatif (disons 5 - pour un + ou autre avec un minimum de X votes), le système regarde l'âge du compte, et si le compte a moins de 48h, le journal est tout simplement supprimé ou mis sur une queue pour les modérateurs qui décident si il est viré ou pas.
Pour moi l'objectif est de rendre l'attractivité de créer un compte jetable pour poster un journal de merde faible.
Enelever le journal assez rapidement serait assez efficace, faut juste trouver les bons paramêtres pour éviter de virer les journaux des autres.
Je te dirais que c'est bien plus lisible et comprehensible, la function te lance une erreur si la conversion ne fonctionne pas, il est explicite dans la ligne que c'est de l'hex, tu n'as pas à devoir rajouter un '0x' en texte et risquer un problème si par hasard il y en a déjà un, la fonction supporte 0x 0X ou même pas de préfixe.
Parser un fichier dont tu ne maitrise pas le contenu sera pas trivial quelque soit le langage. Le principal avantage d'autres langages sera qu'ils valident plus facilement les données (tu peut toujours valider en shell unix avec une expression régulière si tu veux avoir quelque chose plus fiable) et te remontent une erreur plus claire.
Pas seulement, les autres langages ont aussi l'avantage que la déserialisation et conversion texte -> chiffre n'est à faire qu'une fois, au début.
Comment aurait-tu fait en powershell pour l'exemple que tu donne ? Une étape de déserialisation de chaque ligne dans un objet ? Cette désrialisation s'appuie sur quoi pour faire de l'arbitraire ?
Tout à fait, et évidemment cette étape initiale peut être plus ou moins complexe selon les données, mais une fois faite, je peux avoir 32 stages à mon pipe, et je n'ai plus à faire de conversion ou autres, c'est bien plus simple.
Et oui évidemment tu peux faire ça en python très bien, c'est ce que j'ai fait au final (flemme de passer le fichier sur Windows).
La question n'est pas si je suis allé chercher loin. Bash est turing complet, au final tu peux écrire un browser web complet en bash si tu veux. C'était simplement de démontrer à quel point bash peut être douloureux à cause du traitement en texte de tout ce qui passe, à chaque étape
et comment fais-tu la différence entre un nombre en octal/décimal/binaire/hexadécimal?
Si il n'a aucune indication, ca va être impossible évidemment, mais t'as typiquemment un préfixe. Et pour n'importe quel traitement un peu complexe tu fais simplement une première passe ou tu déserialise les données et les convertit pour les tourner en objet, et ensuite tu peux faire les traitement que tu veux de manière simple et sûre, là ou en bash tu es forcé de traiter du texte à chaque stage de ton pipe et te retaper de maudites conversion - parsing à chaque étape.
Mais tu assumes que tu connais les données à l'avance, ce qui n'est évidemment pas le cas.
Là cette semaine, je m'amuses à devoir traiter des données qui sont le résultat d'opérations sur un fichier reçu d'une boite externe histoire de sortir des stats.
J'ai pas choisi le format, j'ai pas choisi quelles infos extraire, … J'ai essayé de le faire avec une ligne de pipes dans bash (le processus en question tourne sous Linux), j'ai perdu des cheveux et assez vite abandonné.
Ben tu commences à comprendre la problématique. J'ai filé des exemples de base pour montrer à quel point cela devient le bordel si le format change un tout petit peu. Tu remarqueras que dans le monde réel, c'est fréquemment plus compliqué que juste une colonne dont toutes les valeurs ont le même format.
Tu as un type de donnée (un entier), et selon sa représentation textuelle, il faut utiliser 32 méthodes diffèrentes pour le traiter : utiliser des options diffèrentes, utiliser des commandes diffèrentes,…
Rappelons la problématique : traitement de données arbitraire.
Les données, elles pourraient être une colonne d'entiers en base 10, ça pourrait aussi être 5 colonnes dont la 3ême est la colonne de chiffres avec des colonnes séparées par des espaces ou tabs, mais pas de bol, les 2 premières colonnes sont des colonnes de texte, avec potentiellement des tabs-espaces dans le contenu. Et là ben tu vas t'amuser à rajouter ton 0x ou sortir la 3ème colonne pour la mettre en 1er
Les données, tu contrôles par forcèment leur format, tu dois vivre avec. Alors oui, c'est "possible" de tout faire avec bash, mais mon dieu quel bordel et douleur pour le faire hors des cas simples.
[^] # Re: Il faut lire
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à 0.
Mais justement.
C'est le marché qui s'adapte à la demande. Le PC monté, typiquement cela n'a pas de sens de vendre une licence avec, les gens en majorité n'en veulent pas.
Le PC monté de toute pièce au contraire, l'énorme majorité veut juste un truc qui tourne tout de suite.
Et ? Quel rapport avec la vente liée ? Absolument AUCUN
Dell vend son PC Ubuntu plus cher, c'est le choix de Dell de mettre le prix qu'il veut sur un produit. Si ca se trouve leur volume, leur support, le manque d'ISV genre McAfee prèt à payer pour mettre leur saloperie sur l'OS par défaut, etc… font qu'au final ca leur coute plus cher
Certains sites vendent des PCs trop chèrs à ton goût ou bas de gamme, de nouveau, c'est leur choix, aucun rapport avec la vente liée, MS, etc…
Bref, tu nous fais un caca nerveux sur le fait que tu ne trouves pas le PC que tu veux sur le marché, et plutôt que regarder la réalité en face qui est que le marché existant ne génére pas assez de demande pour que le PC que tu veux soit offert par les constructeurs, tu imagines que c'est une sorte de complot qui empèche le PC que tu veux d'apparaitre.
[^] # Re: Il faut lire
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à -4.
FUD sans aucune preuve.
[^] # Re: Pas vraiment pour rien
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à 1.
Je sais pas, à toi de nous le dire. Il y a eu violation de la loi ?
[^] # Re: Pas vraiment pour rien
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à -6.
Ah l'histoire… ca tombe bien. On est en 2016. Cette histoire a plus de 15 ans
Ca tombe bien que tu parles de FUD justement !
Tu nous sors que MS est derrière tout cela alors que tu n'en as absolument aucune preuve. Ca je trouves que c'est effectivement du FUD et de la mauvaise foi
Et je rajouterai qu'effectivement, un OS en lui même ne sert à rien. C'est les apps par dessus que le client utilise.
Le client il n'en a rien à battre du kernel, ce qu'il veut c'est pouvoir lancer des applications par dessus. Ca me semble plus qu'évident. Et inutile de me sortir le cas d'exception du geek, car je te trouverai certainement des gars qui aiment fignoler leur machine à laver.
[^] # Re: Pas vraiment pour rien
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à 1.
Ben justement non, en France tout le monde garde l'OS existant au contraire, sauf les geeks
Remarque, en Chine aussi, simplement en Chine le magasin est tout content d'installer qqe chose de piraté pour le client.
Plus de 90% des systèmes Windows en Chine étaient piratés selon les stats de MS
Non c'est simplement faible. Les stats web le prouvent, elles se fichent de savoir si l'OS est gratuit ou pas.
[^] # Re: Pas vraiment pour rien
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à 1.
Ca oui
Aucune idée… je suis arrivé juste après la sortie de Win2k
[^] # Re: Pas vraiment pour rien
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à -2.
Dans les années 90 oui, mais faut quand même arrêter de croire que MS en est là ou il est uniquement grâce à ce qu'il a fait il y a 20 ans… Le marché informatique est super dynamique, Apple a clairement montré comment créer un écosystème de toutes pièces.
Le fait est qu'il n'y a pas eu de vrai révolution sur le desktop en 20 ans, cela a été purement évolutif. Il n'y a rien qui soit apparu qui était tellement mieux que l'existant(= Windows - Mac) au point que les gens se disent "hop je change" comme cela s'est produit avec l'iPhone. D'ailleurs on voit le résultat avec les gens qui sont super lent à upgrader leur Windows, ils ne voient pas bcp de gains vraiment significatifs (même si d'un point de vue purement technique il y en a).
A la limite on pourrait parler des tablettes, elles ont au final bouffé une partie du marché desktop, mais l'énorme majorité des laptops et desktops sont toujours sous Windows - Mac car personne n'a amené un concept qui altère vraiment la donne pour ces utilisateurs.
[^] # Re: Il faut lire
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à -9.
C'est du grand n'importe quoi ca, parce que le problème est le même avec tout produit nouveau. Le consommateur ne sait pas que ca existe au début, mais il y a du bouche à oreille, de la pub, des revues du produit, etc… et il commence à se répandre.
Les systèmes sans Windows, ben visiblement tout le monde s'en fout, sauf ceux avec une pomme dessus.
[^] # Re: Pas vraiment pour rien
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à -2.
Marrant, Dell y arrive pourtant. Sony et HP y arrivaient et ont arrèté, et la CE, qui visiblement n'a aucun problème à poursuivre les sociètés US, n'a pas poursuivi MS pour cela.
Mon petit doigt me dit plutôt que tu prèfères imaginer Microsoft comme coupable idéeal plutot q'admettre que le grand public n'en a rien à battre d'avoir un choix entre leur système de prédilection pré-installé et un système obscur.
La vente non liée existe, depuis des années plusieurs vendeurs le font, et elle est restée anecdotique comparé au marché. Ca en dit long sur l'intéret du grand public.
[^] # Re: Il faut lire
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à -6.
Du tout non.
La vente "non liée" existe et n'a clairement aucune présence significative sur le marché, signifiant que le consommateur en général ne recherche pas cela.
[^] # Re: Pas vraiment pour rien
Posté par pasBill pasGates . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à -9.
Ben non justement. T'as une cour de justice qui vient de dire qu'il n'y a rien d'illégal à cela.
Sans parler du fait que MS est hors de cela, c'est les constructeurs qui décident de comment vendre leurs systèmes.
Ben tu sais, un ordinateur ca n'éxecute pas de système d'exploitation, ca sert à jouer, à faire des feuilles de calcul ou du traitement de texte
[^] # Re: Pas uniquement string
Posté par pasBill pasGates . En réponse au journal Switch, chaîne constante et c++. Évalué à 1.
On va dire que des années dans la jungle de linuxfr m'ont endurci :)
Mai justement, moi ce que je te dis est que non-initialisé est PIRE que initialisé par défaut, et c'est factuel.
Ensuite cela ne veut pas dire que initialisé par défaut est super et idéal hein, mais à choisir entre les 2 un est bien plus sûr que l'autre.
Cela revient de nouveau au fait que la solution est meilleure que non-initialisé tout en n'étant pas idéale. Les valeurs par défaut choisies vont le plus souvent sauver le développeur qui n'initialise pas ses valeurs. Pas toujours, mais le plus souvent.
Idéalement le développeur choisit des options du compilo l'avertissant qu'il utilise une variable non initialisée. Mais sans cela, l'initialisation par défaut aide à sauver beaucoup de gens.
[^] # Re: Pas uniquement string
Posté par pasBill pasGates . En réponse au journal Switch, chaîne constante et c++. Évalué à 1.
Non qu'on se comprenne bien.
Déreferencer un pointeur NULL va causer une exception.
mov [eax],0x1 avec eax=0x0000000000000000 va causer un access violation
Ensuite que le compilo optimise ta représentation en C et enlève les instructions qui déreferencent NULL, c'est une autre histoire.
[^] # Re: Pas uniquement string
Posté par pasBill pasGates . En réponse au journal Switch, chaîne constante et c++. Évalué à 3.
Qu'on se comprenne.
Le fait que les variables non-initialisées sont bcp plus dangereuses que les variables initialisées à une valeur par défaut est un fait établi. Ce n'est pas un cas d'opinion.
nullptr est la bonne valeur, et la raison est super simple :
Bref tu peux penser ce que tu veux, mais si tu oses aller donner ton explication à n'importe quelle personne en sécurité (moi par exemple, qui a passé les 12 dernières années dans le milieu) tu vas leur filer un arrèt cardiaque tellement ton explication ne tient absolument pas la route et démontre un manque de compréhension des enjeux.
[^] # Re: Pas uniquement string
Posté par pasBill pasGates . En réponse au journal Switch, chaîne constante et c++. Évalué à 4.
Ca peut être ton sens, mais en pratique ce n'est absolument pas le cas.
L'exemple flagrant est les pointeurs, notamment pointeurs de fonction. Si tu le garde non-initialisé tu as un énorme trou de sécurité potentiel.
Ensuite, il n'y a absolument aucun besoin d'avoir un code instable pour aller chercher ces erreurs, n'importe quel compilateur décent te détectera une variable non-initialisée sur demande
Gni ? Tu demandes quoi là ? Evidemment que l'auteur de la classe va mettre ce qu'il désire dans le constructeur par défaut, c'est son code ! Tu veux faire quoi à la place ?
[^] # Re: Pas uniquement string
Posté par pasBill pasGates . En réponse au journal Switch, chaîne constante et c++. Évalué à 0. Dernière modification le 01 septembre 2016 à 21:17.
Parce que dans le cas géneral une variable non initialisée a de fortes chances de se retrouver avec tous les bits à zero car l'endroit en mémoire ou elle est allouée est à zero (tant que c'est pas sur la stack) ?
# Autre idée
Posté par pasBill pasGates . En réponse à l’entrée du suivi Délai d'activation des permissions des nouveaux comptes ?. Évalué à 3 (+0/-0).
Perso je suggères plutôt cela :
Pour moi l'objectif est de rendre l'attractivité de créer un compte jetable pour poster un journal de merde faible.
Enelever le journal assez rapidement serait assez efficace, faut juste trouver les bons paramêtres pour éviter de virer les journaux des autres.
[^] # Re: Et ?
Posté par pasBill pasGates . En réponse au journal Bienvenue en Musulmanie !. Évalué à 10.
Et toi probablement demander des fonds pour une greffe de cerveau
[^] # Re: Tu vends du rêve
Posté par pasBill pasGates . En réponse au journal Microsoft: Powershell libéré. Évalué à 0.
Ben oui bien sur que c'est faisable, je ne doutes pas de la faisabilité.
Mais regarde ta version bash, tu trouves ça pratique et simple?
[^] # Re: Tu vends du rêve
Posté par pasBill pasGates . En réponse au journal Microsoft: Powershell libéré. Évalué à 1.
Tout a fait, il faut faire ton parsing avec n'importe quel langage utilisé
En powershell, la ligne pour du hex serait :
Get-Content val.txt | sort {[convert]::toint64($_.split()[0],16)}
Je te dirais que c'est bien plus lisible et comprehensible, la function te lance une erreur si la conversion ne fonctionne pas, il est explicite dans la ligne que c'est de l'hex, tu n'as pas à devoir rajouter un '0x' en texte et risquer un problème si par hasard il y en a déjà un, la fonction supporte 0x 0X ou même pas de préfixe.
[^] # Re: Tu vends du rêve
Posté par pasBill pasGates . En réponse au journal Microsoft: Powershell libéré. Évalué à 2.
Pas seulement, les autres langages ont aussi l'avantage que la déserialisation et conversion texte -> chiffre n'est à faire qu'une fois, au début.
Tout à fait, et évidemment cette étape initiale peut être plus ou moins complexe selon les données, mais une fois faite, je peux avoir 32 stages à mon pipe, et je n'ai plus à faire de conversion ou autres, c'est bien plus simple.
Et oui évidemment tu peux faire ça en python très bien, c'est ce que j'ai fait au final (flemme de passer le fichier sur Windows).
[^] # Re: Tu vends du rêve
Posté par pasBill pasGates . En réponse au journal Microsoft: Powershell libéré. Évalué à 2.
La question n'est pas si je suis allé chercher loin. Bash est turing complet, au final tu peux écrire un browser web complet en bash si tu veux. C'était simplement de démontrer à quel point bash peut être douloureux à cause du traitement en texte de tout ce qui passe, à chaque étape
Si il n'a aucune indication, ca va être impossible évidemment, mais t'as typiquemment un préfixe. Et pour n'importe quel traitement un peu complexe tu fais simplement une première passe ou tu déserialise les données et les convertit pour les tourner en objet, et ensuite tu peux faire les traitement que tu veux de manière simple et sûre, là ou en bash tu es forcé de traiter du texte à chaque stage de ton pipe et te retaper de maudites conversion - parsing à chaque étape.
[^] # Re: Tu vends du rêve
Posté par pasBill pasGates . En réponse au journal Microsoft: Powershell libéré. Évalué à 1.
Mais tu assumes que tu connais les données à l'avance, ce qui n'est évidemment pas le cas.
Là cette semaine, je m'amuses à devoir traiter des données qui sont le résultat d'opérations sur un fichier reçu d'une boite externe histoire de sortir des stats.
J'ai pas choisi le format, j'ai pas choisi quelles infos extraire, … J'ai essayé de le faire avec une ligne de pipes dans bash (le processus en question tourne sous Linux), j'ai perdu des cheveux et assez vite abandonné.
[^] # Re: Tu vends du rêve
Posté par pasBill pasGates . En réponse au journal Microsoft: Powershell libéré. Évalué à 2.
Tu as raté un élément très important de Powershell :
il peut utiliser n'importe quel objet COM de manière naturelle, sans que l'application ait été prévue pour Powershell.
Et les interfaces COM dans les softs sous Windows sont super-répandues pour permettre l'administration, et cela depuis des siècles.
cf. Citrix par exemple : https://www.citrix.com/blogs/2008/07/25/powershell-and-mfcom-lets-get-started/
[^] # Re: Tu vends du rêve
Posté par pasBill pasGates . En réponse au journal Microsoft: Powershell libéré. Évalué à 1.
Ben tu commences à comprendre la problématique. J'ai filé des exemples de base pour montrer à quel point cela devient le bordel si le format change un tout petit peu. Tu remarqueras que dans le monde réel, c'est fréquemment plus compliqué que juste une colonne dont toutes les valeurs ont le même format.
Tu as un type de donnée (un entier), et selon sa représentation textuelle, il faut utiliser 32 méthodes diffèrentes pour le traiter : utiliser des options diffèrentes, utiliser des commandes diffèrentes,…
Rappelons la problématique : traitement de données arbitraire.
Les données, elles pourraient être une colonne d'entiers en base 10, ça pourrait aussi être 5 colonnes dont la 3ême est la colonne de chiffres avec des colonnes séparées par des espaces ou tabs, mais pas de bol, les 2 premières colonnes sont des colonnes de texte, avec potentiellement des tabs-espaces dans le contenu. Et là ben tu vas t'amuser à rajouter ton 0x ou sortir la 3ème colonne pour la mettre en 1er
Les données, tu contrôles par forcèment leur format, tu dois vivre avec. Alors oui, c'est "possible" de tout faire avec bash, mais mon dieu quel bordel et douleur pour le faire hors des cas simples.