[Glass] Basic questions regarding GemBuilder for Smalltalk, GemTools, and tODE

Dale K. Henrichs dale.henrichs at gemtalksystems.com
Tue Oct 1 15:52:38 PDT 2013


----- Original Message -----

| From: "Mariano Martinez Peck" <marianopeck at gmail.com>
| To: glass at lists.gemtalksystems.com
| Sent: Tuesday, October 1, 2013 6:11:07 AM
| Subject: Re: [Glass] Basic questions regarding GemBuilder for
| Smalltalk, GemTools, and tODE

| Thank you all for your answers. It is now pretty clear to me the
| differences and what I need and don't need. Thanks.
| One last question regarding tODE...I do understand it provides some
| tools built on top on the web, and I have seen a few presentations
| from Dale. The thing is that I remember seeing some emails from Dale
| talking or relating tODE with GemTools. So...besides having an IDE
| on top on the web, does tODE provides or will provide some
| functionality of GemTools? I GUESS you may be able to run tODE
| directly on the seaside running in GemStone itself so it helps you
| browse the code etc. If we have a workspace...then I guess we are
| able to load our app code into GemStone and do what we want.. etc..
| so maybe this is the thing? that running tODE in GemStone could give
| us the functionality we now have in GemTools?
tODE currently has all of the functionality of GemTools, plus quite a bit of additional functionality ... The current incarnation of tODE[1] actually runs on top of Pharo2.0 instead of a web-browser ... it has been built from the ground up for remote development (tODE performance over the WAN exceeds the performance of GemTools over the LAN), but more importantly tODE is aimed at making it easy for developers to build custom tools and scripts. For example, I consider the git mergetool that I've built in tODE to be superior to any of the other git merge tools that I've used and it took around a day to put together ... I'm also focusing on "scriptablity for Smalltalk": basically you can create workspaces that are invoked from a command line (the "object shell") and take command line arguments so creating and running scripts for deployment or other repetitive tasks is very straightforward. 

Right now, I'm just starting up a beta program for tODE and I've got several folks lined up to take tODE for a "bleeding edge spin." Personally I haven't touched GemTools in anger since January of this year, yet I've been doing basically full time development directly in GemStone using tODE. Now that I've made myself happy with tODE, I need to find out what needs to be done to make other folks happy:) and that is the job of the beta testers. Paul DeBruicker is the first one to step up to the plate and I'm still addressing some of the things that he has identified ... 

tODE is being built to be "fully aware of Metacello and git" that means that metacello and git support is being baked into tODE. It is very easy to incorporate metacello/git operations into custom scripts that you use for your daily workflows... 

[1] http://www.slideshare.net/esug/tode-and-now-for-something-completely-different 

| Now that I have this thread already open ;) I wonder if someone has
| ever written some "port rules" or things to be aware when deploying
| to GemStone. I guess certain Pharo kernel classes/methods may not
| exist or answer something different, etc... And I think the answer
| would be around Grease? In other words, what I ask is the following:
| imagine (it is not the case unfortunately) I don't use any other
| library than seaside/magritte. What are the things that would make
| the port to gemstone complicated? Is there any list or conventions
| somewhere?

| Thanks

| On Tue, Oct 1, 2013 at 3:55 AM, Richard Sargent < rsargent at 5x5.on.ca
| > wrote:

| | >> Something that confuses me a lot if all these pieces that seem
| | >> somehow related: GemBuilder for Smalltalk, GemTools, and tODE.
| 

| | That's not surprising, when all is said and done.
| 
| | GemBuilder is the only truly licensed and supported product -
| | supported by GemTalk Systems - among those three. GemTools, tODE,
| | and Jade are the work of individual employees of GemTalk Systems
| | but
| | open sourced to the community (at least some of them).
| | Additionally,
| | there is Topaz, which one could consider the GemStone/S
| | command-line
| | interpreter, definitely not an IDE.
| 

| | One of the most important things in GBS is its "traversal buffer"
| | technology which allows seamless and high performance replication
| | of
| | objects between the client and the server. This allows one to have
| | the same class defined on the server and on the client (VW or VA)
| | which some subset of the functionality defined in the server and
| | some in the client, with the data being replicated between the two
| | as the client and server processes interact.
| 

| | Topaz, GemTools, and Jade all allow one to develop against a
| | server.
| | The latter two provide a GUI similar to the familiar and mostly
| | well-loved Smalltalk browsers.
| 

| | >> I also thought part of GemBuilder was to map certain kernel
| | >> classes of the client language to GemStone
| 

| | Not just certain kernel classes, but any classes you wish,
| | including
| | your application classes. This is important if you want to have a
| | rich client/server application, not just a server app.
| 

| | >> why would I not need a GemBuilder for Pharo but do need it for
| | >> VW
| | >> and VA?
| 

| | It isn't that you don't need a GemBuilder for Pharo, but that we do
| | not have a commercial product for Pharo. Virtually all of our
| | paying
| | customers have either VA or VW applications. GemBuilder is an
| | elaborate product, which requires considerable effort to port to a
| | new environment and to support.
| 

| | >> how is tODE related to GemTools?
| 

| | I think the answer to this question is "barely!". tODE is a
| | fascinating approach to an IDE, hosted in Pharo but with virtually
| | all the work other than presentation provided in the server. You
| | should refer to Dale's various conference talks for details on
| | tODE.
| | One of the most important things it addresses is the difficulty in
| | modifying or subclassing existing browser classes to add
| | capabilities. Over the years, I have had countless frustrations
| | while trying to avoid modifying vendor code but adding features.
| | tODE "deconstructs" the browser, in theory making this much easier
| | to accomplish.
| 

| | I hope this helps answer some of your questions, even if it fails
| | to
| | tell you what to do. :-)
| 

| | | From: glass-bounces at lists.gemtalksystems.com [mailto:
| | | glass-bounces at lists.gemtalksystems.com ] On Behalf Of Mariano
| | | Martinez Peck
| | 
| 
| | | Sent: September-30-13 1:48 PM
| | 
| 
| | | To: glass at lists.gemtalksystems.com
| | 
| 
| | | Subject: [Glass] Basic questions regarding GemBuilder for
| | | Smalltalk,
| | | GemTools,and tODE
| | 
| 

| | | Hi guys,
| | 
| 

| | | I am evaluating GemStone for a client and I want to give it a
| | | try.
| | | I
| | | have a very high level idea of GemStone but I never use it for
| | | real.
| | | The application I may need to run in GemStone is a Seaside app
| | | 3.0
| | | +
| | | Magritte3.
| | 
| 

| | | Something that confuses me a lot if all these pieces that seem
| | | somehow related: GemBuilder for Smalltalk, GemTools, and tODE.
| | | And
| | | I
| | | have a few questions related to these. Thanks in advance for any
| | | help you can give me.
| | 
| 

| | | From what I understand, I do need a kind of "GemBuilder for
| | | Smalltalk" in order to connect my client Smalltalk (Pharo in my
| | | case) to GemStone. But there isn't any GemBuilder for Pharo (only
| | | VW
| | | and VA). I also thought part of GemBuilder was to map certain
| | | kernel
| | | classes of the client language to GemStone, to retrieve objects
| | | from
| | | GemStone into my smalltalk client vm..etc.
| | 
| 

| | | So..I guess GemTools is a subset of an equivalent "GemBuilder for
| | | Pharo"? What is its relation to the GemBuilder?
| | 
| 
| | | From what I understand, GemTools offers me some tools to connect
| | | to
| | | a
| | | GemStone server, load code, execute some code on the server, etc
| | | etc
| | | etc. I think I can do more or less the same with Topaz as well.
| | | That
| | | means that GemBuilder is optional and I could use Topaz only. If
| | | I
| | | use Topaz directly, it means that I don't need any GemBuilder at
| | | all
| | | for Pharo? If true, how then it happens that "mapping of certain
| | | kernel classes" that I read somewhere? in other word, why would I
| | | not need a GemBuilder for Pharo but do need it for VW and VA?
| | | Just
| | | because there is no UI and all we have is seaside running? And if
| | | I
| | | run Seaside in VW then I don't need GemBuilder for VW?
| | 
| 

| | | If I don't need GemBuilder at all, how can I know which
| | | classes/methods of Pharo can I use and which ones I cannot?
| | 
| 

| | | I noticed the GemTools is based on a very very old Pharo image. I
| | | guess this is not a very big problem because I would use that
| | | image
| | | only to load my code into GemStone and maybe for other small
| | | issues.
| | | Still, I will continue developing my app in Pharo 2.0 and I will
| | | keep having my ConfigurationOfXXX with the proper load for
| | | GemStone.
| | | Right?
| | 
| 

| | | Anyway...now how is tODE related to GemTools? What does tODE help
| | | me
| | | regarding GemStone? Can I use it already or should I still with
| | | GemTools/Topaz for the moment? I searched in Gemtalk Systems and
| | | I
| | | found nothing.
| | 
| 

| | | Thank you very much!
| | 
| 

| | | --
| | 
| 
| | | Mariano
| | 
| 
| | | http://marianopeck.wordpress.com
| | 
| 

| --
| Mariano
| http://marianopeck.wordpress.com

| _______________________________________________
| Glass mailing list
| Glass at lists.gemtalksystems.com
| http://lists.gemtalksystems.com/mailman/listinfo/glass
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20131001/0d583cfb/attachment-0001.html>


More information about the Glass mailing list