|
Authored by: Anonymous on Saturday, May 26 2012 @ 01:22 PM EDT |
Using one compiler across all platforms is fabulous. Aside from a thin platform
abstraction layer for each kernel (BSD, Linux, OSX, Windows) all of my code is
unchanged and cross platform because I use the same GNU compiler on each OS.
At one point I used CMake and coded conditional blocks, or limited feature use
for source code compatibility with MS's compiler, but they're NEVER going to
support C99 or later, so I dropped them. They have a somewhat up to date C++
support, but it's not worth trying to code for multiple compilers at once, when
we have compilers like LLVM and GCC that run on every OS.
Why anyone would needlessly ignore market segments by using a compiler that only
runs on one proprietary OS is baffling to me.
However, If APIs are subject to copyright then MinGW which I use to interface
with Windows may have some problems. The same is true for my OSX development.
Hint: Apple charges $100 for access to their API, it's called XCode...
I use this instead: https://github.com/kennethreitz/osx-gcc-installer
Copyrightable APIs would force everyone to use MS's compiler (or a compiler that
licenses their API). It would also allow Apple to put an end to the above GCC
project.
It won't really affect me at all either way though. I'll just drop those
incompatible proprietary platforms if their APIs become copyright-able and
unsuable for free.
In the past, my software was Only released for GNU/Linux & GNU/Unix.
Windows & Mac installation instructions said: "Dual Boot or Install
GNU/Linux, then proceed with the instructions." Now they essentially say:
"A GNU capable platform is required to compile, such as GNU/Linux,
GNU/Windows or GNU/OSX."
Seriously, folks: Kernels are irrelevant, users don't care about the OS, they
just want applications; Cross platform is the future & FLOSS tool-chains,
like GNU, Browsers + HTML & JS, or even Java, are taking us there.
I had a few complaints back in the day only supporting GNU on Linux or Unix, but
the reality is that if someone wanted to run my software they actually could do
so on just about any hardware, without paying for OSX or Windows licensing.
So, you see, I don't care how many other platforms I can release on as long as I
can still release on GNU/Unix & GNU/Linux users can still run my software on
their hardware. Creating releases for each platform is just a convenience for
the users.
Oh, you may be thinking: "But then you'll miss out on all the market
share" HA! You're right! But I don't CARE, because I GET PAID WHEN I DO
WORK, not after I worked via overcharging for something that has no value due to
infinite supply (duplicating bits). My work is what's scarce, so I charge for
that -- Learned that in Economics 101.[ Reply to This | Parent | # ]
|
|
|
|
|