bash does not meet any modern expectations from a programming language: syntax, error handling, data structures
General purpose languages such as Python, Ruby, etc are not domain specific enough to have the desired facilities.
Here is small example of straightforward solution to a small problem: list all CloudFormation stacks that are managed by the given CodePipeline.
https://github.com/ngs-lang/nsd/blob/02d66abb844b7dd6077b9976e3a03659cf4b3660/aws/codepipeline/pipeline-stacks.ngs