[-] FizzyOrange@programming.dev 2 points 9 months ago

This has been the norm for literally decades. Doxygen was doing it in 1997 and I'm sure it wasn't the first.

[-] FizzyOrange@programming.dev 2 points 11 months ago

Not buggier than Python is a really low bar.

[-] FizzyOrange@programming.dev 2 points 11 months ago

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!

[-] FizzyOrange@programming.dev 2 points 1 year ago

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.

[-] FizzyOrange@programming.dev 2 points 1 year ago

By that logic we also conclude that the human brain doesn't "think" about what it is saying.

[-] FizzyOrange@programming.dev 2 points 2 years ago

What are the issues?

[-] FizzyOrange@programming.dev 2 points 2 years ago

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?

[-] FizzyOrange@programming.dev 2 points 2 years ago

Funny because Rails is often touted as the main reason to use Ruby!

[-] FizzyOrange@programming.dev 2 points 2 years ago

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.

[-] FizzyOrange@programming.dev 2 points 2 years ago

Only a Linux user's answer to "how do I install software that's not packaged for my distro" would be "don't".

[-] FizzyOrange@programming.dev 2 points 2 years ago

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.

[-] FizzyOrange@programming.dev 2 points 2 years ago

You can't win an argument by saying "you can argue about this enormous counterpoint all you want but I'm still right".

view more: ‹ prev next ›

FizzyOrange

0 post score
0 comment score
joined 3 years ago