4 ms·
Basically most Unix utils outputs free text data and then one expected to parse/filter that free text to pipe to another util. Power shell tries to operate in '
by betaby 6y ago
Basically most Unix utils outputs free text data and then one expected to parse/filter that free text to pipe to another util. Power shell tries to operate in 'objects' and not free text.
- adamnemecek 6y agoI'm well aware. I think the Unix approch might have worked back in the day, but it's kind of broken these days.
- TheOtherHobbes 6y agoBack in the day it was considered the only option for many applications. It seems very questionable to be living with a severe restriction from the 1970s in 2020. But... it can't be unbroken without breaking backward compatibility in all kinds of legacy code.
- adamnemecek 6y agoThe trick is to create an alternative that can coexist.
- stonogo 6y agoVMS had structured files in the 1970s. Plaintext streams were not considered the only option; this was a deliberate decision by the developers of unix because they regarded it as more flexible.
- avmich 6y agoMaybe we shouldn't use complex structures if we don't really need. Having e.g. special characters which can't happen in normal strings - only on boundaries - makes parsing simpler. At the same time we remove "hidden" layer of object organization, so whatever is seen in shell can be byte-for-byte transferred to another computer and processed there. I've seen arguments for object-oriented shells when we want to have more complex plumbing than traditional Unix shell piping, but not sure if those goals couldn't be achieved while remaining in text-only land.