4 ms·
"...the majority of programmers are not developers." Could someone please explain the difference between the two terms? I've always used them synonymously.
by domador 9y ago
"...the majority of programmers are not developers."
Could someone please explain the difference between the two terms? I've always used them synonymously.
- jventura 9y agoProbably he is saying developers as professional programmers..
- 3JPLW 9y agoYes, I think most folks do. He's making a distinction between programmers that are consumers of APIs vs. developers that create and maintain APIs.
- ChrisRackauckas 9y agoThanks for bringing this up. It may be more of a domain-specific use of the terms. In science and math, most of the people who are "programming" are not really that deep into programming. Most people go to a workshop on "here's how to use R to do some regressions", and they will know a small portion of the language and usually rely on some libraries to handle most of the heavy lifting. For example, the size of the community that actually develops code for analysis in bioinformatics pales in comparison to the size of the community that is doing "bench" biology and performing the analyses. There is a clear distinction because in many cases the training is very different (CS and math backgrounds, vs more science backgrounds) and the "average day" and research focus are different. You can swap out biology with pretty much any other field and see the same split and this is the "package user" vs "package developer" split in technical computing.
- Fomite 9y agoI've been pushing a notion like this when people think about (especially) languages used in scientific computing. There's something close to three types of users: 1. Developers. People interested in software development that just happens to be scientific in use. Basically anyone whose considered writing a package. 2. "The Fuzzy Middle Category". People who are pretty good at a language, know some software development concepts (testing, etc.) but whose primary focus isn't developing packages as much as it is answering questions, usually with a number of packages glued together with some interstitial code. 3. Users. "The steps I use to read a .csv file into R and then run a logistic regression are..." They are, essentially, invoking software commands, rather than programming. Now clearly, these three classes are blurry and people can move between them.