I&#x27;m not sure I agree at all with the premise of this article. Languages are a syntax they don&#x27;t have &quot;Philosophies.&quot; They may have design elements that reflect or support the philosophies of their designers(e.g. functions as first class citizens), but the author doesn&#x27;t provide critique on what they believe these to be instead looking at a few std lib functions that some yahoo implemented.<p>Look at something like java. Java has a core set of design elements. It was built by a person with some philosophical leanings(&quot;Everything is a class&quot;, &quot;Checked&#x2F;Unchecked exceptions being different things&quot;, &quot;no first class functions&quot;) Then it has standard libraries(i&#x2F;o, collections, threading&#x2F;synchronization) each of these was built by a person with there own set of biases and understandings. The original Collections implementation has lots of mutable data structures then later Josh Bloch decided that he didn&#x27;t like that anymore and stopped adopting &quot;immutability&quot; as core design philosophy. Immutability was not previously considered important when evaluating a java implementation. What you end up with is a mish mash of different opinions that only gets more different as you go.<p>Some 3rd party libraries like Guava didn&#x27;t jibe with the Philosophical leanings of the language itself and looked for work arounds. They went as far as to create their own implementation of functions as a first class citizen in a language that was expressly designed to omit them. Some commonly used Android libraries do this as well.<p>My point here is that &quot;language&quot; can mean lots of things. It can refer to the language itself, its run time, the syntax+runtime+community. What is idiomatic and on, on, on.  People and groups of people have the philosophies. I&#x27;d like to see the author point to something a little more critical about the differences between these two concepts. This premise is a little muddled.