Ja dat weet ik, maar tegenwoordig gaat dat met de data die je hebt niet altijd meer op. Vaak heb je complexe structuren die moet doorgeven en een combinatie van binary en tekst informatie en dan wordt het op de 'Unix manier' lastig. Denk aan een LDAP record. Dat soort dingen. Bij Powershell kan je dat soort objecten direct doorgeven. En ik zie de mensen van ons AD team hier heel handig gebruik van maken, met scripts die ik in unix land vele pagina's vol zou zien worden, en een heleboel niet standaard geinstalleerde tools vereisen.
Onopgemaakte output kan wel, maar dan heb je een eendimensionale lijst. Tegenwoordig wil je vaak veel ingewikkeldere dingen doorgeven. Dit zou goed kunnen met XML/JSON achtige structuren. Dat is ook tekst maar de hele userland toolchain kan daar over het algemeen niet omgaan. Het hele systeem van exit codes is ook behoorlijk beknopt.
Ik werk al sinds begin jaren '90 met Unix en Linux en ik weet prima hoe het werkt, maar ik loop tegenwoordig vaker tegen dit soort dingen aan dan vroeger. En de compatibiliteit met deze visie wordt ook steeds minder. Vooral op de Mac: Veel van de op dat platform gebruikelijke tools hebben geen 'nette' platte tekstuitvoer meer. Bijna elk commando moet je wel door sed of awk halen om er aan te sleutelen.
Of denk aan de scripting in Bash: Het 'test' commando bijvoorbeeld. Werkt op zich wel, maar handig is anders. Als ik iets ingewikkelds moet doen dan ga ik liever voor een uitgebreidere taal met een consistente syntax. Denk aan Python of PHP (beide standaard aanwezig op een Mac) of zelfs Perl.
Sowieso valt er een hoop te verbeteren in de gnu userland, denk aan elke tool die weer zijn eigen opmaak heeft voor configuratiefiles. Ik weet die allemaal wel en kan er prima mee werken, maar handig is anders. Microsoft zet op dit moment rappe schreden voorwaarts op deze gebied en ik zou het jammer vinden als Linux achterblijft. Natuurlijk heeft Microsoft twee grote voordelen: Ten eerste hebben ze alles helemaal in eigen hand, en ten tweede zijn ze pas sinds kort begonnen waardoor ze het helemaal op de moderne eisen hebben kunnen aanpassen, en hebben ze geen backwards compatibility nodig.
[Reactie gewijzigd door GekkePrutser op 31 juli 2024 21:04]