Generally, I have noticed the trend that a software which is praised as superior often comes with a worse user interface, or ignores some other part of user experience.
Consider an equilibrium of various software products none of which are strictly superior or inferior to each other. Upon hearing that the best argument someone can make for software X is that it has feature Y (which is unrelated to UI), should your expectation of good IU go up or go down?
(To try it a different way: suppose you are in a highly competitive company like Facebooglazon and you meet a certain programmer who is the rudest most arrogant son of a bitch you ever met—yet he is somehow still employed there. What should you infer about the quality of the code he writes?)
This is a nice example how with different models the same evidence can be evaluated differently.
My model is that programming languages are used for making programs, and for languages used in real production part of that effort goes to the positive-feedback loop of creating better tools and libraries for given language. So if some language makes the production easier—people like Paul Graham suggest that Lisp is 10 times more productive than other languages --, I would expect better everything.
In other words, the “equilibrium of various software products none of which are strictly superior or inferior to each other” is an evidence against the claim that a language X is 10 times more productive than other languages. Or if it is more productive in some areas, then it must have a huge disadvantage somewhere else.
suppose you are in a highly competitive company like Facebooglazon and you meet a certain programmer who is the rudest most arrogant son of a bitch you ever met—yet he is somehow still employed there. What should you infer about the quality of the code he writes?
Fast, reliable, undocumented, obfuscated. :D
Or he is really imployed for some other reason than writing code.
In other words, the “equilibrium of various software products none of which are strictly superior or inferior to each other” is an evidence against the claim that a language X is 10 times more productive than other languages. Or if it is more productive in some areas, then it must have a huge disadvantage somewhere else.
Yup! It’s the old ‘if you’re so good, why aren’t you rich’ question in more abstract guise. Of course, in the real world, new languages are being developed all the time, so a workable answer is already ‘I’m not rich because I’m so new, but I’m getting richer’. This is the sort of answer an up and coming language like Haskell or Scala or Go can make.
Consider an equilibrium of various software products none of which are strictly superior or inferior to each other. Upon hearing that the best argument someone can make for software X is that it has feature Y (which is unrelated to UI), should your expectation of good IU go up or go down?
(To try it a different way: suppose you are in a highly competitive company like Facebooglazon and you meet a certain programmer who is the rudest most arrogant son of a bitch you ever met—yet he is somehow still employed there. What should you infer about the quality of the code he writes?)
This is a nice example how with different models the same evidence can be evaluated differently.
My model is that programming languages are used for making programs, and for languages used in real production part of that effort goes to the positive-feedback loop of creating better tools and libraries for given language. So if some language makes the production easier—people like Paul Graham suggest that Lisp is 10 times more productive than other languages --, I would expect better everything.
In other words, the “equilibrium of various software products none of which are strictly superior or inferior to each other” is an evidence against the claim that a language X is 10 times more productive than other languages. Or if it is more productive in some areas, then it must have a huge disadvantage somewhere else.
Fast, reliable, undocumented, obfuscated. :D
Or he is really imployed for some other reason than writing code.
Yup! It’s the old ‘if you’re so good, why aren’t you rich’ question in more abstract guise. Of course, in the real world, new languages are being developed all the time, so a workable answer is already ‘I’m not rich because I’m so new, but I’m getting richer’. This is the sort of answer an up and coming language like Haskell or Scala or Go can make.