首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >一种纯粹面向对象的语言应该是什么样子才能被“广泛”使用?

一种纯粹面向对象的语言应该是什么样子才能被“广泛”使用?
EN

Stack Overflow用户
提问于 2018-09-12 00:29:18
回答 1查看 126关注 0票数 0

我所知道的最面向对象的语言是Smalltalk。与其他语言相比,它的独特之处在于将一切都定义为对象。

然而(如果我们不考虑历史事件),这种特殊性不是使它成为一种比大多数其他面向对象语言(Java、C++、Python...)更少使用的语言吗?

今天最常用的面向对象语言并不是纯粹的面向对象语言,所以学习它们(如果不考虑范例,它们与C语言并没有那么大的不同),使用外部元素(API,C库,DLL,...),或者使用类创建自己的对象(然后我们将讨论面向类的编程)是相对容易的。

因此,我的印象是,大多数面向对象的语言并没有遵循原始OOP的“哲学”(我错了吗?)。

然后我想知道,纯面向对象的语言是否可以像这种范例中的大多数语言一样广泛使用,以及应该有哪些特征使这种语言不会与其环境隔离(例如,不可能在Smalltalk中使用C库)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-12 08:17:06

在现代的Smalltalk中,连接到C并不难。还有其他纯OO语言(Erlang、CLOS、Scala等等),所以我不认为纯洁性是个问题。

问题在于: Smalltalk不仅仅是一种语言。语法是次要的。

Smalltalk的卓越生产力来自于它是一个活动的对象环境。编程的方法是:在内存中创建类对象,将方法对象添加到内存中,然后创建实例,反复重塑类和实例的形状,直到拥有执行所需操作的对象程序集为止。这些对象的二进制快照存储在映像中。要在以后再次使用它们,将恢复快照。

源代码本身是次要的,它只是一个操作对象的接口。您输入的定义类的源代码甚至没有存储,类对象在需要时生成它。类似地,保留方法的源代码只是为了保存格式、注释和变量名,行为的主要定义是方法对象。

这使得它很难与其他语言进行比较。主流程序员认为文本文件中的源代码是编程的本质,这让他们感到非常陌生。这就是为什么今天没有更广泛地采用Smalltalk的主要原因。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52280409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档