The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Seaside this year

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Seaside this year Posted: Aug 28, 2008 1:21 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Seaside this year
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Cincom Smalltalk Blog - Smalltalk with Rants

Advertisement

Lukas is going over the "year in Seaside" - one of the interesting facts is that the average visitor to the site spends 5 minutes there. That's impressive - most sites stay in the seconds.

Another thing he's going over is how they've managed to keep the code portable enough to hit 6 platforms. Lukas is now using Pharo (A Seaside fork). GNU ST is a new player this year. Of course there are ports to Dolphin, Gemstone, and Cincom - and the source of it all, Squeak.

How to on portability (all of this is currently relevant to the 2.9 dev stream)?

  • No assignment with underscore
  • No Brace or Array constructors
  • No Byte Arrays
  • No VariableBindings
  • No Selection Blocks
  • None of the #ifNotNil: or #ifNotNilDo: messages

Pragmas are ok - they don't use them now, but they are possible, They restrict themselves into that syntax. Now, what about libraries?

  • No Collection >> #=
  • No #withIndexDo:
  • No #pairsDo:

Strings - don't pretend that Symbols are a String (not portable). They don't use #match: - too many issues across implementations, and with pseudo-regex syntax. No usage of #asString. Also no usage of #displayString - again, different implementations return different things - thus, Seaside has its own, #toString. No IO, as it varies too widely.

These are all basic - the main thing they rely on is tests. They've created Slime - Lint tests for Seaside. The test coverage is expanding - 3x more tests in 2.9 than 2.8 (thus far).

They aren't using any source exchange frmats. They use Monticello in Squeak, and all the target Smaltalks read from or support Monticello. Merging code back, on the other hand, is harder. While code can be exported, the version history and change trail is lost in conversion. Lukas would be happier if all vendors moved towards supporting Monticello2. The Gemstone guys agree with that.

They don't use Sport - they do have a little library they call "Seaside Platform Support". Bruce asks "Why not Sport?" Lukas more or less says - they don't need all that Sport does, and they want to keep it small.

There's the "Seaside Namespace" - the WA class name prefix. They would like to keep WA within the core of Seaside, and not have vendor or application code use WA.

Their "Dream Vendor"

  • Continuous Integration
  • Public Bug Tracker (even better, their Google Bug Tracker)
  • Use Monticello2
  • Provide a full stack implementation (One click image)
  • Support multi-cpu
  • I18N
  • Provide a better GUI

Also - if you're here, they will be doing a Seaside Sprint Friday afternoon and into the weekend. They are addressing the Core, Library Developers, Porters, and Vendors. The main goal is to move 2.9 ahead. It's not clear where this will happen yet - check with Lukas.

Read: Seaside this year

Topic: Building a fresh image daily Previous Topic   Next Topic Topic: Meta Modeling Panel

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use