2010-04-28 126 views
7

我的朋友被问到以下问题:面向对象语言与面向对象语言有什么区别?面试问题:面向对象语言与面向对象语言的区别

这是一个有点难以理解的问题。术语“对象语言”对应于什么?这是否意味着«纯»面向对象的语言,如Wikipedia article说:

语言称为“纯”面向对象的语言,因为在他们的一切始终视为一个对象,从原语如字符和标点符号,都到整个类,原型,块,模块等的方式。它们专门设计用于促进,甚至实施面向对象的方法。示例:Smalltalk,Eiffel,Ruby,JADE,VB.NET。

+13

拉默面试问题。 – Stephen 2010-04-28 18:53:13

+0

作为对象语言我会想到的是写入“.o”或“.obj”文件。我怀疑这不是面试官的意思。 – 2010-04-28 19:01:10

+0

@David Thornley-不会是机器语言中的对象文件吗? – Stephen 2010-04-28 19:03:48

回答

17

除非这个人接受了哲学家谈论抽象元语言的问题,还是一位谈论编译器产生的最终结果的老校工程师,这个问题听起来像是一个不会说同一种语言的人的语义手淫该行业的其余部分。

换句话说,这个区别就是面试官想要的。 (或者这个问题听错了)。我不认为大多数开发人员会认为这些条款足够有价值,可以进行比较和对比。

正确的回应可能是心理分析师的风格:你认为这意味着什么?要求澄清问题以确保你了解面试官所要求和假设的内容。然后离开,不要再打电话给雇主,因为你不想在那里工作。

+5

+1为语义手淫 – Elijah 2010-04-28 22:10:38

+0

我猜一些老派Smalltalker希望受访者说有* pure *和* unpure * OO语言......尽管我喜欢OO并认为这种区别很重要,但模糊的术语是不好的借口,更好的可能是关于* pure * OO。 – 2010-04-28 22:50:15

+0

在采访中,我将全部都是抽象的,建筑宇航员对OO纯度的讨论,因为它会揭示更多关于候选人(也可能是面试官)的信息,但要求人们对广泛使用的术语进行比较和对比没有人使用的是完全不同的负担。 – JasonTrue 2010-04-28 22:52:13

0

我想怀疑面试官正在寻找区别object-basedobject oriented

这是,例如,使用C中的结构,没有多态性或继承。

C和C++两者之间的差异突出显示为here

+0

嗯,我认为面向对象的编程语言可以细分为基于类和基于prorotype的,但基于对象的维基百科文章那些不符合... – 2010-04-28 22:51:43

4
  • 术语对象没有官方的,广泛使用的或其他众所周知的定义。
  • 术语对象语言没有官方的,广泛使用的或其他众所周知的定义。
  • 术语面向对象确实有一个正式的定义,但通常被完全忽略,没有被广泛使用,否则就是众所周知的。
  • 术语语言不具有单官,广泛应用于或以其他方式众所周知的定义,它通常被理解为是指
    • 其中面向对象的编程是可能的,或者
    • 语言面向对象的
    • 其中面向对象的编程是可能的,或者
    • 其中面向对象的编程是容易或
    • 其中面向对象的编程是一个EA语言的语言一种语言SY和非面向对象的程序设计是硬或
    • 中一切都是对象或
    • 以上或
    • 一些完全不同的任意组合语言(请注意,在上述任何可以替代对于“对象”和“面向对象”)

总之任意定义:面试问题大致可以翻译为“什么,我不会告诉你它是什么这个东西之间的差异,那另一件事我也不会告诉你它是什么?“

+1

同意。听起来像“去那里,不知道在哪里,带来了什么,不知道什么”。 – 0x2D9A3 2010-04-29 07:00:44