Ruby is nice in every regard :) Most languages have some form of backticks to run an external binary. When I left my original comment I got a phone call in the middle of it and rushed it, sorry about that. What I really meant was having the versatility of the big 3 file descriptors along with return codes, etc. You can use Open3 (in the ruby case) but it's unwieldy compared to, say bash.
Not a Crystal expert, but the Marten tutorial mentions a `crystal play` command that will run a web-interface with an interactive "playground" that you can interact with your program's functionality in: https://martenframework.com/docs/getting-started/tutorial#in....