- Bash - the gold standard for shell scripting
- Python - general purpose object oriented language, easy to write, widely used but hard to maintain due to environment differences, language and library changes over time
- Golang - imperative compiled self-contained binaries, simple toolchain, smashes Python in portability, maintainability, build time etc.
- Perl - fast to write imperative code, stable, the gold standard for regex string processing, works everywhere and doesn't break every few years like Python
- Groovy - a better version of Java, with interactive REPL and some language construct conveniences. Hard to want to write in Java again after getting spoilt by Groovy
- Java - battle tested, but slower to develop in than the above languages
- Scala - was supposed to be the next Java but wasn't
- Kotlin - another next Java, we'll see
- Clojure - another JVM language
- R - old data analytics languages, matrices, awkward, but widely used and lots of libraries
- Expect - an extension of the Tcl language specialized in interactive text interface automation and keystroke control
Excellent TCL language framework for automating systems which have no alternative but interactive timed text inputs.
Autoexpect - generates an expect script from an interactive session, tune from there
Expect has libraries in most languages.
For example, used Perl's Net::SSH::Expect
library to test iDRAC and iLO controllers
in check_ssh_login.pl
Add this to the top of an expect script to debug output:
exp_internal 1
You are limited only by time and effort.
See Testing
The importance of documentation:
Watch out for that quality and not knowing WTF you're doing!
Ported from various private Knowledge Base pages 2008+