5 ms·
I don't know that I would call this a success for Smalltalk or Seaside as much as it is a win for a very smart startup who simply happened to use Smalltalk for
by rcoder 16y ago
I don't know that I would call this a success for Smalltalk or Seaside as much as it is a win for a very smart startup who simply happened to use Smalltalk for some of their products. Furthermore, I doubt they'll be doing much Squeak hacking inside Twitter, so in some ways you could look upon it as a loss for the community.
Regardless, I have a lot of respect for the Smallthought guys. Their presence at Twitter HQ does only good things for my opinion of their business and technical direction.
- paulgb 16y agoConsidering Avi's contributions to Seaside, I think simply happened is an understatement. I'm sure using Seaside was a very deliberate choice on their part. > Regardless, I have a lot of respect for the Smallthought guys. Their presence at Twitter HQ further does only good things for my opinion of their business and technical direction. My thoughts exactly.
- rcoder 16y agoMy perspective on Seaside may be a little different, because I still remember Avi trying out many of the same ideas in Ruby, and moving to Smalltalk (at least initially) because its continuations didn't leak memory like MRI's did. I also know from personal discussions that the Smallthought guys are very pragmatic about their tools: when Squeak/Seaside were the right tool, they used it, but when Ruby, Java, Javascript, or another language/framework made more sense, they weren't dogmatic about using it. I'm not trying to downplay the importance of Smalltalk to DabbleDB, but it was just one piece of the puzzle. The same "use the right tool for the problem" attitude seems to be increasingly pervading Twitter these days, which I think has helped as much as anything else in their improved stability and scale over the last year or so.
- paulgb 16y agoThanks for the insight. I didn't realize that ruby's (former?) continuation memory-leaks were the the reason for Seaside being in Smalltalk rather than Ruby. In this case I wonder whether Smalltalk really is the right tool for the job. Smalltalk isn't a bad language but there aren't a lot of libraries available. I've played around with Seaside a bit and ended up having to rewrite some of the HTTP libraries to do what I needed. Unfortunately I can't think of another language outside of the LISP family that supports continuations well.
- jluxenberg 16y agoUnfortunately I can't think of another language outside of the LISP family that supports continuations well. Javascript has closures, which you can use to implement continuations. See http://marijn.haverbeke.nl/cps/ http://marijn.haverbeke.nl/cps/
- paulgb 16y agoFirst-class functions can be used for continuation-passing style, but to do what Seaside does elegantly you really need first-class continuations. There's an interesting article on how Seaside uses continuations here: http://blog.fitzell.ca/2009/01/seaside-partial-continuations.html http://blog.fitzell.ca/2009/01/seaside-partial-continuations...