kwb
10-03-2013, 15:57
Ciao a tutti!
Questo non è un thread con una richiesta d'aiuto, quanto una discussione su "Perchè bash non supporta nativamente i numeri?"
Mi sono scontrato poco fa ( e anche durante il corso universitario ) con la semi-inutilità di bash nel momento in cui si deve scrivere uno script che faccia calcoli, comparazione di numeri NON interi e altre cosucce matematiche.
Ora ad esempio, stavo sviluppando uno script per il controllo della connettività sul mio muletto. Il tutto era basato sulla % di pacchetti correttamente trasmessi da ping verso il router.
Il guaio era che siccome il risultato ( una percentuale spogliata del simbolo % ) veniva gestito come stringa ( e non come numero decimale ), mi è stato pressochè impossibile compararlo correttamente con un qualsivoglia numero.
Quello che non capisco è perchè fare un linguaggio di scripting che ha difficoltà a gestire i numeri interi ( o per lo meno ne rende difficile la gestione, portando il programmatore a dover usare altre funzioni/programmi/costrutti - let e le (( )) ad esempio ) e la totale IMPOSSIBILITÀ di gestire numeri a virgola mobile se non utilizzando altri sottolinguaggi come bc e awk ? :doh:
Queste cose, assieme anche alla sinstassi che definire caotica e non-sense è un eufemismo, mi portano veramente alla frustrazione quando devo/scelgo di scrivere in bash. Non a caso sono stato costretto a scrivere lo script in python ( :ave: ), che in 30 minuti ho fatto funzionare senza alcun intoppo.
Ora, qui adesso non voglio aprire flame o cose così, mi piacerebbe solamente indagare sulle reali ragioni ( se ci sono ) del perchè siano state fatte queste scelte ( a mio avviso infelici? ) sulle variabili, per questo chiedo a voi. :)
Questo non è un thread con una richiesta d'aiuto, quanto una discussione su "Perchè bash non supporta nativamente i numeri?"
Mi sono scontrato poco fa ( e anche durante il corso universitario ) con la semi-inutilità di bash nel momento in cui si deve scrivere uno script che faccia calcoli, comparazione di numeri NON interi e altre cosucce matematiche.
Ora ad esempio, stavo sviluppando uno script per il controllo della connettività sul mio muletto. Il tutto era basato sulla % di pacchetti correttamente trasmessi da ping verso il router.
Il guaio era che siccome il risultato ( una percentuale spogliata del simbolo % ) veniva gestito come stringa ( e non come numero decimale ), mi è stato pressochè impossibile compararlo correttamente con un qualsivoglia numero.
Quello che non capisco è perchè fare un linguaggio di scripting che ha difficoltà a gestire i numeri interi ( o per lo meno ne rende difficile la gestione, portando il programmatore a dover usare altre funzioni/programmi/costrutti - let e le (( )) ad esempio ) e la totale IMPOSSIBILITÀ di gestire numeri a virgola mobile se non utilizzando altri sottolinguaggi come bc e awk ? :doh:
Queste cose, assieme anche alla sinstassi che definire caotica e non-sense è un eufemismo, mi portano veramente alla frustrazione quando devo/scelgo di scrivere in bash. Non a caso sono stato costretto a scrivere lo script in python ( :ave: ), che in 30 minuti ho fatto funzionare senza alcun intoppo.
Ora, qui adesso non voglio aprire flame o cose così, mi piacerebbe solamente indagare sulle reali ragioni ( se ci sono ) del perchè siano state fatte queste scelte ( a mio avviso infelici? ) sulle variabili, per questo chiedo a voi. :)