I comment sparingly because I unironically write self-documenting code.
Depends on what I'm writing of course and who will be looking at it, bash scripts that I expect the devs that I support to read are heavily commented because bash is completely inscrutable even if you write a lot of bash. On the other hand, properly-written ruby is basically runnable pseudocode.
If I run into anything weird or annoying that involves a lot of stackoverflow or deep-dives in the docs I'll link those in comments sometimes
On the other hand, properly-written ruby is basically runnable pseudocode.
Python too. In a programming class we were to to write, on paper, some pseudocode. I just wrote Python (but with the wrong name for the list append function because every damn language has a different name for it) and decided to include #!/usr/brain/python at the top.
Ah, but which of the five package management strategies are you religiously attached to? If it's conda then I know you work in data science, but if it's poetry then I know you work in OS packaging but don't actually write any Python! :very-intelligent:
I've had to support the infrastructure for some python projects, it's always been a huge headache from an ops standpoint in local dev, CI, and CD. Its target user demographic is data scientists rather than programmers and it really shows when you compare it to any other modern language (and quite a few older ones)
:crab-party: and Golang handle dependencies well by basically forcing you to do what you'd do with a Pipfile in python and then adding checksum validation to it (though the centralization of crates hosting for the former is shit)
Ruby's package management is great, honestly the gold standard. Honestly prefer Yarn/NPM to just about every Python package manager (poetry is ok because it's based on ruby's package management, but it's painfully slow because of how the pypi api is designed.) I've heard good things about Rust's too but haven't used that one yet.
I misspent an unfortunate part of my youth really trying to make strong, static typing work in Ruby. The temptation to say things the cute (i.e., "it reads like a sentence!") way is simply too high and feels Perlish without having the sort of wizardly cachet that writing Perl in 20XX has, lol.
I comment sparingly because I unironically write self-documenting code.
Depends on what I'm writing of course and who will be looking at it, bash scripts that I expect the devs that I support to read are heavily commented because bash is completely inscrutable even if you write a lot of bash. On the other hand, properly-written ruby is basically runnable pseudocode.
If I run into anything weird or annoying that involves a lot of stackoverflow or deep-dives in the docs I'll link those in comments sometimes
Python too. In a programming class we were to to write, on paper, some pseudocode. I just wrote Python (but with the wrong name for the list append function because every damn language has a different name for it) and decided to include
#!/usr/brain/python
at the top.Yeah, Python is like Ruby but the whitespace is loadbearing and the package management sucks
lmao loadbearing whitespace
I don't think I've used any language where the package management doesn't suck. At least it isn't Node.
Ah, but which of the five package management strategies are you religiously attached to? If it's conda then I know you work in data science, but if it's poetry then I know you work in OS packaging but don't actually write any Python! :very-intelligent:
lol, just
requirements.txt
. MaybePipfile
every so often.:agony-devops:
I don't use Python for anything professional if that helps.
I've had to support the infrastructure for some python projects, it's always been a huge headache from an ops standpoint in local dev, CI, and CD. Its target user demographic is data scientists rather than programmers and it really shows when you compare it to any other modern language (and quite a few older ones)
is there actually a package management strat called poetry
:sicko-yes: https://python-poetry.org/
:crab-party: and Golang handle dependencies well by basically forcing you to do what you'd do with a Pipfile in python and then adding checksum validation to it (though the centralization of crates hosting for the former is shit)
Ruby's package management is great, honestly the gold standard. Honestly prefer Yarn/NPM to just about every Python package manager (poetry is ok because it's based on ruby's package management, but it's painfully slow because of how the pypi api is designed.) I've heard good things about Rust's too but haven't used that one yet.
I misspent an unfortunate part of my youth really trying to make strong, static typing work in Ruby. The temptation to say things the cute (i.e., "it reads like a sentence!") way is simply too high and feels Perlish without having the sort of wizardly cachet that writing Perl in 20XX has, lol.