78
|
Christoph Schiessl Joeyjoejoejr · 技术社区 · 16 年前 |
![]() |
1
62
如果你喜欢Ruby,你可能会喜欢Smalltalk。IIRC Seaside已移植到 Gemstone VM, 这是他们的Gemstone/S OODBMS的一部分。这比Ruby有更好的线程支持,因此对于大容量系统来说,它是一个更好的后端。这可能是仔细研究它的一个很好的理由。 学习Smalltalk的原因:
不学习Smalltalk的原因:
|
![]() |
2
47
既然你提到我的名字,我觉得我应该插嘴。 http://MethodsAndMessages.vox.com/ ,这是“ 闲聊年 “。在过去的十个月里,我一直在宣传Smalltalk,现在我可以看到它真的在发生。越来越多的客户转向Smalltalk和Seaside,Smalltalk供应商都在努力吸引新的关注。更多更大的Smalltalk会议正在计划中。更多的工作公告正在发布。更多的blog正在进行张贴。 如果你今天转向Smalltalk,你并不孤单。还有许多其他人也在那里。 编辑 好吧,几年后,我现在推荐 Dart 相反这是一种伟大的语言,起源于谷歌,但现在归ECMA委员会所有。它以node.js样式运行服务器端,但在现代浏览器中也通过转换为JavaScript运行客户端。很多好书,博客,帮助频道,IDE支持, public live pastebin |
![]() |
3
31
Smalltalk是一种很好的学习语言,最棒的是它只需要一天的时间。这不仅仅是一门学术语言。人们正在构建巨大的、可扩展的、可复制的应用程序,处理数十亿美元。他们只是不怎么谈论它。比如说,, GemStone and Orient Overseas Container Lines: A Shipping Industry Case Study Seaside是学习Smalltalk的一个很好的理由,但我认为你不会发现它比Rails好几个数量级。
Rails最让我头疼的部分是对象关系映射。这并不反对Ruby,因为它在GLORP(它处理Smalltalk的ActiveRecord)、Perl或其他任何东西中都很糟糕。将对象映射到数据库表非常痛苦。有了GemStone,对数据库的思考就消失了,因此对数据库的工作也就消失了。这就像一块巨石(或一群猴子)从我背上取下一样。 |
![]() |
4
16
>找不到一个不费吹灰之力的Smalltalk开发环境 谷歌 -自由闲聊 Cincom Smalltalk,Squeak,GNU Smalltalk |
![]() |
5
15
学习Smalltalk将从发明OO的人(Alan Kay)的角度为您打下面向对象软件开发的基础。重叠窗口环境的想法来自Smalltalk。 学习Smalltalk的一个障碍是它是一个消息传递系统,具有奇怪的流控制语法,如:
它有一个非常成熟的类库,它的一致性我在很多地方都没见过。所有环境(甚至商业Smalltalks)中的类库都有可用的源代码,允许您向语言大师学习。在编写Smalltalk时,我总是问这样一个问题:它是如何在环境中完成的。 Smalltalk通常在映像中实现,映像是系统中所有对象的活动环境。
Seaside是web开发框架,为Smalltalk带来了新的关注点。它是一个基于延续的环境,允许进行命中内调试和平滑的富客户端类型的开发体验(顶级应用程序流可以用单个方法设计)。它与script.aculo.us的集成是以一种很容易从Smalltalk中调用的方式完成的。 |
![]() |
6
10
|
![]() |
7
10
在我的Java日常工作中,我被文件、泛型和IDE(如eclipse)所困扰,这些文件、泛型和IDE的生产效率要比任何ST IDE低几个数量级。在我唯一一次提前完成开发时,我正在使用ST。事实上,它是如此高效,我们得到了如此多的重用,我不得不转移到另一个项目,因为我没有什么事要做!(好吧,也许我可以花时间学习估算…)
克里斯·布鲁克斯 |
![]() |
8
9
我建议大家学习Lisp(Scheme)或Smalltalk。
然而,LISP在数学基础上甚至更干净。
附言:事实上,我建议两者都学习! |
![]() |
9
8
我不认识鲁比。。 Smalltalk是一种 纯净的 OO语言。如果你觉得需要真正了解OO,而不仅仅是最流行的“OO”语言(比如C++、java等)的模拟OO,那么我建议你玩SimultTalk。 在smalltalk中,一切都是一个对象,具有属性、行为和元属性。在模拟中,有在对象中使用的数据类型。 我会说玩它,你只会受益。 |
![]() |
10
7
赞成的意见:
欺骗:
我是怎么知道Smalltalk的,真有趣。这是谷歌搜索Lisp和Erlang内容时,谷歌搜索结果中不断出现的一件事。有一天,我查看了一下,对漂亮的windows环境感到惊讶。过了一会儿,我找到了Aida/Web框架。我被这个框架所吸引,并开始通过web开发学习Smalltalk。
|
![]() |
11
5
如果我有时间,我不会开始学习它。为什么不呢?因为学习C#或Java会更高效,更赚钱。 另一方面,如果你是一个业余爱好者,并且想进行考古发掘,那么我建议你花一些时间研究一下艾伦·凯(Alan Kay),看看smalltalk的内容、时间、原因和方式。迷人的故事和令人难以置信的人(毕竟,他赢得了转折奖)。然后可能玩一点squeak来感受语言。在此之后,您可能对块、闭包和面向对象原则有了新的理解。 我知道并使用Smalltalk,已经有15年了 此外,您似乎对Seaside很兴奋,我假设Seaside/GemStone是合作伙伴。我使用宝石已经有相当一段时间了,两者结合在一起非常吸引人。我希望他们能够获得成功所需的市场份额和动力。 |
![]() |
12
5
如果您是一名lisp程序员,则可能不是这样。 |
![]() |
13
4
Pharo . 法罗是免费的。Pharo正在迅速发展成为一个强大的企业工具。在4.0版,很快将成为5.0版,它在短短四年内已经成熟了很多! Amber ,这是网络上的Smalltalk。它也是免费的,发展很快。 即使 Smalltalk's reputation ,这不是你父亲的闲话。现代的Smalltalk是令人兴奋和有前途的。
|
![]() |
14
3
按照这个标准,最好还是从纯OO开始,尽管现在我们有Java&C#,两者都是“近乎纯”的OO——非常接近,可以忽略它们的非OO特性,并将自己限制在语言的纯OO子集。 |
![]() |
15
3
如果你想更好地理解极限编程(甚至Scrum),我会说 . 为什么不耐烦的Java程序员需要学习Smalltalk: http://www.dafydd.net/archive/2010/why-smalltalk-isnt-just-another-language/ |
![]() |
16
3
我已经做了好几年的软件工程师了。我听过有人几次提到Smalltalk,当然Smalltalk从1980年左右就开始出现了,但它是那些似乎从未进入软件主流的语言之一。有点像Objective C、CLIPS、PL/I等等——你可能听说过,但大多数人从未编程过。 我可能不会花时间学习Smalltalk,除非我需要为某个特定的工作学习。几年前,我简要地看了一些Smalltalk教程和示例,看起来它在OO编程的某些方面有一些明显的优势(比如消息概念似乎很酷)。但可悲的是,它不是主流,而且似乎没有获得多少动力。 |
![]() |
17
2
1) 轨道
|
![]() |
18
2
1) 对学一门语言总是好的。如果你想学习一门语言,就要让它成为一门强大、有影响力的语言,并且可以轻松、快速地学习。 Smalltalk仍然是学习OO概念的卓越语言和环境。
控制结构通过向布尔类的实例发送get消息来工作。 甚至匿名方法(代码块,又称块)也是对象。 一切都是通过向对象发送消息来完成的。语法可以安装在明信片上。
英国一所主要大学利用Smalltalk每年培训5000人进行面向对象的计算,这对于明确概念非常有好处。 Squeak 5刚刚发布。它的新Cog/Spur VM具有渐进式垃圾收集功能,因此性能得到了显著提高。 Pharo4有一个漂亮整洁的桌面主题。下一个版本,Pharo5,即将发布。它将转向使用Cog/Spur虚拟机,在发行版中将有大约5000个类,并且可以通过配置浏览器工具从网络上随时获得额外的类包。 Squeak 5即使在第一代覆盆子Pis上也表现出色,在新的5美元覆盆子PIZero上几乎快了50%$99给你买了一个树莓皮2,屏幕和案例-运行一个成熟的,功能齐全的IDE。
世界上一些最大的企业数据库都是在Smalltalk上运行的,包括跟踪世界60%的集装箱,以及世界最大银行的交易系统。 你可以使用Smalltalk作为一种超级咖啡脚本,用 Amber Smalltalk 并转换为JavaScript,在浏览器中运行。
**以下是安装和启动Squeak、Amber、Pharo、Cuis和Dolphin的指南:** http://beginningtosmalltalk.blogspot.co.uk/2015/11/how-to-get-smalltalk-up-and-running.html Seaside web框架在Squeak和Pharo上运行。它是一个非常成熟的工具,更传统的AidaWeb框架也是如此。 VisualAge、VisualWorks和Gemstone都提供企业级的健壮系统。Gemstone提供了一个具有事务和持久性的无限可扩展对象数据库。 2) 是的,我已经用过了。
我刚刚回到it部门,编写应用程序来控制、管理和分发响应迅速的大规模多平台移动应用程序。 我希望很快我也会用Amber重新编写JavaScript移动应用程序。 |
![]() |
19
1
我真的不知道你在找什么。
如果你想学习不同种类的面向对象语言,你可能想学习SimalTalk(如果它与Ruby有很大的不同),比如java或C++,也可能是普通的Lisp对象系统。 如果你只是想学习一些不同的东西,Smalltalk可能是一个不错的选择。我还建议使用CommonLisp,其他人无疑会有其他建议(现在你能得到一个好的Forth系统吗?)。 |
![]() |
20
-5
|
![]() |
ludo · 我们如何使用法罗的每一种方法? 7 年前 |
![]() |
patzi · 理解smalltalk中奇怪的逻辑运算符 7 年前 |
![]() |
patzi · 如何在Smalltalk中操作位? 7 年前 |
![]() |
patzi · 了解GNU Smalltalk闭包 7 年前 |
![]() |
Hutch · Pragmas的工作方式似乎和我在海边预期的不同 8 年前 |
![]() |
Diana · Pharo Smalltalk中的For循环For数组 8 年前 |
|
nickwalt · 初级程序员-是从ES5还是ES6开始[已关闭] 9 年前 |