2010-04-28 11 views
7

Mi amigo se hizo la siguiente pregunta: ¿cuál es la diferencia entre el lenguaje de objetos y el lenguaje orientado a objetos?Pregunta de la entrevista: diferencia entre el objeto y los lenguajes orientados a objetos

Es una pequeña pregunta ininteligible. ¿A qué se corresponde el término «lenguaje de objeto»? ¿Eso quiere decir «pura» lenguaje orientado a objetos, al igual que el Wikipedia article dice:

Idiomas llamados OO "puro" lenguas, porque todo en ellos es tratado constantemente como un objeto, a partir de primitivas como personajes y puntuacion, toda el camino hasta clases enteras, prototipos, bloques, módulos, etc. Fueron diseñados específicamente para facilitar, incluso hacer cumplir, los métodos OO. Ejemplos: Smalltalk, Eiffel, Ruby, JADE, VB.NET.

+13

Pregunta de entrevista Lame. – Stephen

+0

Lo que yo pensaría como lenguaje de objetos es en qué archivos ".o" o ".obj" están escritos. Sospecho que esto no es lo que el entrevistador quiso decir. –

+0

@David Thornley: ¿no serían los archivos objeto en lenguaje de máquina? – Stephen

Respuesta

17

A menos que la persona sea entrevistada por un filósofo hablando de un metalenguaje abstracto, o un ingeniero de la vieja escuela hablando del resultado final que produce un compilador, la pregunta suena como la masturbación semántica por alguien que no habla el mismo idioma el resto de la industria

En otras palabras, la distinción es lo que el entrevistador quiere que sea. (O tal vez la pregunta fue mal interpretada). No creo que la mayoría de los desarrolladores piensen que los términos están lo suficientemente conectados para ser dignos de comparación y contraste.

La respuesta correcta probablemente sea del estilo de un psicoanalista: ¿Qué crees que significa? Haga preguntas aclaratorias para asegurarse de comprender lo que el entrevistador está haciendo y asumiendo. Entonces vete y no llames al empleador porque no quieres trabajar allí.

+5

+1 para la masturbación semántica – Elijah

+0

Supongo que algunos de la vieja escuela Smalltalker quería que el entrevistado dijera que hay * O * idiomas * pure * y * unpure * Por mucho que me guste OO y piense que esta distinción es importante, la terminología vaga es una mala excusa, mejor podría ser una pregunta sobre los beneficios de * pure * OO. –

+0

Estaría dispuesto a una discusión abstracta, astronauta de la arquitectura de la pureza OO en una entrevista, porque revelaría mucho más sobre el candidato (y probablemente el entrevistador), pero pidiendo a la gente que compare y contraste un término de amplio uso con uno que nadie usa es una carga diferente por completo. – JasonTrue

0

Sospecho que el entrevistador estaba buscando una distinción entre object-based y object oriented.

Esto es, por ejemplo, utilizando estructuras en C, sin polimorfismo ni herencia.

La diferencia entre los dos para C y C++ se resalta here.

+0

Hmm, pensé que los lenguajes de programación orientados a objetos podrían subdividirse, entre otros, en basados ​​en clases y basados ​​en prototipos, sin embargo, el artículo de Wikipedia basado en objetos no corresponde ... –

4
  • El término objeto no tiene un funcionario, ampliamente utilizado o la definición de otra manera bien conocida.
  • El término objeto lenguaje no tiene una definición oficial, ampliamente utilizada o conocida.
  • El término orientado a objetos tiene una definición oficial, pero eso generalmente se ignora por completo, no se usa ampliamente ni es muy conocido.
  • El término lenguaje no tiene un solo funcionario, ampliamente utilizado o la definición de otro modo conocido, por lo general se entiende
    • un lenguaje en el que la programación orientada a objetos es posible o
    • orientado a objetos
    • un lenguaje en el que sólo se programación orientada a objetos es posible o
    • un lenguaje en el que la programación orientada a objetos es fácil o
    • un lenguaje en el que la programación orientada a objetos es ea programación SY y no orientados a objetos es duro o
    • un lenguaje en el que todo es un objeto o
    • cualquier combinación de los anteriores o
    • algo completamente diferente (y tenga en cuenta que, en cualquiera de los anteriores se puede sustituir definiciones arbitrarias para "objeto" y "orientado a objetos")

En resumen: la pregunta de la entrevista podría traducir como "¿cuál es la diferencia entre esta cosa que no voy a decirle lo que es y esa otra cosa, tampoco voy a decirte lo que es? "

+1

De acuerdo. Suena como «Ve allí, no sabes dónde y tráelo, no sé qué». – 0x2D9A3

Cuestiones relacionadas