One can argue that any programming is computer science,
One could argue that, but I think it would be a weak argument.
Keeping within the subcategory of software, I think of computer science as the theoretical side and programming as the practical side. The same distinction is sometimes made in other fields, like physics.
Seems to me that the author saw a show written by people with a narrow and shallow understanding of the field. For better or for worse, it happens on TV all the time. If he wants to demonstrate a widespread disconnect in the software community, there are probably better examples out there.
Yeah, computer science is the more about theoretical side of computation and the analysis of algorithms. For example, proving that a certain algorithm is a solution to a problem and has a particular time complexity. That’s more mathematics than practical programming.
(disclaimer: I haven’t read the article, I’m just replying to you because your comment was interesting)
I think your theoretical vs practical framing is useful, but as a (non-computer-)scientist, I find it fascinating to consider how a biomedical scientist uses programming compared to someone whose background is much more grounded on the compsci/IT/programming side.[1]
[1]: I sometimes joke that, compared to many of my scientist colleagues, I am an exceptional programmer, and this says a lot about the average quality of the code that scientists tend to write when they don’t have much dedicated training or experience in programming
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
One could argue that, but I think it would be a weak argument.
Keeping within the subcategory of software, I think of computer science as the theoretical side and programming as the practical side. The same distinction is sometimes made in other fields, like physics.
Seems to me that the author saw a show written by people with a narrow and shallow understanding of the field. For better or for worse, it happens on TV all the time. If he wants to demonstrate a widespread disconnect in the software community, there are probably better examples out there.
Yeah, computer science is the more about theoretical side of computation and the analysis of algorithms. For example, proving that a certain algorithm is a solution to a problem and has a particular time complexity. That’s more mathematics than practical programming.
(disclaimer: I haven’t read the article, I’m just replying to you because your comment was interesting)
I think your theoretical vs practical framing is useful, but as a (non-computer-)scientist, I find it fascinating to consider how a biomedical scientist uses programming compared to someone whose background is much more grounded on the compsci/IT/programming side.[1]
[1]: I sometimes joke that, compared to many of my scientist colleagues, I am an exceptional programmer, and this says a lot about the average quality of the code that scientists tend to write when they don’t have much dedicated training or experience in programming
1 ↩︎
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.
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