Re: What Smalltalk product/implementation would you use, and why?
- From: "James J. Gavan" <jgavandeletethis@xxxxxxx>
- Date: Sat, 08 Apr 2006 21:17:04 GMT
Andre Schnoor wrote:
James J. Gavan wrote:
I'm searching the Web looking at the multiplicity of options, Smalltalk in its various flavours, Java, C# (why bother with C or C++) and of course Visual Studio. I already know of COBOLers, (because of costs), who have switched to C#, Java and PowerBasic. I'll get back when I've read a little more and ask for your 'honest' and 'unbiased' advice.
Speed ist definately not an issue anymore. I've built rather complex multimedia desktop apps in VisualWorks with tons of UI gadgets and next-to-realtime performance (I still wonder why "Wrapper" is supposed to be too slow). It runs fast and satisfying, even on a 800MHz machine.
Andre,
I think speed can still be an issue. I haven't gotten into it, but I have an icon for Squeak on my desktop. There is a very apparent delay while it loads - my reaction, does that also occur with 'real apps' ?. And again in a Java NG I see a couple of people arguing the toss about the merits of Java versus C# (presumably it was either C or C++ ?) - the claim being that C *was* faster.
On the speed issue - somebody looking for an alternative to COBOL; I've added the '+++' for clarification :-
-----------------------------------------------------------------------
File Handler
=========
One thing about moving to anything else is the file handler. Tsunami is the best so far. Its about 2/3 the speed of MF (+++ Micro Focus - Net Express +++), under heavy loads. Under normal load (open, mostly reads, close), they come in close enough that I'll use Tsunami for my conversion tests.
- FJ (+++ Fujitsu - what they now call 'NetCOBOL', which can be used/not used with dotNet +++). craps out at 3gig which was a downer for me. I never bothered to do a benchmark because of that
- OpenCOBOL uses the Sleepycat routines which are very good but require licenses if the package is not open source.
- PowerBasic comes with no indexed file handler (just sequential/random) so I've had to go 3rd party.
- PowerTree from PowerBasic handles only the index portion. The data records need to be managed elsewhere (ouch).
- Tsunami is a great record manager with no realistic size limits. It is between 33% and 50% slower than MF Isam under load. The client-server version of Tsunami is faster than FileShare so far.
- Dang MF file handler is just so fast. Its the modifications they made to the c-isam engine that make it so dang fast. Even using aggressive caching in Tsunami I can only get to 75% of MF in single-user mode.
-----------------------------------------------------------------------
I haven't got figures, but I believe his volumes are fairly significant. Note that he wants to stick, as near as possible, with the COBOL file approach. For me, I've already switched to SQL and my existing ESQL Assistant does a neat job in COBOL letting me format a query, gives me the complete code, (100% foolproof), that I can copy and paste into an OO COBOL class.
However, you could get issues with bad GUI design, if you stack too many wrappers or tab controls, or when displaying and editing huge structured objects in scrollable views, i.e. when clever logical clipping/caching on large trees or such is required.
I take your point about GUIs - one good reason *not* to ask the academics in comp.lang.object about how you should do things :-)
I certainly didn't like the M/F OO examples - needed a tremendous amount of copy/pasting to follow their style. A dialog is a dialog and contains n or n + x controls. I went for a template class MyDialog; pass a fixed set of parameters per control, store the info in an OrderedColllection, together with the method-name of callbacks/iterators based on events - where the Instance does something internally ( say like an integer of 12345 begin re-displayed as 12.345) or alternatively the result is returned to a Business control class. Wouldn't claim it is perfection, but if you like, the template class is a series of components - the logic being that methods like 'show', 'hide', 'enable', 'disable' etc are fairly common to many of the common controls; and while invoked from the Business class the code for those methods only appears in one place - my template instance.
Which GUI tool - will be one of my questions about 'Which Language ?'.
Jimmy
.
I confess that I did a lot of UI tweaking and patched "Wrapper" for performance, but that's not necessary for standard business apps.
Andre
- Follow-Ups:
- Re: What Smalltalk product/implementation would you use, and why?
- From: Chris Uppal
- Re: What Smalltalk product/implementation would you use, and why?
- From: Andre Schnoor
- Re: What Smalltalk product/implementation would you use, and why?
- References:
- What Smalltalk product/implementation would you use, and why?
- From: enigmainorlando
- Re: What Smalltalk product/implementation would you use, and why?
- From: Marten Feldtmann
- Re: What Smalltalk product/implementation would you use, and why?
- From: Boris Popov
- Re: What Smalltalk product/implementation would you use, and why?
- From: jarober
- Re: What Smalltalk product/implementation would you use, and why?
- From: James J. Gavan
- Re: What Smalltalk product/implementation would you use, and why?
- From: Andre Schnoor
- What Smalltalk product/implementation would you use, and why?
- Prev by Date: Re: What Smalltalk product/implementation would you use, and why?
- Next by Date: Re: What Smalltalk product/implementation would you use, and why?
- Previous by thread: Re: What Smalltalk product/implementation would you use, and why?
- Next by thread: Re: What Smalltalk product/implementation would you use, and why?
- Index(es):
Relevant Pages
|