Welcome, Guest. Please login or register.

Author Topic: Which is better? OS 4 or Morph OS . . .  (Read 11090 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline EdponTopic starter

  • Full Member
  • ***
  • Join Date: Apr 2005
  • Posts: 127
    • Show only replies by Edpon
Which is better? OS 4 or Morph OS . . .
« on: October 08, 2005, 03:17:15 PM »
Hi all,
  I figure this would be a good discussion question - Which is a better operating system, on it's own AND for ALL Amiga formats?
OS4                        or                     Morph OS

State why it is too please.

Ed

 :-P
Amiga 500
AmigaOne 500
CommodoreUSA Amiga Mini i3
 

  • Guest
Re: Whish is better? OS 4 or Morph OS . . .
« Reply #1 on: October 08, 2005, 03:20:52 PM »
WinUAE
 

Offline billchase

  • Sr. Member
  • ****
  • Join Date: Aug 2002
  • Posts: 356
    • Show only replies by billchase
Re: Which is better? OS 4 or Morph OS . . .
« Reply #2 on: October 08, 2005, 03:54:49 PM »
This topic has already received plenty of coverage.  Search
around the forum.  They both have a lot of great things going
for it.

C Snyder
 
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Which is better? OS 4 or Morph OS . . .
« Reply #3 on: October 08, 2005, 04:53:16 PM »
They are both about even.  MorphOS has better backward-compatability to AOS 3.x but AOS4 has more flexible library interfaces that will allow better backward compatability in the future (not to mention that it supports some POSIX-style shared libraries).
 

Offline _ThEcRoW

  • Hero Member
  • *****
  • Join Date: Jul 2005
  • Posts: 753
  • Country: 00
    • Show only replies by _ThEcRoW
Re: Which is better? OS 4 or Morph OS . . .
« Reply #4 on: October 08, 2005, 06:05:52 PM »
If you can afford, both of them.
Amiga 1200 desktop. Apollo 030/50 Mhz 8mb ram + ClassicWB + Wb 3.1
Amiga 500 + ACA500Plus + 16gb CF | ECS Power!!!
C64 DTV + Keyboard mod. Waiting for a 1541 disk ve...
Mac Mini G4 1.42Ghz 1gb OSX(tiger)/Morphos 3.7 Registered
C64mini + usb drive with loads of games...
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Which is better? OS 4 or Morph OS . . .
« Reply #5 on: October 08, 2005, 07:31:18 PM »
I usually try to stay away from commenting the competition, but here I make an exception.

Quote
AOS4 has more flexible library interfaces that will allow better backward compatability in the future

Maybe so, but the interfaces broke source compatibility from the previous AmigaOS. Also, I seriously doubt you'll ever see AmigaOS running on 64-bit systems, there are just too many limitations in the internals of the OS. To make it 64-bit you'd need to redesign all structures and most of the OS calls, and thus they'd no longer be anywhere near compatible to old ones, and thus you get no advantage from the "interface" (the new interface would be completely different to old one). In fact, I'm yet to see any feasible explanation why interfaces would give any benefit over other methods of handling library calls.

Quote
not to mention that it supports some POSIX-style shared libraries

I am not sure what you mean with POSIX-style libraries? If you mean dynamic symbol binding, MorphOS has had that for years, even before OS4 existed.


PS. I'm not saying OS4 is all bad, but these things certainly aren't any benefit over MorphOS.
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show only replies by itix
Re: Which is better? OS 4 or Morph OS . . .
« Reply #6 on: October 08, 2005, 07:41:51 PM »
@SamuraiCrow

I think you are little confused here. I'm not sure what you mean by POSIX-style shared libraries but for example MorpHOS has SDL (main, image, mixer, ttf, net) libraries as a shared library quite long time now. In addition I've ported ODE/OPCODE, lcms and newlib as a shared library to MorphOS.
My Amigas: A500, Mac Mini and PowerBook
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Which is better? OS 4 or Morph OS . . .
« Reply #7 on: October 08, 2005, 08:07:40 PM »
Quote

Piru wrote:

In fact, I'm yet to see any feasible explanation why interfaces would give any benefit over other methods of handling library calls.


Speaking personally, I like interfaces for several reasons, mostly due the the fact that they share several important conceptual features with C++ classes:

1) An interface defines a namespace. This allows me to create my own interfaces that have function names that would otherwise clash with the OS ones. IKarl->AllocVec() is totally different from IExec->AllocVec(). Both can happily coexist in the same source.

2) Depending on what your interface designed is for, you can happily create multiple instances of a particular interface. Each instance has its own data area. Whilst this doesn't really apply to the legacy OS interfaces, thinking forwards it is very useful.
For example, I might design some strange hardware abstraction layer where each device has a common interface, say IKarlDevice. Let's assume I have defined an Initialize() method for this interface. I can have an instance per device since I'm no longer dealing with global functions. So I can happily iterate my way down a List of instances of IKarlDevice and call their individual Initalize() methods.

3) Builds on points (1) and (2) really. There is no reason why I can't have several libraries that implement a particular interface. So my system might load several different implementations of my device interface for specific devices. Or to make it a bit shorter, interfaces are inherently polymorphic.

As a more tangible example, consider MUI/Reaction etc. The BOOPSI calling mechanism is just awful. Reimplementing them using interfaces would likely give more compact code that could run a hell of a lot faster. I am sure a button->DoLayout() is an order of magnitude faster than a DoMethod() call via the boopsi dispatcher :-)

Of course I don't expect that will happen, and really, nor should it. Might as well design a completely new, interface centric  system in future.

I'm not saying you cant reproduce some of this with OS3.x style libraries, but it is no where near as elegant to accomplish.
int p; // A
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Which is better? OS 4 or Morph OS . . .
« Reply #8 on: October 08, 2005, 08:32:01 PM »
@Karlos

Quote
1) An interface defines a namespace. This allows me to create my own interfaces that have function names that would otherwise clash with the OS ones. IKarl->AllocVec() is totally different from IExec->AllocVec(). Both can happily coexist in the same source.

And this is different from IKarl_AllocVec() and IExec_AllocVec() how?
Another matter is that for example #define AllocVec(...) will completely screw the nice namespace concept up, polluting it. In fact, it could be argued that IKarl_AllocVec() is way more elengant since it does NOT pollute the namespace, ever. In analogy most AmigaOS structures have prefix for the entiries, ln_Name instead of Name.

Quote
2) Depending on what your interface designed is for, you can happily create multiple instances of a particular interface. Each instance has its own data area.

It's trivial to have library base per caller, bsdsocket.library is great example of this. They can be divided even more, no need for them to be per task.

Quote
3) Builds on points (1) and (2) really. There is no reason why I can't have several libraries that implement a particular interface.

And there is no reason why this couldn't be done using perfectly normal libraries. In fact, it has been done several times already (for example the font engine concept in AmigaOS, bullet.library).

The biggest downfall of interfaces is that it's limited to single system, not being source-level compatible to others. While it is possible to implement these things with Interfaces, the actual costs of the implementation (losing src compatibility for no real benefits) is really not worth it.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Which is better? OS 4 or Morph OS . . .
« Reply #9 on: October 08, 2005, 08:51:05 PM »
@Piru

Look at them all together rather than point by point. For example, who says IKarl has a global pointer? IKarl_AllocVec() implies some global scope function, interfaces, and consequently all their methods, can exist in any scope a variable can.

Unlike C++ namespaces, an interface method is actually a function pointer within the interface structure. You can't pollute it since a structure can only contain uniquely named members. When I said it defined a namespace, I meant IExec and IKarl are seperate structures that can freely contain identically named member functions.

As for the macro stuff, I prefer not to use it at all in clean OS4 compatible code. It is purely for 3.x source compatibility. If that is not important to you, you don't have to use it.

How easy is it to create a list of library instances within a single task, iterate the instances individually and call methods per instance? Sure it can be done, but how straightforward is it to do?

Again with the polymorphic stuff, you can do it using libries, I never said otherwise. Interfaces, however, bring all of these under a very simple to use and implement system.

Your counter arguments are remind me of those made by people comparing writing object oriented code in C versus C++. Nobody says you cant write object oriented code C, or structured code in pascal. It is a question of how straightforward and clean it is to accomplish.

As for your final point, libraries are also single system. They apply only to amigaos and compatibles, so that argument doesn't really apply, unless you want strict compatibility source with 3.x. In that case, sure you can just use the macro level stuff and do that. I've never yet failed to compile any 3.x stuff under 4.0.

Clearly you don't regard interfaces as a useful idea. That's your opinion and I respect that. However, I feel they are genuinely useful and have a lot of potential.
int p; // A
 

Offline Amigaz

  • Hero Member
  • *****
  • Join Date: Feb 2004
  • Posts: 1959
  • Country: se
  • Gender: Male
    • Show only replies by Amigaz
Re: Which is better? OS 4 or Morph OS . . .
« Reply #10 on: October 08, 2005, 08:55:01 PM »
lol...is this the start of a computer-geek battle..
I´m glad I don´t know so much about programming :D
-------------------------------------------------------------------
Amiga 4000T - A3640 '040
Amiga 4000 - CS MKIII
Amiga 1200 - Blizzard 1230 MKIV
Amiga 1200 - Stock
Amiga CD32 - TF360
A bunch of ol' A500's
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Which is better? OS 4 or Morph OS . . .
« Reply #11 on: October 08, 2005, 08:56:23 PM »
@Karlos

Maybe it should be pointed out that I also find C++ horrible bloaty nonsense and broken by design aswell.

I'd happily take Java any day, instead.

That being said, I still consider the "interfaces" a bad idea, regardless, at least if you're concerned in moving source between different platforms (that is different AmigaOS and compatibles).

I firmly stand behind my claim that interfaces give absolutely no benefit at all over MorphOS.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Which is better? OS 4 or Morph OS . . .
« Reply #12 on: October 08, 2005, 08:57:35 PM »
Quote

AMIGAZ wrote:
lol...is this the start of a computer-geek battle..
I´m glad I don´t know so much about programming :D


Not really, just a difference of opinion on something.

I've never cared a less about the red v blue thing.
int p; // A
 

Offline Amigaz

  • Hero Member
  • *****
  • Join Date: Feb 2004
  • Posts: 1959
  • Country: se
  • Gender: Male
    • Show only replies by Amigaz
Re: Which is better? OS 4 or Morph OS . . .
« Reply #13 on: October 08, 2005, 08:59:39 PM »
Just checking the temperature on you guys ;)

Carry on
-------------------------------------------------------------------
Amiga 4000T - A3640 '040
Amiga 4000 - CS MKIII
Amiga 1200 - Blizzard 1230 MKIV
Amiga 1200 - Stock
Amiga CD32 - TF360
A bunch of ol' A500's
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Which is better? OS 4 or Morph OS . . .
« Reply #14 on: October 08, 2005, 09:00:40 PM »
Quote

Piru wrote:
@Karlos

Maybe it should be pointed out that I also find C++ horrible bloaty nonsense and broken by design aswell.

I'd happily take Java any day, instead.


:-D You know somehow I guessed.

Quote
That being said, I still consider the "interfaces" a bad idea, regardless, at least if you're concerned in moving source between differnet platforms (that is different AmigaOS and compatibles).


How? If you write 3.x style code it compiles in OS4. Unless you are writing the libraries themselves rather than applications it need not affect you.

Quote
I firmly stand behind my claim that interfaces give absolutely no benefit at all over MorphOS.


I didn't say they did. I said I found Interfaces better by design than 3.x style libraries. I've nothing against MOS.
int p; // A