genré \n, ou une virgule, ou que sais je) ne marche pas, parce que ces caractères peuvent être dans ta valeur.
Les outils Unix offrent généralement la possibilité d’utiliser facilement le caractère 0円 (NULL) comme séparateur (options -0, --null, etc...), caractère que tu as quand même peu de chance de trouver dans les valeurs que tu dois manipuler. Et un des rares caractères que tu es sûr de ne pas trouver dans un nom de fichier au passage. Après c’est sûr que si tu comptes « parser » un fichier binaire ça va être compliqué...
Ignorerais-tu par ailleurs qu’il existe depuis la création d’ASCII des caractères précisément destinés à servir de séparateur ? Typiquement \x1c, \x1d, \x1e et \x1f ? Rien de magique...
bash est tellement limité
Bash est un langage dit « Turing complet », donc si limitation il y a, c’est celle de ta connaissance de ce langage.
A ben zut, c’est physiquement pas possible à cause du typage. Tu le vois, le problème?
Le problème c’est que tu racontes n’importe quoi.
Les tableaux en bash ne peuvent que contenir des chaînes. Pas de null, parce que ça existe pas en bash
C’est quoi pour toi un "null" ?
Un valeur qui doit nécessairement être différente de 0 ? Dans cas, doit-elle être inférieure à 0 ? Ou lui être supérieure ? Et un tableau qui a une de ses valeurs "null", par exemple [0, 1, 2, NULL, 3] il a 4 éléments ou 5 selon toi ?
Tu réalises que si on prétend ne faire aucune abstraction, toute donnée numérique n’est que chaînes de bits ? Et qu’en conséquence des concepts tels que "NULL" ou encore "NaN" ou "∞" n’ont strictement pas le moindre de sens en dehors d’une convention arbitraire ?
Tu dirais que l’assembleur est obsolète ?
Euh, ben, un petit peu quand même. C’est pas exactement un langage qui a le vent en poupe. C’est une niche de chez niche, quand t’as pas d’autre choix disponible.
Il n’est pas question de niche. Sans l’assembleur/langage machine qui offre une abstraction des circuits électronique sous-jacents, tu peux oublier ton « Ruby/Python qui script du Kukes (?) les doigts dans le nez »
Commencer à scripter du Kukes à coup de jq sort très largement de ce champ. Ruby/python feront ça les doigts dans le nez par contre.
Je vais supposer que "Kukes" ça fait référence à Kubernetes ? Et bien dans ce cas je te dirais que « scripter du Kukes » c’est déjà commencer à faire de la merde, parce que si tu veux automatiser quelques choses sur un cluster Kubernetes tu implémentes un opérateur, tu écris ni du Bash, ni du Python ni du Ruby, mais du Yaml...
[^] # Re: De la pertinence du KISS et d l’anticipation des besoins futurs
Posté par Marotte ⛧ . En réponse au journal Le sophisme du meilleur outil. Évalué à 3. Dernière modification le 23 novembre 2023 à 21:52.
Les outils Unix offrent généralement la possibilité d’utiliser facilement le caractère 0円 (NULL) comme séparateur (options -0, --null, etc...), caractère que tu as quand même peu de chance de trouver dans les valeurs que tu dois manipuler. Et un des rares caractères que tu es sûr de ne pas trouver dans un nom de fichier au passage. Après c’est sûr que si tu comptes « parser » un fichier binaire ça va être compliqué...
Ignorerais-tu par ailleurs qu’il existe depuis la création d’ASCII des caractères précisément destinés à servir de séparateur ? Typiquement \x1c, \x1d, \x1e et \x1f ? Rien de magique...
Bash est un langage dit « Turing complet », donc si limitation il y a, c’est celle de ta connaissance de ce langage.
Le problème c’est que tu racontes n’importe quoi.
C’est quoi pour toi un "null" ?
Un valeur qui doit nécessairement être différente de 0 ? Dans cas, doit-elle être inférieure à 0 ? Ou lui être supérieure ? Et un tableau qui a une de ses valeurs "null", par exemple [0, 1, 2, NULL, 3] il a 4 éléments ou 5 selon toi ?
Tu réalises que si on prétend ne faire aucune abstraction, toute donnée numérique n’est que chaînes de bits ? Et qu’en conséquence des concepts tels que "NULL" ou encore "NaN" ou "∞" n’ont strictement pas le moindre de sens en dehors d’une convention arbitraire ?
Ben voyons...
J’ai l’impression que tu n’as pas conscience qu’un « langage informatique » est nécessairement une abstraction et que cette abstraction peut être de différent degré. La lecture de https://cs-lmu-edu.translate.goog/~ray/notes/pltypes/?_x_tr_sl=en&_x_tr_tl=fr&_x_tr_hl=fr&_x_tr_pto=rq peut éventuellement t’aider à visualiser le concept de niveau d’abstraction.
Il n’est pas question de niche. Sans l’assembleur/langage machine qui offre une abstraction des circuits électronique sous-jacents, tu peux oublier ton « Ruby/Python qui script du Kukes (?) les doigts dans le nez »
Je vais supposer que "Kukes" ça fait référence à Kubernetes ? Et bien dans ce cas je te dirais que « scripter du Kukes » c’est déjà commencer à faire de la merde, parce que si tu veux automatiser quelques choses sur un cluster Kubernetes tu implémentes un opérateur, tu écris ni du Bash, ni du Python ni du Ruby, mais du Yaml...