View Single Post
Old 05 December 2020, 19:00   #15
son of 68k
meynaf's Avatar
Join Date: Nov 2007
Location: Lyon / France
Age: 48
Posts: 4,350
Originally Posted by bloodline View Post
Like many things in AmigaOS, the idea is brilliant... but the implementation is a bit “off”... I can’t help but feel BOOPSI would have been better if it had been implemented at a language level like the NeXTStep engineers did with Obj-C. I seem to remember Andy Finkel waxing lyrical over NeXT in an interview once, so that is clearly what they wanted to do.
Well, they could have done better, regardless of the language.
Why, there isn't even a way to limit graphical operations of gadgets inside their area. Start drawing something, even with provided RastPort, and you get something relative to the window and not to the gadget.
Try to use any gadgetclass derived class (like buttongclass or strgclass) and see that there is nothing to provide a nice, standard imagery like gadtools does. You have to do it yourself.
And when you try to draw a box with frameiclass you suddenly discover it's totally useless because it's drawn incorrectly, far away from "nice" buttons of gadtools.
However ability to draw everything out of the calling task's context is better than what gadtools does (window refreshing fails when the task is busy).

Originally Posted by bloodline View Post
AmigaOS is somewhat unusual as the basic operating system remained unchanged for 30 years... only now is AmigaOS 3.1 being updated. As such the API/ABI is literally etched in stone. Make a change now and you burn 30 years of legacy rather than maybe five years...
Being unchanged is one of the things that can paradoxically make it attractive : it's very well known, even at its internal level. No bad surprise here.

Originally Posted by bloodline View Post
But if something is updated, and you do recompile you program, you would perhaps rather the newer function was used... giving the developers a chance to deprecate poor design decisions?
The problem with "upgrades" is that often poor design decisions get replaced by even poorer ones

But i can adapt. Even to a totally new design : only thing to change is my system framework, all programs using it would then work again as if by magic. Of course a few numbers to change here and there are far from being an issue
meynaf is online now  
Page generated in 0.04674 seconds with 11 queries