"What are the good principles when developing a software library for scientists to use in a particular discipline?" - Above all, is an expert in the field, IMO. The types of packages that are usually successful in these areas are written by chemists, physicists, biologists, etc.
You should ask yourself if a scientist in one of these areas can learn programming or a programmer in order to learn a scientific discipline.
Judging by the number of books that I see for learning the X language for 21 days, and those who claim that during the same time I can learn art in chemistry, biology or physics, I would suggest that scientists are more likely to program your own solutions.
source share