home *** CD-ROM | disk | FTP | other *** search
- Subject: Re: Gem List (fwd)
- Date: Mon, 11 Jul 1994 13:22:16 -0400 (EDT)
- From: Chris Herborth <herborth@53iss6.waterloo.NCR.COM>
- In-Reply-To: <199407111621.AA08672@world.std.com> from "Lexicor@world.std.com" at Jul 11, 94 12:21:08 pm
- Message-Id: <9407111325.af16466@ncrhub1.NCR.COM>
- Precedence: bulk
-
- What you wrote:
- > Warwick, are you SURE you understand what Extended Object Types are? From
- > the way you speak, it sounds like you have no idea why they were designed.
-
- >From the sound of the following flame-bait, you have no idea how object-
- oriented programming works.
-
- > You're saying that with Gem++ you would have to add code to support the
- > active slider, perhaps doing something like "register_active_slider(TREE,
- > object, orientation);" which is insane. Having to write code to support
- > an interface when the interface should do those things ITSELF is a pain.
-
- Nothing is a pain with GEM++... ;-)
-
- OOP is mainly customizing objects for your own use, once the library is
- finished, that is. Warwick built GEM++ from scratch, so he did all the
- hard work. Now if _I_ use GEM++ for a dialog-in-a-window or something,
- it takes about 5 lines of code. I don't have to do anything special to
- the dialog in the RSC editor, and the code I _do_ write for my dialog
- is exactly what I'd have to write for a normal dialog... something to
- figure out what switches were set, what exit button was pushed, etc.
-
- > Besides the fact that if you want to change the functionality of a button,
- > you can't do it visually, you have to do it programatically. This is right
- > along the lines of insanity that MultiTOS did when they forced you to do
- > heirarchical menus by linking them together within your code, rather than
- > the *obvious* way of allowing you to design heirarchical menus using
- > a resource editor.
-
- That's a "feature" of not having an up-to-date RSC editor that can build
- RSC objects for the new AES. If they'd built one of those, adding the
- hierarchical menus in a saner way would've been easy.
-
- > If you want to make a quick change to your interface, with Gem++ you would
- > have to recompile the code. With all other libraries it's just a quick dip
- > into a resource editor to make that change.
-
- And possibly a complete re-build of your entire application so you can
- use the new extended-GEM library headers and link it with the new library.
- If you _started_ with that library, it might just be a flick of a bit in
- your RSC editor, which is also prone to errors... all the RSC editors I've
- seen that let you modify the extended-object bits list the bits, since
- they can't say what they're used for... hackery at its best.
-
- > To me, this seems like an *ENORMOUS* disadvantage of Gem++, as it is with
- > MultiTOS. A library is supposed to make coding easier, not more difficult.
-
- I guess you've never compared the GUI code for an *application* using GEM++
- to that built with a "normal" library... Accessing strings in a RSC
- (anywhere... free strings, strings in dialogs, strings in menus, etc) is
- incredibly easy, for example, which makes it feasable to put *all* program
- text into the RSC instead of hard-coding it. The feature makes it a no-
- brainer to translate your program into another language, something that's
- almost a necessity in today's Atari market, just to get a reasonable
- number of potential users.
-
- > Is it any wonder why nobody has used Gem++ for anything yet? :-)
-
- Speak for yourself. Most people don't use GEM++ for anything because:
-
- 1) They're afraid of GNU C/C++, since it's not a commercial product.
- 2) There's no commercial C++ implementation for the Atari.
- 3) They don't know OOP or C++.
- 4) They think learning to use a poorly documented C library would be
- easier than learning to use C++, OOP, and a (currently) poorly
- documented C++ library. GEM++'s documentation will be vastly
- improved for the next release, since I keep bugging Warwick and
- proofing his docs. I also do some work on a GEM++ tutorial now
- and then.
- 5) Their ST is too damn slow for C++ development.
- 6) Their ST doesn't have enough RAM for C++ development (it gets _really_
- tight in 4M of RAM).
- 7) Their ST doesn't have a hard drive (!), which is pretty necessary
- for GNU C/C++, since the compiler is over a meg in size.
- 8) Inertia.
-
- 8 is the scariest, IMHO, since you can get around 1+2 by being convinced
- that GNU C builds the best Atari code (it beats *all* of the commercial
- compilers), 3+4 just require a bit of reading, and 5+6+7 are easily
- cured by upgrading (hahaha... yeah.) or getting a cross-compiler
- going.
-
- Inertia as a reason for resisting OOP is a very bad thing; it's going to
- become VERY important in the next several years, whether as Smalltalk,
- C++, Objective-C, Python, or whatever. It's the only sensible choice
- for large software projects, and they certainly are getting larger...
-
- --
- ----------========================_ /\ ============================----------
- Chris Herborth \`o.0' herborth@53iss6.Waterloo.NCR.COM
- Information Products Developer =(___)=
- AT&T Global Information Solutions U
-