问题标签 [smalltalk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3151 浏览

.net - .NET 上有 Smalltalk 吗?

.NET 运行时是否有任何可用的 Smalltalk 实现?

0 投票
5 回答
1217 浏览

inversion-of-control - Smalltalk 和 IoC

我看到很多 .Net 和 Java 的 IoC 框架。有谁知道为什么 Smalltalk 没有等效的框架。这更像是一个哲学问题。我想知道 Smalltalk 的做事方式是否有某些东西排除了拥有 IoC 框架的必要性。

0 投票
14 回答
1184 浏览

compiler-construction - 新的动态编程语言的后端选择?

我一直在开发一个 Smalltalk 变体,只是为了好玩,我想知道在针对后端时,stackoverflowers 的伙伴会选择什么。这些是我目前的考虑:

.NET、JVM:这两个 VM 主要用于静态类型语言,我认为很难针对像 smalltalk 这样的动态语言。

Python(作为源代码):似乎是最简单的方法。此外,如果我可以发出 Python 字节码会更好,但它没有像其他 VM 的 AFAIK 那样被很好地记录(需要挖掘 Python 的源代码以获取详细信息!)。

自制口译员:不可能,因为这不好玩:-)

LLVM、NekoVM、Parrot 是我正在检查的其他选项。您对此有何看法?

0 投票
6 回答
8618 浏览

random - 如何在 Smalltalk 中生成一个范围内的随机整数?

我目前正在上的一门课要求我们在 smalltalk 中完成所有编码(这是一门设计课)。在我们的一个项目中,我想做一些事情,但很难找到如何去做。似乎大多数人所做的只是修改他们自己的 smalltalk 版本来做他们需要它做的事情。我不能这样做,因为当我的教授没有与我相同的内置方法时,这会导致我的教授的计算机出现错误。

这是我想要做的:

随机数。我需要创建一个介于 1 到 1000 之间的随机数。现在我正在通过这样做来伪造它

这给了我一个 0 到 1000 之间的数字。有没有办法在一个命令中做到这一点?如同

和/或语句。这让我大吃一惊。我尝试了几种不同的配置

所以我用嵌套的 ifTrue 语句来伪造它:

在smalltalk中做和/或随机的正确方法是什么?

0 投票
3 回答
1434 浏览

java-me - J2ME 口齿不清?

如果存在运行在 J2ME 上的 lisp,那么在移动设备(而不是为移动设备)上编程似乎会更容易。

你知道任何(最好是开源的)lisp/smalltalk 应用程序吗?我在网上搜索,但找不到有效的 J2ME lisp。移植到J2ME有那么难吗?

谢谢

0 投票
6 回答
20832 浏览

smalltalk - 早期绑定与后期绑定:比较优缺点是什么?

在讨论计算机语言的演变时,Alan Kay 说他的 Smalltalk 的一个最重要的属性是后期绑定。它赋予语言可塑性和可扩展性,并允许随着时间的推移重构不适当的耦合。你同意?早期绑定是否有补偿优势来解释为什么它似乎是两种范式中可以使用的域的主导?

我个人的经验(不够广泛或不够权威),基于使用 javascript、jQuery、jsext、actionscript、php、java、RoR 和 asp.net 实现 Web 应用程序,似乎表明后期绑定和膨胀之间存在正相关关系减少。我确信早期绑定有助于检测和防止一些类型安全错误,但自动完成和良好的 IDE 以及一般的良好编程实践也是如此。因此,在我的风险规避方面恢复我的理性观点之前,我倾向于让自己支持后期绑定方面。

但是我真的对如何平衡权衡没有很好的理解。

0 投票
2 回答
5357 浏览

html - 什么是 VHTML?这个怎么运作?我在哪里可以找到有关它的信息?

下面的代码会继续很多行,直到它以预期的 /veotherwise /vechoose 结尾。不久前,我开始在一家开发公司工作,他们使用这个名为 vhtml 的 html 版本。我在网上搜索过,但它为 vhtml 带来了不同的定义。我在 Joomla 中看到了一些关于 vhtml 的帖子,但它们看起来不像下面的代码。我期待获得有关如何理解该语言的指示。

它看起来与普通的 html 非常相似,甚至具有非常相似的命令,或者可能是 smalltalk。但我只能破译它。任何帮助将不胜感激。如果您想了解更多信息,请发表评论。

0 投票
1 回答
174 浏览

x86 - 与 smalltalk 对象的动态链接

我计划在我的 smalltalk 方言中实现动态链接。问题在于让消息传递与动态链接一起工作。

消息传递本身就是这么简单:将带有选择器的消息发送给对象,对象从它的协议中选择与选择器匹配的方法,然后处理与消息绑定的数据并返回结果。

在基于图像的实现中,可以以非常直接的方式实现消息传递 - 您的消息选择器可以只是从全局符号表转换而来的整数,您的协议可以只是其中包含整数和地址的哈希表。假设它全部用该全局符号表编译成一个大图像。

在动态链接中,您不能假设符号表指向正确的选择器。您可以使用字符串作为选择器来解决问题,但您注定语言会变慢。

有一种方法,它涉及复制协议和选择器表,以便进程正确地重新定位它们。但这听起来像是一项相当多的工作。

有没有更好的方法来解决这个问题?另外,动态链接值得吗?如何实现选择器和协议的重定位?

0 投票
1 回答
4669 浏览

singleton - smalltalk 单例模式:如何初始化实例变量?

我无法让单例模式在 smalltalk 中初始化实例变量。(这里是另一个实现的链接以进行澄清)

这就是我所拥有的:

最后一行 (UniqueInstance: instanceVar := Object new.) 不起作用,但这基本上就是我需要做的:在将 UniqueInstance 返回给调用者之前将 instanceVar 实例化为对象。

请注意,此“新”方法用作类实例化,并且库是 UniqueIsntance(所需类的实例)的实例变量。

谁能指出我正确的方向?

0 投票
8 回答
2137 浏览

smalltalk - Smalltalk 学习项目:有什么推荐吗?

目前我正在学习 Smalltalk。我这样做是因为我想在一周内尽可能多地学习一种新的编程语言,以提高我的技能。下周我会尝试别的。

到目前为止,我能够阅读 Smalltalk 代码,但我的写作经验非常有限。您能否向我推荐任何可以帮助我在短时间内更好地理解这种语言的小型项目?