Earlier quoted context omitted.
http://www.paulgraham.com/hundred.html
As much as I like pg's essays generally I don't particularly like his essays on hardcore programming topics like language design. Maybe it is because I am inexperienced in most of the topics he discusses in his essays but I am quite experienced in programming. Some reactions to the essay: "I predict a similar fate for Java" It is ridiculous that pg once said he does not know Java at all. Yet he expresses his opinions…
These are in fact not deep language design topics. Most of what he discusses are not core features of 'serious' languages in 2010: they are already mostly library stuff.
For example let's take Scala. Treating strings as lists? Create a Seq descendant string class, and create implicit conversion from the normal String to it (and vica versa): and you can use it in scala.
Arrays as Hashtables? The syntax is already the same in Scala, they even have common traits (kind of interfaces).
Numbers as lists? Also library implementation detail. Create a Seq based number class and define implicit conversion for it, and you are done. Defining operator behaviour for these 'numbers' is possible in Scala.
The deeper questions are in my opinion: static vs. dynamic. typing. In case of static typing the question is what kind of type system we have?(Scala's is complex but powerful.) What kind of type inference we have? How felxible/convenient the syntax is? Does object orientation makes sense, what kind of (multiple) inheritence we support? Purely functional or enable imperative programming style? (Imperative programming is not just how the computer 'thinks', it is a 'natural' description of some concepts. (Like an instruction manual.))