When OO(object oriented) coding was all the rage I embraced it with both arms. I thought it was going to solve all the programers problems. And it never did. At some point it became VERY complicated and the programmers with plenty of hobby time dug deep into the model and prevented the rest of the world from getting real work done.
real programmers get shit done
The problem with that approach to programming is that requirements change and the code will have to pivot. That pivot cannot be automated and whole systems can be invalidated as a result… moving on.
Someone decided that wrapping standard bash and shell commands in shell scripts that can process alias
resources as if they are commands.
For example:
$ which which
which ()
{
( alias;
eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}
The problem with this is that it changes the way the which
command functions or maybe it’s the way the shell works; I’m not quite certain.
But when my shell code runs I keep getting errors like
sqlite version : 0 /usr/bin/sh: ml: line 1: syntax error: unexpected end of file
This would be OK if the aliased version of the command worked 100% like the command itself. That there is a slight difference is not acceptable.
Why do I bring up generics? Well because some ding-dong decided that it was a good idea to add generics to golang. It did not really add any value and only complicated the language. All of the necessary moving parts were already there. In golang I can avoid generics but I will inherit generic use as I import more packages. And so the aliased commands were implemented for the one ding-dong that needed to run the commands on aliases to the disadvantage of everyone else…. interestingly it’s a CentOS vs rest of the world.
ding-dongs are ruling the change; where are the benevolent dictators.
And so here we are again.