Most favoured status in development environments.
Ralf Corsepius
ralf.corsepius at rtems.org
Sat Oct 13 04:22:50 UTC 2012
On 10/12/2012 08:26 PM, Joel Sherrill wrote:
> On 10/12/2012 12:29 PM, Andrei Chichak wrote:
>> Not wanting to start a germanic/aussie flame war (PLEASE), but…
>>
>> I'm starting on a new project and previously have used the MSYS
>> environment to develop my code. A while back Ralf had mentioned that
>> the installation/rebuild goes a lot faster if you are running Linux
>> instead of MSYS.
That's correct. The GNU Toolchain is a lot faster on *nix-ish platforms
and (Independently of RTEMS) best supported on Linux.
>> Since I would be running MSYS under windows under
>> Fusion on a Mac,
The Mac has the problem of it being a closed source OS and it therefore
not being supported and not being possible to support to the extend as
Linux is.
Msys/MinGW has the problem of there not being a "single leading upstream
distribution" (There are competing implementations) and of technical
deficiencies (They do not provide all technically required resources to
fully support them).
>> this makes a lot of sense. I tried getting the tools
>> running on the Mac once, it worked until the next version came around
>> and I was left behind and everything broke.
>>
>> Question: what is the most favoured current development environment
>> operating system? CentOS? Fedora 17?
> It depends. :)
Yes. It primarily depends on your personal goals.
I am using Fedora (currently F17), because it's a very modern, very
actively maintained (bugs ususally are addressed very fast),
desktop-focused OS, which is trying to stay on the "leading edge of
development". Due to its nature, the price is "high updates/upgrade
rates", its short life time and occasionally have to cope with "leading
edge warts".
IMO, it's an excellent choice for developers, who are willing to get
involved into opensource, but it is bad a choice of "total Linux
newcomers" rsp. for users who "simply want to consume".
CentOS is an ultra-conservatively maintained, server-focused OS. It's
primary deployment scenario is "install and forget" (web-servers,
database servers etc.). One of its key features is "no API/ABI changes"
incompatible changes during is entire life-time and a very extreme
life-time.
Technically, CentOS basically is a "Red Hat-polished" subset of an
older Fedora release.
Using it as desktop-OS is possible, but is not what it designed for
(It's a bit like using a truck as a family car). Using it as development
platform is possible until the point, when the age of the components
CentOS consists of starts showing (No ABI/ABI-changes) and renders
things complicated. Also, due to CentOS being based on a non-Free Linux
distribution, getting bugs fixed is hard to achieve.
Due to its server- and non-GUI orientedness is it also is a bad choice
for "total newcomers". It's however a good choice for users who "do not
want to get involved into opensource" and to "consume only".
> (A) If you prefer getting the tools in binary form and the upgrade
> facility integrated with the OS, then an RPM based GNU/Linux distribution
> is a good choice.
That's one aspect, others e.g. are
- better system consistency
- integrated debugging of the host tools (You can debug the toolchains
without having to (re-) build them).
> Assuming you want to use an RPM based GNU/Linux
> distribution. :)
Well, ... IMO, many non-rpm based Linux distros are excellent choices
for GUI-oriented users and for newcomers, however these distros usually
are bad choices for developers (or server-deployment).
That said, if I were a mere "desktop user", who just want to run "some
apps" I'd also likely use Ubuntu or one of its derivatives (MiNT).
Being a non-GUI-oriented Linux veteran, a developer, a
packaging-specialist, who is deeply familiar with rpm-packaging and
somewhat familiar with deb-packaging, I personally favor Fedora.
> (B) If you want control over the source and know that you can build
> everything yourself, then it really doesn't matter what host
> you are on.
Not quite. Building is one thing, system-integration (aka "packaging")
is another one. I.e. in addition to "knowing how to build", you need to
know to integrate things into a system.
Doing this without deep understanding of the system in longer terms is
almost guaranteed for you to screw up your system installation.
Having been bitten by such screw ups in the past, was one key reason for
me to get into packaging and is reason for me to discourage people from
"building from source".
> Linux, MacOS, and FreeBSD are all fine hosts.
I disagree on the latter two. IMO, there are huge gaps in the amount of
attention MacOS and FreeBSD receive by the GNU toolchains in comparison
to Linux.
If there's an order, then it's likely 1. Linux, 2. FreeBSD, 3. MacOS.
Ralf
More information about the users
mailing list