What if you needed low-level operations and formatting text?
Experienced practitioners knew the following strategy:
Write the whole thing in shell
But implement some extra shell commands in C
The very first shell had no file globbing:
% ls -l *.c ls: cannot access *.c: No such file or directory
So there was a glob command (in C) to do it:
% glob *.c bar.c foo.c % ls -l `glob *.c` -rw-r--r-- 1 mjd 781 1974-02-24 18:24 bar.c -rw-r--r-- 1 mjd 1178 1974-02-24 18:24 foo.c