http://www.cs.wustl.edu/~schmidt/TAO.html Which is based on http://www.cs.wustl.edu/~schmidt/ACE.html A very nice set of libraries. Artur K. On Mon, Jun 9, 2008 at 1:50 PM, Kurt Stephens <[EMAIL PROTECTED]> wrote:
> Karl Robillard wrote: > > On Sunday 08 June 2008 03:30:29 am Ivan Krstić wrote: > >> On Jun 8, 2008, at 12:47 AM, Karl Robillard wrote: > >>> "I will write portable code, which does not assume any specific CPU or > OS, so as to respect the users right to run my software on many different > >>> systems." > >> CPU, maybe, but writing OS-portable code is another matter entirely. > With low-level code, OS portability does not require the _absence_ of some > action > >> (making assumptions about a specific OS), but a very strong _presence_ > of a dedicated effort to keep up with a pile of mutually incompatible > systems. It's > >> reasonable to hold programmers to an understanding of endianness and > writing 64-bit clean code, yes, but "not assuming a particular OS" is a pipe > dream. > >> Even if you follow POSIX to the letter, you'll find yourself > special-casing behavior across Solaris, Linux and *BSD, and just about every > subsystem on > >> Windows. > > > > I don't see any real difference. In fact, OS portability is probably the > easier part to achieve due to existing standards (TCP/IP, OpenGL, etc) and a > > plethora of cross-platform libraries. As for low-level code, its not > difficult to hide OS differences behind a small interface. In the end, > supporting more > > than one platform is simply a choice to be made - mostly in the form of > choosing *not* to use tools which are deliberately designed to *prevent* > portability > > (e.g. Direct3D). > > > > > > On Sunday 08 June 2008 09:28:10 pm Kurt Stephens wrote: > >> Worked with a programmer who did just such a thing for an application > that he knew he need to port between Solaris, NeXTSTEP and Windows. It was > a lot of > >> work, but it only paid-off after the project lasted 6 years. > > > > Really? This isn't rocket science guys. I work for a small company > which ships GUI apps on Linux, Mac OS, Solaris, and Windows. I think I > spend more time > > packaging the software for each platform than getting it to run. > > You folks may be reading too much into my comment. I don't expect > everyone to write > > software that will magically run everywhere. > > I would just be happy if people didn't go out of their way to tie > software to any specific OS. > > > > I don't think developers with any real experience do not have portability > in mind early in a project, it's probably mostly laziness and lack of > platform-specific > knowledge. But premature portability is like premature optimization. > > Porting a language and its system software is far different > than porting a GUI application; Machine and OS dependencies: > calling conventions, code generation issues, endianness (and having to > support more than one), > memory layout, alignment and protection, register allocation, object file > formats, threading, I/O, signals, > deviations from "standards", buggy libraries, etc. at a much lower-level. > > Most GUI environments have similar models that abstract most of the OS away > -- e.g.: Java AWT. > > For a good example of how difficult portability is for system software, > read the Boehm GC source. > They have explicitly dropped portability support for old, uncommon > platforms in recent versions. > Sometimes it is too difficult to maintain it against the momentum of the > rest of the world when effort > is not warranted on a small user base. > > Its not impossible -- but portability much more difficult in lower layers > because everything > is different and changing underneath and everything above relies on those > layers being stable, yet flexible. > > Hopefully well-layered and self-reinforcing systems like COLAs make > portability easier than > the typical programming toolset. But not without making some difficult and > subtle decisions in > lower levels: deciding where to keep things flexible and where to stick to > an implementation plan. > Things should be open to make portability more tractable, but not at the > expense of progress. > > I'd rather work on a full-featured system on a single, commonly-used > platform, than a system > that is only partially functional on many platforms. > > > Achieving this is not a pipe dream and does not take 6 years > > I did not mean to imply it took 6 years to port the code, it took 6 years > of feature development on the project by one developer to make porting > worthwhile. > > During those 6 years one of those platforms became "unsupported" -- guess > which one? > The platform was my personal favorite and it could not scale > 2GB/process. > > Emulation and virtualization is the future and present of computing; maybe > portability is not > really an issue? Which parts of Ocean are difficult to port? > > Hmm... speaking of software which magically runs everywhere, > > did anyone use the TAO system? > > Link? > > Kurt Stephens > > _______________________________________________ > fonc mailing list > [email protected] > http://vpri.org/mailman/listinfo/fonc >
_______________________________________________ fonc mailing list [email protected] http://vpri.org/mailman/listinfo/fonc
