Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
22 user(s) are online (10 user(s) are browsing Forums)

Members: 1
Guests: 21

Maijestro, more...

Support us!

Headlines

 
  Register To Post  

(1) 2 »
Why was SObjs added to OS4?
Home away from home
Home away from home


See User information
Something I've long wondered about is why SObjs were added to AmigaOS4, when we already have a good (dynamic) library system. Particularly when SObjs introduce "version hell", while our library system easily handles new versions. I don't know too much about the technical side of SObjs, but I can think of some possibilities:

1. Function calls for SObjs are faster than dynamic libraries. But maybe only slightly faster (similar to procedure call vs method call), and not really worth it most of the time?

2. Might make usage of GPLed code easier, without worrying about the GPL forcing the whole OS to be made open source? (This however requires that SObjs calls are significantly faster.)

3. Make it easier to port Linux/Windows libraries?

Author of the PortablE programming language.
Go to top
Re: Why was SObjs added to OS4?
Not too shy to talk
Not too shy to talk


See User information
@ChrisH

Quote:
Something I've long wondered about is why SObjs were added to AmigaOS4


Simple answer: lazyness. Programmers are lazy like hell. SObjects exist in Linux. Adding them to AmigaOS allows to reuse them without difficult adaption.

Go to top
Re: Why was SObjs added to OS4?
Not too shy to talk
Not too shy to talk


See User information
@ChrisH

I think point 3 was perfect!

Simone"Tuxedo"Monsignori, Perugia, ITALY.
Go to top
Re: Why was SObjs added to OS4?
Just popping in
Just popping in


See User information
@ChrisH

Yep, 3) without hesitation. I cannot see another reason to import this crap into AOS, really... See other thread for nice example.

Edit:

1) is wrong, AOS shared libs calls are as fast as shared object ones. Why jumping using a function pointer would be slower than a direct call ?

Go to top
Re: Why was SObjs added to OS4?
Just popping in
Just popping in


See User information
Quote:

thomas wrote:
Adding them to AmigaOS allows to reuse them without difficult adaption.
I'd rather say they introduce a heck lot more difficulty to the already conceptually challanged OS. Or to put it bluntly, it creates a much unneeded mess.

On Linux it works because one can recompile just about anything anyways, and programs that are not opensource _do_ cause pain - just look at latest GoogleEarth for Linux that suffers from a silly symbol namespace crash with expat library (googleearth comes with its own) that Google for some weird reason seems unable to fix (at least it wasn't fixed just a few weeks ago, after having been reported and identified way back in May or so).

If OS4 will be anything like OS3, recompiling all programs that link against old versions of libraries will not be an option, sadly. So hence it will become very messy over time. The sooner OS4 gets rid of SObjs, the better.

-- kolla
Go to top
Re: Why was SObjs added to OS4?
Quite a regular
Quite a regular


See User information
@all

more easy to make Timberworlf with Sobj, that without !.

Sobj allow to port "half native" program to AOS4 and not allow to reinvent the wheel, to make a same program like on linux.

Also "Half native" program can allow new user to like AOS4 because some programs look like the same they use on linux or other platforms.

Honestly, Timberworlf who use original menus GUI are for me allready verry great.

When we will see actual Timberwolf working fine with Sobj, everybody will be happy and will like Sobj

A1200+Mediator+VooDoo3+060/50+96mo+IIYAMA 17"+CD,CDRW,ZIP SCSI-KIT
SAM440EP on Mapower 3000+AOS4.1

Amiga Docs Disk Preservation Project
Go to top
Re: Why was SObjs added to OS4?
Just popping in
Just popping in


See User information
@ChrisH

I'd rather have sobjs than not to have them but if coders can avoid using them please do

Go to top
Re: Why was SObjs added to OS4?
Just popping in
Just popping in


See User information
@ChrisH

The explanation can be found here:

http://www.friedenhq.org/index.php?op ... atid=34:amigaos&Itemid=56

Haven't you read this article so far? I think it explains it quite well.
If we hadn't have shared object libraries, it would be pretty hard to port necessary and worthwhile linux libraries to AmigaOS.

nexus

Go to top
Re: Why was SObjs added to OS4?
Just popping in
Just popping in


See User information
@nexus

Quote:
If we hadn't have shared object libraries, it would be pretty hard to port necessary and worthwhile linux libraries to AmigaOS.

Uh ? The effort to port statically linked libraries is exactly the same as for shared objects. The difference is that with the latter you will end up with a directory full of different versions of the same library that are incompatible with one another, and not even shared in memory in the case of OS4.

Go to top
Re: Why was SObjs added to OS4?
Home away from home
Home away from home


See User information
@centaurz

Quote:

full of different versions of the same library

Why ? In my sobj every sobj presented only one time , just last version. I.e. all the same as with libraryes from user side.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Why was SObjs added to OS4?
Just can't stay away
Just can't stay away


See User information
@kolla

At least with shared objects if a program only works with a specific version of the library you can simply put that version inside the program directory and it will use it while all other programs will use the version you have in SOBJS:. This solution is OTOH not possible with shared libraries because of the way that they are shared in the computer's memory.

Only system that would be completely immune to "dll hell" type problems would be statically linking everything into every executable, a solution which isn't without it's problems either.

Go to top
Re: Why was SObjs added to OS4?
Supreme Council
Supreme Council


See User information
@All

Helping me to keep http://sobjs.os4depot.net updated might help alleviate some of the problems of using sobsj in the os4 environment.

Also it might be useful to move all sobjs into their own category on the main os4depot site and allow them to have version numbers in their filenames so that users can download specific versions.

MickJT recently joined the os4depot team to keep his stuff on teh sobjs sub site updated, but there's need for more people helping to keep the rest updated. It would also be easy to add information and guides on the site if anyone wants to write something up (like that you can have app specific sobjs in progdir: )

Vacca foeda. Sum, ergo edo

Mr Bobo Cornwater
Go to top
Re: Why was SObjs added to OS4?
Just can't stay away
Just can't stay away


See User information
@ChrisH

Thanks to shared objects the next released version of diskimage.device will have both FLAC and WavPack support. If the only possibility to use these libraries was to directly link them into the CUE plugin then I wouldn't have bothered but thanks to the shared objects support in AmigaOS I can access them through DLOpen, DLSym and DLClose functions in elf.library.

Go to top
Re: Why was SObjs added to OS4?
Amigans Defender
Amigans Defender


See User information
@ChrisH

Quote:

Something I've long wondered about is why SObjs were added to AmigaOS4

I think that's quite easy: to allow/simplify/speed up the porting of crucial software technology from Linux. The idea was good and logical but we're beginning to experience the fact that the Linux environment is, simply, different.

The Rear Window blog

AmigaOne X5000 @ 2GHz / 4GB RAM / Radeon RX 560 / ESI Juli@ / AmigaOS 4.1 Final Edition
SAM440ep-flex @ 667MHz / 1GB RAM / Radeon 9250 / AmigaOS 4.1 Final Edition
Go to top
Re: Why was SObjs added to OS4?
Just popping in
Just popping in


See User information
Quote:

salass00 wrote:

Thanks to shared objects the next released version of diskimage.device will have both FLAC and WavPack support.


Please elaborate how FLAC and WavPack are in any way related to what diskimage.device is supposed to do - are you setting a new standard for bloatware?

-- kolla
Go to top
Re: Why was SObjs added to OS4?
Just can't stay away
Just can't stay away


See User information
@kolla

Just do a google search on "cue flac" f.e.. In addition to .bin (binary) the .cue format allows storing audio tracks in several other formats like wav, aiff, mp3, flac and wavpack. The diskimage.device CUE plugin supports all of these formats. WAV and AIFF support is builtin, the rest are handled through external libraries if they are available. If a needed library can't be opened when it's needed then an error message is displayed. The current size of the CUE plugin is about 36 kb. I don't really see how you can call that bloat...

Go to top
Re: Why was SObjs added to OS4?
Amigans Defender
Amigans Defender


See User information
@centaurz

Quote:

Uh ? The effort to port statically linked libraries is exactly the same as for shared objects. The difference is that with the latter you will end up with a directory full of different versions of the same library that are incompatible with one another, and not even shared in memory in the case of OS4.


That's not true. First because you can always put your .so in your progdir: if you have used different library version.
But even with classic libraries you could have problems if you replace a wrong .library with another one. There is no differences between .so and .library in code usage except the shared code of the .library in memory but in the day usage if a developer replace your bzip.library with another one bugged you will have the same problem of libbz2.so replaced by another one

i'm really tired...
Go to top
Re: Why was SObjs added to OS4?
Just popping in
Just popping in


See User information
Please, please, please more native amiga libraries and less linux Sobjs

"A man is only as old as the womans he feels"
Go to top
Re: Why was SObjs added to OS4?
Just can't stay away
Just can't stay away


See User information
@orgin

Oh yeah, I gotta remember to go through it all. I've only updated a few things at the moment.

Go to top
Re: Why was SObjs added to OS4?
Amigans Defender
Amigans Defender


See User information
@Fransexy

Quote:

Please, please, please more native amiga libraries and less linux Sobjs


They are not linux Sobjs, they are amiga Sobjs. and as i said there is not great difference between .library and .so (except that amiga library can be loaded one time and shared between programs and this means less memory) but nothing else

i'm really tired...
Go to top

  Register To Post
(1) 2 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project