[Glass] How do you develop for gemstone in open source tools (pharo)?

Reg Krock via Glass glass at lists.gemtalksystems.com
Fri Jun 23 06:42:37 PDT 2017


Hi Petr,

I have used or attempted to use Jade (not on your list), tODE, and Gt4Gemstone.

I wish that all three of them were combined together. 

This is my experience.

1) Jade - only runs on Windows so you need vmware or wine (as Marten noted). I also agree it is the most similar to a ‘regular’ development environment. 
    I have not used it lately and I think I could not change the code inside the debugger. It is a useful tool.

2) I am using tODE for the last two months. It is a very different way of looking at the world where some of the concepts are very useful while others take some getting used to. 
    There is not a traditional browser. Rather the browser is made up of independent windows and the code pane can be changed from different places without changing the selected class
    or method. This take a lot of getting used to. It takes a while to get used to it.

    I have ended up having two or three tODE clients open at the same time so I can have effect of separate windows browsers. Issuing a commit/abort ensures the clients are in sync when
    you switch between them. I use one client for my main development work and the other(s) for research, etc.

    One can change code in the the debugger! This is very useful.

    The S-Unit testing window in tODE is also useful. 

    The undercover work that has been done to make tODE integrate with the Gemstone file structure has some very good promise. 

    BUT the learning curve is steep. Watch Dale’s presentation(s) on tODE to get a feel for it.

    Also, the fact that ‘browser’ commands are separated from the UI is very useful. Ex: ‘browse class Array’ would make the Array the current class in the browser.

    What does it need:
	1) A history of one’s commands. The topez window keeps its history but clicks on UI window items are not stored as history. This would make using the environment much easier.
        2) Much better documentation. (Dale is helpful!).

3) Gt4Gemstone
    This is a very exciting approach. 
    The Glamour Browser’s configurability great. Being able to write customized views/inspectors is what is needed.
    However, it does not have a hierarchy browser and I live in the hierarchy when I am working.
    Also, the debugger is ’nicer’.
    But there is no Sunit Test window that I could find. 
    There is no colour syntax highlighting! 
    Also, there could be a lot more menu items attached to the browser to make it easier to navigate.

4) Pharo and move code to Gemstone
	What I am working on has some Gemstone specific features so this was not an option for me.

So I am working primarily in tODE but I also use Jade and Gt4Gemstone as well as additional client tODE clients as my work environment.

Lack Of Refactoring Tools:
=====================
These are not available at the current time in Gemstone so none of the Gemstone only environments support this.. I understand work has been done on porting the Refactoring Tools but not all the tests pass yet. This is the single biggest deterrent to development in Gemstone. I have recently did some significant refactoring of my code and compared to client development environments (VA, VW, Pharo, etc), it took me at least twice as long to refactor the code. 

I hope this helps.

Regards,

Reg

> On 22 Jun2017, at 5:16 PM, Petr Fischer via Glass <glass at lists.gemtalksystems.com> wrote:
> 
> Hello, I'm curious how _comfortably_ develop software for Gemstone, which is the preferred/best way (and future)?
> 
> 1) tODE - OK, a decent amount of work was inserted to it to make it work somehow. Decent tools with git support, a lot of windows (autolayouting required), very basic inspector, based on obsolete Pharo3, no autocomplete, weird auto code formating etc. :(
> Will the development continue (better inspectors, autocomplete, etc)?
> 
> 2) gt4gemstone - new project based on GT tools, great playground/workspace/inspectors, running in latest Pharo, but again, just basic browser, no autocompletion, no syntax coloring (so far), but modern way
> What is the plan? Write proper class browser and code editor again from scratch?
> There is amazing new browser for Pharo, Calypso, which has remote browsing capabilities (but probably different remoting/proxy layer than gt tools) - is possible to utilize this project for remote Gemstone browsing in future?
> 
> 3) develop in Pharo, then deploy to Gemstone
> With some compatibility layers, there is possibility to develop application/business logic in Pharo (with bare collections, dicts, containers etc.) and then deploy code to Gemstone and test. Nice scenario, latest modern dev tools (browsers, inspectors, versioning) from Pharo, but on the dev side in Pharo, no transaction logic (test transaction logic with junit impossible/not available etc.), also not compatible class library - so also with drawbacks with different Smalltalk implementation chaos :(
> 
> I would very much like to get involved with Gemstone dev, but it scratches a bit now.
> 
> Thanks! pf
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass



More information about the Glass mailing list