我的问题是简单!

  1. 你会开始学习一般如果你有时间吗?为什么?为什么不呢?
  2. 你已经知道一般?为什么你会推荐一般?为什么不呢?

亲我一颗红宝石上轨程序员和我真的很喜欢它。然而,我想大约一般,因为我读了各种博客和人民呼吁红宝石的东西像"一般光"。第二个原因为什么我感兴趣的一般是 海边.

也许有人已经提出了同样的过渡之前?

编辑: 实际上,什么让我最兴奋的一般/海滩是下一集的WebDevRadio: 集52:兰道尔Schwartz在海滨(除其他事项)

有帮助吗?

解决方案

如果你喜欢红宝石,你可能会喜欢的一般.请参考的海滨已经移植到 宝石虚拟机, 这是他们的宝石/S oodbms缺乏.这有好多线程的支持,比红宝石,所以它是一个更好的后端为一个高容量的系统。这可能是一个很好的理由采取近距离看看。

原因,学习一般:

  • 这是真的,真的很好的编程的环境。一旦你得到了你的周围的头(这往往是一位文化冲击对人民使用C++、Java)你就会发现它是一个真正良好的工作环境。甚至一个真的蹩脚的一般喜欢的老Digitalk那些我用的是一个非常愉快的系统使用。许多老XP和O-O师喜欢的类型 肯特*贝克马丁*福勒 切断他们的牙齿上一般的日子 并且有时可以听到向往的好日子在公共 (谢谢弗兰克*希勒的引文,+1)灵活的发展起源于这种平台。

  • 这是一个最有生产力的发展平台的历史。

  • 几个成熟的实现方式存在,并且有是一个令人惊讶的大型代码的基础。在这一点得到了相当时尚在金融市场的圈子里,开发者的生产力和向市场的时间是一个相当大的交易。直到1990年代中期,它或多或少的唯一城镇(与可能的例外LIST)如果你想要一个商业支持高级别的语言,这是适用于应用程序开发。

  • 部署是很容易,只是下降的图像文件在相应的目录。

  • 不是一个真正的原因,但是 四人帮的书 使用一般相当少数的例子。

原因不学习一般:

  • 它的东西的一个利基市场。你可能很难找到工作。但是如果你正在产生某种 .com应用你自己的服务器 这可能不是一个问题。

  • 它看作是一个遗留系统通过许多。有相对较少的新发展平台(虽然海边似乎是驱动一位文艺复兴时期).

  • 它往往不能很好地发挥与传统来源的控制系统(至少作为的早期90年代中期,当我使用它)。这可能或不可能仍然是这种情况。

  • 它是有点狭隘和喜欢玩由本身。蟒蛇或红宝石是建立对于整合从地上爬起来,往往会更加混杂,因此更容易与第3党的软件。但是, 各种其他更多的主流 系统遭受这种类型的与世隔绝或大或小的程度,似乎并不妨碍它们使用太多。

其他提示

好吧,既然你提到了我的名字,我觉得我应该参与其中。

正如我在播客采访中所说,并且我已经在我的博客中反复证明了 http:// MethodsAndMessages。 vox.com/ ,这是“ smalltalk年份”。在过去的十个月里,我现在已经完成了Smalltalk的宣传,我可以看到它真的发生了。越来越多的客户转向Smalltalk和Seaside,Smalltalk供应商正在努力捕捉这种新的关注。正在计划更大规模的Smalltalk会议。正在发布更多招聘信息。正在制作更多博客文章。

如果你今天转向Smalltalk,你并不孤单。还有很多其他人也在那里。

修改

好吧,多年后,我现在推荐 Dart 。这是一种由Google发起但现在由ECMA委员会拥有的优秀语言。它以node.js样式运行服务器端,但也通过转换为JavaScript在现代浏览器中运行客户端。许多好书,博客,帮助渠道,IDE支持,公共实时pastebin 。我认为它肯定有腿......足以让我正在编写课件来现场或在线教授,而且我很确定我的作品中还有一两本书。 Gilad Bracha是一位历史悠久的Smalltalker,是该设计的主要贡献者,所以Dart中有很多Smalltalk。

Smalltalk是一门很好的学习语言,最棒的是它只需要一天时间就可以完成。它不仅仅是一种学术语言。人们正在构建处理数十亿美元的巨大,可扩展,可复制的应用程序。他们只是不谈论它。例如,请参阅 GemStone和Orient Overseas Container Lines: 航运业案例研究

Seaside是学习Smalltalk的一个很好的理由,但我认为你不会发现它比Rails更好。

让我信服的是GemStone。我非常喜欢Gemstone的GLASS(GemStone,Linux,Apache,Smalltalk,Seaside)。其中最重要的部分是GemStone,它可以为您处理所有对象持久性,而无需您考虑它。看到他们的一些演示并听到人们用GemStone做什么,重新设定了我对“大应用程序”的看法。的意思。

关于Rails最让我烦恼的部分是对象关系映射。这对Ruby来说没有任何意义,因为它在GLORP(处理Smalltalk的ActiveRecord),Perl或其他任何东西时都很难。将对象映射到数据库表非常痛苦。使用GemStone,考虑数据库消失,因此数据库的工作也消失了。这就像一块巨大的石头(或一群猴子)被从背上取下来。

>找不到一个不花费双臂和腿的

的Smalltalk开发环境

Google - 免费smalltalk

Cincom Smalltalk,Squeak,GNU Smalltalk

学习Smalltalk将从发明OO(Alan Kay)的人的角度为您提供面向对象软件开发的基础。重叠窗口环境的想法来自Smalltalk。

学习Smalltalk的绊脚石是它是一个消息传递系统,具有奇怪的流控制语法,如:

i < 60
   ifTrue: [ self walk ]

它有一个非常成熟的类库,它具有一致性,我没见过太多的地方。所有环境中的类库(甚至商业Smalltalks)都有可用的源代码,允许您从语言的主人那里学习。编写Smalltalk时,我总是会问这个问题是如何在环境中完成的。

Smalltalk通常在图像中实现,该图像是系统中所有对象的实时环境。

交互式调试器真正将Ruby中的Smalltalk分离。

Seaside是Web开发框架,并为Smalltalk带来了新的亮点。它是一个基于延续的环境,允许内部命中调试和平滑的富客户端类型开发体验(可以在单个方法中设计顶级应用程序流)。它与script.aculo.us的集成已经完成,可以从Smalltalk中轻松调用。

奈杰尔,我的一句话就是:

虽然现在我用它做了很多事情已经很久了,但是我提名Smalltalk,我仍然没有遇到任何类似于能够将想法转移到计算机代码中的东西。这不仅仅是语言:它是精彩的浏览器环境,图书馆,以及编写清晰,精心设计的代码的文化,就像其他任何东西都可以产生意大利面条一样快。当JavaOne的参与者颂扬Java如何比其他任何东西都更有效率时,我需要一个棕色的纸袋。好吧,回到整理我的课程路径...... - Martin Fowler(软件开发杂志,2001年1月)

我发现它此处

我建议大家学习Lisp(Scheme)或Smalltalk。

Smalltalks有很棒的IDE,一旦你克服文化冲击,你不想错过。是的,有多个免费的:Squeak,Dolphin,Smalltalk / X和Visualworks(非商业)。

但是,Lisp在数学基础上可能更加清晰。

问候

PS:实际上我建议同时学习它们!

我不认识Ruby ..

Smalltalk是一种 OO语言。如果您觉得需要真正理解OO,而不仅仅是大多数流行的'OO'语言(如C ++,Java等)的模拟OO,那么我建议您使用smalltalk。

在smalltalk中,一切都是一个对象,具有属性,行为和元素。在模拟中,您拥有在对象中使用的数据类型。

我会说玩它,你只会受益。

不同意那些认为你不会将Smalltalk用于大型应用程序的海报&#8211;那正是它闪耀的地方。但我也在一周内创建了相当时髦(注释小写)的原型应用程序。

我从92年开始在ST学习OO,非常高兴我这样做了。它给了我OO的真实背景。在课堂上思考。没有类型。 ST非常重视消息传递。如果你想知道一些东西发送一个消息并获得答案。恕我直言,精神和IDE真的鼓励你用你的耦合和凝聚力做正确的事。

在我的Java日工作中,我坚持使用文件,泛型,IDE,就像日食一样,它的效率低于任何ST IDE。我是唯一一次提前完成开发的ST。事实上,它是如此富有成效,我们得到了如此多的重用,我不得不被转移到另一个项目,因为我无所事事! (好吧,也许我可以花时间学习估计......)

下载吱吱声,找一本好书并玩。唯一的缺点是,如果你的日常演出使用Java或C#,你最终会希望你可以使用ST。你早点回家。

克里斯布鲁克斯

我完全是在你的鞋子。Im使用退休和寻找到一般的土地。这里的一些利弊&缺点,我找到重要:

赞成:

  • 成熟和稳定的环境
  • 快发展循环
  • 让你觉得越少写

缺点:

  • 需要不同的思维
  • 仍然没有相当的把握它

这是很搞笑的我怎么知道的关于一般.它是这样一件事,keept出现了在谷歌的结果在搜索时口齿不清的和朗的东西。有一天我查过了,并感到很惊讶漂亮的窗户环境。几分钟后我发现Aida/Web框架。我很上瘾,开始学习一般通过网络发展与这个框架。

仍然不存在,但它这么有趣我只是不能坐以待毙...:-)我很有乐趣的。

如果我有时间的话,不会开始学习它。为什么不?因为学习C#或Java在经济上会更有成效和更有利可图。

另一方面,如果你是一个爱好者,并想进行考古挖掘,那么我建议花一些时间通过研究Alan Kay来研究smalltalk的内容,时间,原因和方式。迷人的故事和一个令人难以置信的人(毕竟,他获得了转奖)。然后可能会稍微发出吱吱声以获得对语言的感觉。在此之后,您可能会重新发现对块,闭包和面向对象原则的尊重/理解。

我知道并使用Smalltalk,有大约15年的时间,仍然维护它,并且不会向朋友推荐Smalltalk。为什么不?就业是一件好事,并且不断前进。虽然你可以从Smalltalk那里学到很多东西,但是你不能轻易地将它转化为有利于在这个时代就业的人。

另外,你似乎对Seaside感到兴奋,我会假设Seaside / GemStone合作伙伴关系。我已经使用了GemStone很长一段时间,两者结合起来非常吸引人。我希望他们能够获得成功所需的市场份额和动力。

不要!如果你真的开始学习它,你可能不想再用别的东西编程了。

如果你是一名lisp程序员,那可能不是这样。

我在第一个研究生大学水平的面向对象编程课程(大约1988年)中教过Smalltalk。老师认为最好是从“纯粹”开始。 OO langauge,然后转向更时髦的一个(我们在学期结束时做了一些C ++)。

通过这个衡量标准,最好从纯粹的OO开始,尽管现在我们有Java&amp; C#,两者都是“几乎纯”的。 OO - 足够接近,你可以忽略它们的非OO特征,并将自己限制在语言的Pure-OO子集中。

如果你想更好地理解极限编程(甚至是Scrum),我会说

为什么不耐烦的Java程序员需要学习Smalltalk:

http://www.dafydd。净/存档/ 2010 /为什么-的Smalltalk-心不是-刚刚另一语言/

我已经做了很多年的软件工程师。我听说人们多次提出Smalltalk,当然Smalltalk自1980年左右开始出现,但它是其中一种似乎永远不会成为软件主流的语言之一。有点像Objective C,CLIPS,PL / I等 - 你可能听说过的东西,但是大多数人从来没有编写过的东西。

我可能不会花时间学习Smalltalk,除非我需要从事某项工作。几年前我简要介绍了一些Smalltalk教程和示例,看起来它对于OO编程的某些方面有一些明显的优势(比如消息概念看起来很酷)。但遗憾的是,它不是主流,似乎并没有获得太大的动力。

当然,学习Smalltalk!这是2015年,由于 Pharo ,Smalltalk再次上升。 Pharo是免费的。 Pharo正在迅速发展成为一个强大的企业工具。在版本4.0,很快将是5.0,它在短短四年内已经成熟了很多!

然后是 Amber ,这是网络的Smalltalk。它也是免费的,并且发展很快。

尽管 Smalltalk的声誉,但这是不是你父亲的Smalltalk。现代Smalltalk令人兴奋且充满希望。

Smalltalk的工作确实不是(还)很多。但如果你有足够多的人聚集到新一波的Smalltalkers,那么该行业将适应它,我们将看到Smalltalk在业务中的广泛采用。问题是,你有远见吗?

这个帖子对我来说非常实际。我正在计划将软件迁移到Web应用程序。这是一个基于数据库的软件。我特别检查替代方案 1)导轨 2)海边

如果我可以将Gemstone / S的数据作为数据库,我也会考虑。所以对我而言,这意味着我必须学习Smalltalk(更好)。因为它可能会成为我未来15年的工作。你会(而且不应该)使用你不喜欢的软件那么久;-)。我的印象是Gemstone / S是“杀手”之一。应用。但是对象的持久性仍然是一个非常困难的领域......

1)是的!学习一门语言总是好的。如果您要学习一门语言,请将其变成一种功能强大,有影响力的语言,可以轻松快速地学习。

Smalltalk仍然是学习OO概念的卓越语言和环境。

这是所有物体,一直向下。这使得工作方式非常一致。

整数是类整数的实例。字符串是角色对象的集合。类是它们定义的类的单例实例对象。

控制结构的工作原理是将get消息发送到Class Boolean的实例。

即使是匿名方法(代码块,又称块)也是对象。

通过向对象发送消息来完成所有操作。语法可以放在明信片上。

概念的清晰度及其在Smalltalk中的实现意味着您可以开发直接转换为Java,Ruby和C#的思维方式。我希望它也适用于Python。

让这些概念清晰明确,英国一所大学使用Smalltalk每年培训5000人进行面向对象计算,这是非常好的。

吱吱声5,刚刚被释放。它的新Cog / Spur VM获得了大幅度的性能提升,其具有渐进式垃圾收集功能。

Pharo 4拥有可爱干净的桌面主题。下一个版本Pharo 5即将发布。它将转向使用Cog / Spur VM,它将在发布中拥有大约5,000个类,并且可以通过配置浏览器工具从网上获得其他类包。

即使在第一代Raspberry Pis上,吱吱声5仍然具有高性能,并且在新的$ 5 Raspberry Pi零点上快了近50%。 $ 99购买了Raspberry Pi 2,屏幕和外壳 - 运行一个成熟,功能齐全的IDE。

正在对Smalltalk(例如Naiad和Spoon)的协调分布式OO系统进行前沿研究。

世界上一些最大的企业数据库都在Smalltalk上运行 - 包括跟踪世界上60%的集装箱和世界上最大的银行的交易系统。

你可以使用Smalltalk作为一种超级功能的CoffeeScript,用 Amber Smalltalk 编写并转换为JavaScript,在浏览器中运行。

Squeak,Pharo和Amber都是免费,开源,开放许可的语言和环境。

Squeak和Pharo为MacOS,Windows和Linux提供一次写入,随处运行的设施。 (也可能是RiscOS)。

Dolphin Smalltalk坚定地瞄准原生Windows外观,并允许您编译已完成作品的封闭.exes,以便分发给最终用户。供应商对Dolphin的进一步开发已经停止,但它完全正常运行,并且像所有Smalltalks一样,设计为可大规模扩展。 (我是否提到Pharo现在有5000个课程,而Squeak的课程为3,000个?Pharo是Squeak的一个分支3.9)

**有一个如何安装和启动Squeak,Amber,Pharo,Cuis和Dolphin的指南:** http://beginningtosmalltalk.blogspot .co.uk / 2015/11 /如何对得到-的Smalltalk-向上和running.html

Seaside Web框架在Squeak和Pharo上运行。这是一个非常成熟的工具,更传统的AidaWeb框架也是如此。

VisualAge,VisualWorks和Gemstone都提供企业级强大的系统。 Gemstone提供具有事务和持久性的无限可伸缩对象数据库。

2)是的 - 我已经使用过了。

我通过开放大学学到了这一点,并立即在Ruby中发挥作用(Pickaxe书的副本和我身边的图书馆参考)。它对Java有很大的帮助,

我真的不知道你在找什么。

如果您正在寻找其他语言,我认为这在很大程度上取决于可用的库。我既不知道Ruby也不知道Smalltalk,但似乎编写Ruby on Rails类应用程序的最有效方法可能不是Smalltalk。

如果您希望了解Ruby背后的想法,这可能是一个非常好的举措。我没有任何定量的东西,但如果我不仅仅知道工具,我知道它背后的想法或它们是如何工作的,我总是觉得使用工具(例如语言系统)会更好。

如果你想学习不同种类的面向对象语言,你可能想学习Smalltalk(如果它与Ruby有很大不同),比如Java或C ++,也许还有Common Lisp对象系统。

如果您只想学习不同的东西,Smalltalk可能是一个不错的选择。我也建议使用Common Lisp,其他人无疑会有其他建议(你现在可以获得一个好的Forth系统吗?)。

是的,我对它很感兴趣。试图开始一次,但找不到一个不花费双腿和腿的Smalltalk开发环境。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top