Not buggier than Python is a really low bar.
You forgot about the lack of static type hints. That's a serious flaw.
If you ignore the performance and lack of static types, then I don't think there's too much wrong with Ruby but apart from Rails there isn't really a compelling reason to use it over Python either. And that's not saying much!
This argument makes no more sense than trying to say that a plant is thinking because brains are made of cells and so are plants.
By that logic we also conclude that the human brain doesn't "think" about what it is saying.
What are the issues?
You’ve essentially dissed people who use it for CI/CD and suggested that their pipeline is not robust because of their choice of using Bash at all.
Yes, because that is precisely the case. It's not a personal attack, it's just a fact that Bash is not robust.
You're trying to argue that your cardboard bridge is perfectly robust and then getting offended that I don't think you should let people drive over it.
About shared libraries, many popular languages, Python being a pretty good example, do rely on these to get performance that would be really hard to get from their own interpreters / compilers, or if re-implementing it in the language would be pretty pointless given the existence of a shared library, which would be much better scrutinized, is audited, and is battle-tested. libcrypto is one example. Pandas depends on NumPy, which depends on, I believe, libblas and liblapack, both written in C, and I think one if not both of these offer a cli to get answers as well. libssh is depended upon by many programming languages with an ssh library (though there are also people who choose to implement their own libssh in their language of choice). Any vulnerabilities found in these shared libraries would affect all libraries that depend on them, regardless of the programming language you use.
You mean "third party libraries" not "shared libraries". But anyway, so what? I don't see what that has to do with this conversation. Do your Bash scripts not use third party code? You can't do a lot with pure Bash.
If your temporary small script morphs into a monster and you’re still using bash, bash isn’t at fault. You and your team are.
Well that's why I don't use Bash. I'm not blaming it for existing, I'm just saying it's shit so I don't use it.
You could use Deno, but then my point stands. You have to write a function to handle the case where an env var isn’t provided, that’s boilerplate.
Handling errors correctly is slightly more code ("boilerplate") than letting everything break when something unexpected happens. I hope you aren't trying to use that as a reason not to handle errors properly. In any case the extra boilerplate is... Deno.env.get("FOO"). Wow.
What’s the syntax for mkdir? What’s it for mkdir -p? What about other options?
await Deno.mkdir("foo");
await Deno.mkdir("foo", { recursive: true });
What's the syntax for a dictionary in Bash? What about a list of lists of strings?
Funny because Rails is often touted as the main reason to use Ruby!
Yeah IntelliJ does amazingly without type annotations but even it can't do everything. E.g. if you're using libraries without type annotations, or if you don't call functions with every possible type (is your testing that good? No.)
Static types have other benefits anyway so you should use them even if everyone in your team uses IntelliJ.
Only a Linux user's answer to "how do I install software that's not packaged for my distro" would be "don't".
Yeah I would avoid this. The meaning is not obvious and at least in the examples given there are far better ways to do it.
You can't win an argument by saying "you can argue about this enormous counterpoint all you want but I'm still right".
FizzyOrange
0 post score0 comment score
This has been the norm for literally decades. Doxygen was doing it in 1997 and I'm sure it wasn't the first.