5 ms·
I was talking about scientists who switched from science to writing software as a product for whatever reason. They surely produce good docs (properly documen
by FpUser 7y ago
I was talking about scientists who switched from science to
writing software as a product for whatever reason. They surely produce good docs (properly documenting their work is the very basis of being scientist).
As for writing imperative code in C/C++/Whatever other language they seem to choose: nothing is wrong with that.
- sbov 7y agoYou're basically saying scientists can become good programmers if they become professional programmers. Of course they can be, and I doubt anyone would argue that. Some of the best programmers I know have zero college education at all, so of course it's possible for mathematicians and scientists to do the same. But that isn't anywhere near the point of the article. It's talking about scientists that did NOT switch to writing software professionally, but continue to write it merely as a tool to accomplish their primary scientific goals.
- FpUser 7y ago"...It's talking about scientists that did NOT switch to writing software as a product, but as merely a way to accomplish their primary scientific goals. ..." Sure, for this they would do what is just enough to solve their specific problem. Just as ANY sound business would do.
- kingbirdy 7y agoBut the point of the article is that this isn't sustainable. If the person who wrote it leaves, or if they need to do a similar task later, or another lab is doing similar work, all the effort will be repeated. It would make a lot more sense for the community to invest in more open source tools that generalize to cover more research domains.
- opportune 7y agoWriting medium-sized amounts of imperative code is wrong if it is going to be shared with any other person than a single developer writing it. And even if only a single person will ever see it, you are still better off writing it in components once the project reaches a certain size.
- jlarocco 7y agoI don't agree. There's nothing inherently wrong with writing imperative code, and being imperative doesn't imply the code isn't broken up into components or that it's necessarily difficult to maintain.
- FpUser 7y agoImperative programming and components are 2 different things. The latter could be implemented with numerous approaches including imperative programming
- opportune 7y agoThat's true, but when someone mentions writing something in an "imperative style" I think it's common for that to actually just mean one huge file that executes sequentially which is not amenable to testing, having someone else working on a different part of the code without running into lots of merge conflicts, makes it very hard to refactor, etc.