It's evolution. I like Python, it gets love and support. And it's all about the data structures - really. With python all I have to do is figure out the data - the rich set of OO, functional or imperative approaches and APIs does the rest.
Not ad-hominem but where were you 95-2006 because Gawk, Sed and Burne shell
were the answer to read only perl scripts. That is one of the reasons Perl is basically no longer used: it was used without discipline.
There was actually a progressive mode amongst those systems programmers I knew who knew what they were doing at the time.
* bash + sed for the easy stuff
* bash + gawk or just gawk for the ETL stuff
* TCL for systems glue + swig
* C when you are bespoke or need performance
Perl was great in theory but I cringed every time I saw a script.
Agreed, Perl scripts were often write-only, especially when people get cute with the shorthands.
At the same time, it is rare for me to see a Bourne/Bash script without obvious serious defects in it.
(Many people don't understand the shell script textual substitution evaluation model at all. And even those people who do, the model gets very hard to reason about as soon as you try to do some data value handling that's absolutely trivial in most high-level languages.)
There is no way you will change the system other than to revoke it the way the current woke generation is trying to do.
Revocation hurts others and makes this approach anathema to them.
What eventuates is hate, mistrust, opportunism and fear.
Eventually the united states will fail because of magnified personal injury delivered to agenda that does not meet the test of improvement for everyone. Because we are short sighted, intolerant and arrogant. Like you.
The first thing with bash scripts is you need to use a type system. Enforce json as your configuration language. Then have error handling as part of a default shell function library that emits json. All you are doing then is passing bad returns to a function that can emit json and reviewing json configurations for shell script variable definitions. Don't do in shell scripts what you can do in terraform. Don't use ansible/salt/puppet for what can be done in shell scripts. Shell scripts and makefiles go to CI/CD agencies (Jenkins). Ansible, terraform, etc...go to services that specialize in these.
Why do ppl obfuscate like this? k8s is a control plane + api and client and workers. Don't make it weird. If you do then control the weirdness: the hooks are all there. To me it still looks like client/server with some development overhead based on gRPC + REST, state + eventual consistency. When I was learning linux in 1997 I had butterflies in my stomach - it felt amazing working with tech that I could do _anything_ with. k8s is the only thing in 20+ years that has ever given me that feeling again.
Because even the built-in agents are huge and complex. Nevermind the homegrown agents some of which has config files that basically are YAML-serialized ASTs for some weird Turing-complete imperative language... and some just straight up embed a Lua script that does configuration and actual work. But thanks for your advice "don't make it weird": I won't! Too bad all the other people didn't heed to it.
You hit every high point of my own experience but there are caveats.
1. If you have to do on prem then virtualize and package till you can wash, rinse repeat.
2. Secure systems with k8s are a thing: Stigged k8s, stigged host systems, mtls, psp, network policy, MAC integration - this makes k8s really unpleasant to deal with if you come from pub cloud, pub k8s provider. See #1.
3. Performance: dns sucks and it sucks for all kinds of reasons: usually avoidable with node local caching approaches, but sometimes not.
4. Yes: Big clusters...until you need federation.
I was full stack 20 years ago and didn't even notice it. It was called being a senior sysadmin. Now if you were to ask me to code review someones js, come up with an EOL migration strategy for kubernetes clusters, optimize a solution
using openmp and write up infra in terraform I would call it a normal couple of days. Not much has changed - except I bitch more and take a longer time to do things.
From personal experience this guys sales pitch is used to defend and glorify the worst work cultures. Having worked at a place for 12 years believing that my contribution was vital and necessary and then seeing that conception unwind in two months was the best education _ever_.
It's amazing how much knowledge is being lost with the advent of container revolutions and orchestrator Os'es. Cgroups is _still_ opt in not opt out...though those who never have worked in HPC on bare metal with parallel libraries and approaches for cpu like openmp are loudly complaining about control groups that don't control or provide consistent view of userland like there isn't a host system underneath. It's like this (https://www.gnu.org/software/libc/manual/html_node/CPU-Affin...) wasn't the way things were done (and still are to this day) in everything but the container world. I know it's hard to grasp but not everyone is containerizing everything.