¿Por qué la afirmación de que c # people no obtiene programación orientada a objetos? (vs orientado a la clase)

Esto me llamó la atención anoche.

En la última ALT.NET Podcast Scott Bellware analiza cómo, a diferencia de Ruby, lenguajes como c #, java et al. no están realmente orientados a objetos, sino que optan por la frase "orientado a clases". Hablan sobre esta distinción en términos muy vagos sin entrar en muchos detalles o discutir mucho sobre los pros y los contras.

¿Cuál es la verdadera diferencia aquí y cuánto importa? ¿Qué otros lenguajes están "orientados a objetos"? Parecía bastante interesante, pero no quiero tener que aprender Ruby solo para saber qué pasa si me falta algo.

Actualiza: Después de leer algunas de las respuestas a continuación, parece que las personas generalmente están de acuerdo en que la referencia es escribir a los patos. Sin embargo, lo que no estoy seguro de entender es la afirmación de que esto finalmente cambia mucho. Especialmente si ya está haciendo tdd adecuado con acoplamiento flojo, bla, bla, bla. ¿Alguien puede mostrarme un ejemplo de algo maravilloso que pueda hacer con ruby que no pueda hacer con c # y que ejemplifique este enfoque diferent

Respuestas a la pregunta(14)

Su respuesta a la pregunta