this post was submitted on 24 Dec 2024
99 points (93.8% liked)

Programming

17672 readers
57 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Croquette@sh.itjust.works 1 points 1 day ago (1 children)

Scientists write code that works for them, so that's fine if the code isn't optimized.

When your software is your product, then it needs to be much more optimized.

[–] AnarchistArtificer@slrpnk.net 5 points 22 hours ago (1 children)

It's not fine if the code needs to be used by other scientists though, which it often will be, even within the same research group. I have a friend who worked in a lab where one of their PhD students wrote a bunch of helpful code that was an unmaintainable mess that ended up breaking a lot of work flows at some point a year or so after the creator of it had left. It was kludge upon kludge upon kludge, and the thing that finally broke seemed to be dependency related, but I couldn't figure out what the hell was going on with it (I was asked to take a look).

There's a lot of duplicated effort in science. Scientists tend not to think about stuff like software ecosystems unless they're in a subfield that has been doing computational stuff for a long while, like bioinformatics. When it comes to code, there's a lot of inventing the wheel from scratch and that leads to weird square wheels that work good enough to then have more code built on top of them. Software might not be scientists' product in the same way as it is for IT people, but it often ends up being a part of the wider product of methodological reproducibility

[–] magic_lobster_party@fedia.io 1 points 9 hours ago

Writing maintainable code is an art form. Like most art forms it can mostly only be learned by practice. So if you don’t have much experience maintaining long lived systems, it’s difficult to know what works and what doesn’t. Most universities don’t teach this as well, so it’s mostly something people learn in the industry.

Then I believe there’s also some aspect of pride in writing overly complicated code. It’s the belief that ”other people can’t comprehend my code because they’re not as smart as me”, when it’s actually ”I suck at writing comprehensible code”.