|Subject:||Bash development roadmap|
|Date:||Fri, 30 Apr 2021 15:32:13 +0200|
|User-agent:||Telnet/1.0 [tlh] (PDP11/DEC)|
I always thought that Bash DNA was tied to orchestrating actions from commands forming a shell around a Unix kernel, with characters streams forming the data backbone for Bash to interact with system commands.
The strength of Bash is that it is exactly fit as a shell, and it has enough POSIX and even Bash versions available in a wide variety of systems environments ; so that if you write Bash scripts avoiding cutting-edge features, or limit yourself to features with a decade old maturity, you can expect mostly flawless compatibility.
Then I have concerns about all the requests for implementing new features, especially those features that would turn Bash into an all-purpose programming language, loosing grounds with its designed role in Unix systems.
I'd like to see more mid-term or long term plans to keep Bash relevant ten years from now, with systems evolving more with event-driven operations; processes exchanging more structured data streams such as JSON or XML. Bash can barely deal with these format with external parsers, but then struggle to work with the data because it has no built-in internal hierarchical structures for it.
I remember Chet mention future modules to deal with various formats, and it feels like a sound approach to deal with these structured data formats, but still Bash will struggle to use these with only arrays and associative arrays.
I also wonder if it is even realistic to get Bash evolving to keep-up with more modern data structures and formats, when other scripting languages like Python are increasingly occupying the place of shell scripts. I can see how Perl lost grounds while it gained features but loosing relevance.
What is on Bash's roadmap for the next ten or twenty years for it to remain a relevant tool, or is it going to maintain status-quo as a fall-back scripting tool you expect being on every systems, even older and no longer supported ones?
-- Léa Gris
|[Prev in Thread]||Current Thread||[Next in Thread]|