PDF Editor in Ubuntu
Vincent Trouilliez
vincent.trouilliez at modulonet.fr
Fri May 29 19:51:05 UTC 2009
On Fri, 29 May 2009 22:07:06 +0300
Dotan Cohen <dotancohen at gmail.com> wrote:
> Except when they use platform-dependant libraries or OS functions.
I think I my message clearly made a difference between high anbd low
level apps. Photoshop or PDF editors clearly belong to the second
category ;-)
> Even my one-semester course in C was enough to convince me that coding
> on my then-Fedora machine was not producing the code that they wanted
> in Turbo-C, and that the two were incompatible. In an ideal world, C
> would be C and the code would compile where you had a C compiler.
> Unfortunately, it doesn't wuite work that way in the real world.
Well, using a HLL like C or anything is necessary to produce portable
code, but it's not sufficient indeed. Portability must be in the
developer's mind from the start, as the devil lies in the details.
That's why porting an app is rarely straightforward.. because
it was often not meant to be portable to start with, so tons of little
details must be looked at to make sure that the new compiler on the new
OS will produce the expected/same result as the original compiler on the
original OS. Not everything is defined in the C standard (like
interrupt handling, or even integer data types), so
when you are used to a particular compiler and hardware/CPU, say you
only develop on Linux using GCC, you end up writing C code that suits
the compiler so to speak. Writing really portable C code is painful and
doesn't always lead to the most legible code, that's why if the app is
not meant to be portable when it is designed, it's not worth bothering
with portability issues more than that... you just write the best
"looking" code/syntax that your compiler allows, favoring portability
only where it doesn't hurt. So if later you want to port it.. well you
have to go revisit all these details so it's a lot of work. So in the
case of Photoshop, since it's already compiled on two different
platforms, most of the portability issues must have already been fixed,
so porting to Linux or anything else, will be a lot easier. I assume the
only big problem in the case of Photoshop or other data processing
apps, is the rare but important low-level bits of the code : handling
multi-threading, as obviously like you said, there is (most likely) no
standardized system calls in this area. Still, they could make a
simple/single process version for joe public, and then take some time to
sort the threading issues and release that later. So I think the day
Adobe decides to port its flag ships, it should not take long between
the decision and the availability. Now how many decades will it take
for Linux to grow enough to motivate ISV's to port their stuff to
Linux... 50 years ? Arf arf.. maybe I am a bad mouth, let's say 15
years instead...
--
Vince
More information about the ubuntu-users
mailing list