The Reductionist Mentality in Programming
What is a Reductionist?
a person who analyzes and describes a complex phenomenon in terms of its simple or fundamental constituents.
~ Google Dictionary
What are the dangers?
The main problem with having a reductionist mentality is the fact that we're trying to make a decision based on incomplete data. Programming languages for instance are highly interconnected with social and interpersonal communications between programmers. This is why, in my opinion, we care so much about them as programmers. They define both the language that we get to express business problems either eloquently or not in and also the means of communication to our future colleagues and ourselves. Oh yeah, and they end up producing the products we can sell.
There's many ways to look at a programming language. There's the actual experience of how easy it is to create a abstraction, or paradigm. There's the idea how easy it is to change that paradigm once it becomes obsolete. There's also the aspect of how hard is it to find a piece of code (which has both the chosen organization structure but also the tooling to make this easier). Once you've found a piece of code, can you find all the places it's used easily? Is the way you write code obvious to the programmer who will read it? Any advanced concepts may alienate the reader but also might make the code more efficient to expressive once understood. How easy is it to teach to people that have a traditional background? How is the community that is centered around the language? Is it toxic or not? Are these the kinds of programmers you want helping you? Is it Object Oriented or Functional? How many people know it currently?
The hard part about most talks about programming languages is the fact they tend to focus on one level of detail. The experience of writing and refactoring it as a single programmer. However I think it's far less interesting than the larger picture.
Keywords: Overcoming the destructive effects of , Data, Bullying, Gating, My Essays MOC, Community