3 ms·
...IQ tests and college entrance exams like the SAT and ACT are essentially selecting and rewarding “smart fools”... A lot of coding pathologies and programmin
by stcredzero 9y ago
...IQ tests and college entrance exams like the SAT and ACT are essentially selecting and rewarding “smart fools”...
A lot of coding pathologies and programming language pathologies seem to be the product of such "smart fools." (Mea culpa!) There are many things which seem like good, elegant ideas, which don't work out well in practice.
Come to think of it, a big chunk of, "The devil is in the details," can be translated to, "The hardest problems are the emergent problems."
- dmix 9y ago> There are many things which seem like good, elegant ideas, which don't work out well in practice. Do you have any good examples of this in programming? I'm starting to see a lot of the great parts of languages like Haskell, Erlang, Clojure, and other FP languages starting to flow upwards into more popular languages or in new more accessible forms (Elixir, Swift, Kotlin, Rust). It's possible that many of the good, elegant ideas aren't exactly the wrong solution but are stuck in less accessible, fringe, or merely unpopular languages/platforms. Which might be more about the nature of how languages are adopted rather than the individual attributes and qualities of the language.
- stcredzero 9y agoDo you have any good examples of this in programming? The CORBA "sea of objects" concepts infesting Linux distributions and making everything sinfully slow. (Sometime just after Red Hat 7.) My own Smalltalk meta-level "browser helper" wrappers in the "new" ObjectStudio Smalltalk browser. (For making the browser extensible, great, but didn't really have to be instantiated until actually operating on the class.) The Smalltalk-inspired implementation of "everything is an object" by making everything a pointer to a different struct. (Not good for cache coherence!) I'm starting to see a lot of the great parts of languages like Haskell, Erlang, Clojure, and other FP languages starting to flow upwards into more popular languages or in new more accessible forms (Elixir, Swift, Kotlin, Rust). So it goes. Same thing happened with many OOP concepts -- both good and bad. I'm not saying that everything that rises is scum. The cream also rises. I did not say that all things which seem like good, elegant ideas are actually programming pathologies in disguise. It's possible that many of the good, elegant ideas aren't exactly the wrong solution but are stuck in less accessible, fringe, or merely unpopular languages/platforms. And some of the good, elegant ideas turn out to be bad ones when you start to scale in different ways.
- bluGill 9y agoJava (1.0) had checked exceptions, if you threw something you had to say what it was in your interface. It Seemed like a good, elegant idea: if I use your API I know exactly what exceptions I need to watch for. It works well in trivial programs, but in anything larger it fails because adding a new exception to something core requires thousands of modifications to the API specification for an exception that I will catch only in a few places. I think Java has made some improvements on this since 1995, but I haven't done java since then so I don't know what.
- watwut 9y agoHuh? Checked exceptions are great tools for API and are still in use - especially in large systems. They fail within small modules, because they are less practicall in that context.