我是交流#开发者,我的大多数朋友都比我聪明,他们嘲笑我,开始用smalltalk向我发誓.我想学习这一点,以便我可能更好地受到侮辱他们的侮辱......并且可能在这个过程中学到一两件事.
那么,在windows环境中关于smalltalk的最佳起点是什么?
我最近花了一些时间熟悉Smalltalk和Seaside.我来自Java EE世界,你可以想象,围绕一些Smalltalk概念进行思考是很困难的.:)
目前,我正在努力了解数据持久性最常见于Smalltalk世界.我作为Java程序员的假设是使用RDMS(即MySQL)和ORM(即Hibernate).据我所知,Smalltalk不是这种情况(至少使用Hibernate).我不一定在寻找与Java EE中的方式最接近的方法.
将数据保存到图像,对象存储或RDMS中是最常见的吗?Smalltalk应用程序使用RDMS甚至是典型的吗?
我知道这里没有一个通用的方法,正确的持久性策略将取决于应用程序的需求(多少数据,并发等).什么是一个好的方法,可以开始简单,但也可以扩展?
我观看过Avi Bryant讨论他用于持久化和扩展DabbleDB的策略的视频.根据我的理解,客户的数据被保存在图像中(每个客户一个图像).这在他的用例中起作用,因为客户不必共享数据.这是一种常见的方法吗?
希望我没有制作这个TLDR.非常感谢Smalltalk人员在我之前的问题中提供的见解.非常感谢.
在smalltalk中,您可以将世界状态保存到图像文件中.我认为这与Smalltalk自身"序列化"的能力有关 - 也就是说,对象可以生成自己的源代码.
1)这是一个准确的理解吗?
2)将这种能力添加到现代语言中的挑战是什么(非lisp,显然)?
3)"序列化"是正确的词吗?什么是正确的行话?
在Smalltalk中,方法体中经常有两个术语:self和yourself.
他们之间有什么区别?
我最近在Seaside + Squeak开发了一个Web应用程序,并发现它是一种美妙的体验.Seaside真的比其他所有框架都要强大,我觉得我正在更高层次的抽象工作(在HTTP请求/响应周期和其他框架让你处理的HTML模板之上).
那就是说,我对Seaside组件有点困惑.我最近不得不在组件上显示对象列表(类似于stackoverflow首页).起初我将每个对象都设置为一个组件(WAComponent的子类),但这被证明是非常浪费的,我必须在父组件中动态设置#children才能使其工作.然后我尝试使它们成为渲染对象(不是WAComponent的子类的对象,并使用renderOn渲染:而不是renderContentOn:,就像组件一样).这工作正常,但现在他们无法再像组件那样访问会话对象中的全局状态(使用#session).然后我发现了"WACurrentSession value",它赋予任何对象访问当前Seaside会话对象的权限.我现在能够使它们成为渲染对象.另外,我发现我可以将很多其他更小的组件重写为渲染对象.
除了需要调用/回答或回溯状态外,还有哪些其他原因可以在渲染对象上使用组件?
三个Smalltalk Web应用程序框架之间有什么区别?
一些起点:
我只是想确定哪种框架适合各种应用程序.
我只是在寻找将Self与Smalltalk区分开来的原因.
这不应该是大猩猩与鲨鱼的问题.我不是在找一个更好的理由,我只是把一个定义为与另一个不同的东西感到困惑.在阅读了大约2个小时后,它们对我来说似乎都是同一种语言,并且用一些代码捣乱(旁白:我终于理解了Smalltalk版本的"Everything is a object".我必须说,它真是太棒了.哈哈!我认为C#已经钉了......但它甚至没有接近这个!XD)
我在某个地方读过的随机内容,过去几年的某个时间:
所以Squeak/Pharo支持Traits和Newspeak有Mixins.有什么不同?特质没有instVars但是Mixins有吗?
我正在尝试学习一些Smalltalk.首先发现的是Squeak,但由于安全问题,它已经从Gentoo ebuild树中删除了,所以我决定找一个替代品.
然后我发现了Pharo通过Seaside项目,在我下载了Pharo 1.0软件包之后,里面竟然有一个SqueakVM!
所以,我的问题是:Pharo只是重新包装/重塑吱吱声吗?那些Squeak(捆绑不安全的库)的安全问题是否仍然适用于Pharo?
谢谢!
我试着对这个问题非常谨慎.Smalltalk中至少有三种不同的Web开发框架.最突出的似乎是Seaside,但也有AIDA/Web和Iliad.
他们似乎非常相似,但这种印象可能是错误的.我想知道是谁尝试过不同的工具,可以分享不同软件包的优缺点.
更具体的问题是,你知道吗,让我们说在预订领域的任何软件都选择使用三个(或其他)Web开发框架中的任何一个.
这是另一个问题.成熟度和兼容性如何?哪个框架可以判断为"最"稳定?
smalltalk ×10
squeak ×4
pharo ×3
seaside ×3
persistence ×2
aida ×1
newspeak ×1
oop ×1
paradigms ×1
selflanguage ×1
visualworks ×1