Legos and Object Oriented Programming

What do Legos have in common with Object Oriented Programming? According to

, those who are at home with Legos are most likely to fully embrace Object Oriented Programming principles. There the author defines three categories for programming languages:
  1. Object Oriented (Legos, tinker toys, woodworking, etc.)
  2. Function Oriented (Geometry)
  3. Math Oriented (Algebra)
I couldn't help but start to think what languages would fit into which categories. Below is a brainstorm--mind you I haven't used most of these languages :)
  • Object Oriented--C++, C#, Java, VB.NET
  • Function Oriented--C, Perl, PHP
  • Math Oriented--Haskel, Scheme
  • Object-Function Hybrid--JavaScript
  • Object-Math Hybrid--Ruby
And it seems that as languages evolve they sometimes cross into another category. I mean Perl and PHP have evolved to include more and more Object Oriented patterns.

As far as the larger question posed by the .Net Answers, I disagree that we should push languages that make programmers feel at home.

I believe that we must always push forward with new programming concepts to make progress. Sitting pretty with something that works in "the real world" to me means catering to lazyiness.

There is no one-true way: Functions, Math, Objects, Aspects, etc. are not the end all of programming. Check out Wikipedia's list of programming paradigms. Check out the E programming language with a mind for asynchronous p2p operations including the Eventual Operator (thus the name E) which allows making intuitive synchronous programs in an asynchronous world.
Wikipedia has a more comprehensive list of programming languages and their categories.