Pattern matching has nothing to do with imperative programs and Haskell is not original for having it; it's been around since the 70s in ML. I would also argue that pattern matching has been realized in many popular languages (Scala, Swift, Ocaml, Rust ...)
You could argue that "Monads end up being used mostly as a vehicle to embed imperative programs", but pattern matching is a different beast. It's a joyful way to program, even for an imperative hacker like me.
I guess I just don't get the methodology behind the popularity list.
Also, my bet is that Lisp/Scheme would have been even more popular if there had just been one implementation as opposed to a confusing constellation of standards and different implementations. The language is easy to implement so the implementor:user ratio is too damn high.
If a language is effective for its user(s), then is it a "success"?
Is there some minimum number of users that delineates a threshhold for "success/failure"?
What about DSL's that might have a limited number of users?
I like that the author recognized the "success" of shell and C as tied to the "success" of UNIX . But he forgot others, such as sed.
Some my favorite and most powerful languages are not widely used. I have no idea what "succeed" means to others in the context of programming languages, but these languages have "succeeded" for me. They get the job done. Efficiently.
Nothing has surpassed Snobol for pattern matching. (If you are in doubt, post a pattern matching challenge and let's see how the solutions in various languages stack up.)
Meanwhile other implementations of pattern matching have become more popular (=successful?)
Perhaps the word "succeeded" here simply means "succeeded in becoming popular?" If so, then I apologize for the gibberish.
aka web-dev-world. Where the lowest common denominator has more foot-guns than C. Worse, the footgun often won't go off directly when you pull the trigger, but some time later, perhaps when it is aimed at your face.