Automated discovery is a branch of machine learning. Nobody is denying learning is important, and it is indeed one of the goals of the cyc project. But people usually fail to realize how much they need to know before they can even start learning non-trivial things (As Lenat put it, "learning occurs at the fringe of what one already knows.") -- as human beings, a large part of our abilities, e.g., to recognize an object, to differentiate colors, are innate. Computers don't have such luxury, so they need to be hand-fed with such concepts. What cyc is trying to do is to accumulate the critical mass of core of knowledge on which interesting learnings can occur.
So there, I hope I haven't misrepresented their position too badly.
I think you're guilty of your own accusation of attacking strawman.
Here is the author's concept of "power":
3. All languages are equally powerful in the sense of being Turing
equivalent, but that's not the sense of the word programmers care about.
(No one wants to program a Turing machine.) The kind of power programmers
care about may not be formally definable, but one way to explain it would
be to say that it refers to features you could only get in the less
powerful language by writing an interpreter for the more powerful language
in it. If language A has an operator for removing spaces from strings and
language B doesn't, that probably doesn't make A more powerful, because
you can probably write a subroutine to do it in B. But if A supports, say,
recursion, and B doesn't, that's not likely to be something you can fix by
writing library functions.
Your point that some language constructs (per se) are mutually incomparable is a valid one; but this doesn't mean they can't be compared on other dimensions, such as economy of expression.
Not to mention not all people buy the "strong-yet-polymorphic typing" business. In Common Lisp, I could write my program in the most concise way, without worrying about type. But I still have the option to annotate sections of my code with type information for clarity, safety, and efficiency purposes. This approach makes much more sense to me, especially when you take into account the 80/20 rule.
So there, I hope I haven't misrepresented their position too badly.
But I believe there is hope: just look at Linux! Hasn't the same argument been used against the adoption of Linux?
Not to mention not all people buy the "strong-yet-polymorphic typing" business. In Common Lisp, I could write my program in the most concise way, without worrying about type. But I still have the option to annotate sections of my code with type information for clarity, safety, and efficiency purposes. This approach makes much more sense to me, especially when you take into account the 80/20 rule.