What Linux distribution to choose for learning Ruby and Ruby

Hi!

I apologize forward for somewhat dumb question…

I am just another programmer whose (relatively successful) ASP.NET
career
was somewhat disrupted by encountering Ruby/Ruby on Rails few months
ago. So
far I learned and used Ruby just on Windows, but now I decided o give it
try
also on Linux.

So, what Linux distribution would you recommend for programmer who have
master degree in CS, 10+ years experience as achitect/programmer on
Windows
(C++, C#, ASP.NET, MS SQL Server), good understanding of system
programming
concepts, but no Linux experience? I look forward to using Linux mainly
for
learning more Ruby and Ruby on Rails programming.

thanks in advance!
slavo.

Slavo F. wrote:

master degree in CS, 10+ years experience as achitect/programmer on Windows
(C++, C#, ASP.NET, MS SQL Server), good understanding of system programming
concepts, but no Linux experience? I look forward to using Linux mainly for
learning more Ruby and Ruby on Rails programming.

thanks in advance!
slavo.

debian or ubuntu - ubuntu is based on debian and is more widnows like
with graphical installers and stuff, beside that it have very good
package managing system, instaling ruby + ruby on rails + gems is as
easy as typing:

sudo aptitude install ruby1.8 rails rubygems

you an also install ruby 1.9 this way now!

greets

On Mon, Sep 10, 2007 at 06:41:12AM +0900, Marcin R. wrote:

also on Linux.

debian or ubuntu - ubuntu is based on debian and is more widnows like
with graphical installers and stuff, beside that it have very good
package managing system, instaling ruby + ruby on rails + gems is as
easy as typing:

sudo aptitude install ruby1.8 rails rubygems

you an also install ruby 1.9 this way now!

Ubuntu is more distinctly GUI-oriented in a “Windows-friendly” way.
Debian is . . . well, I like it a lot more than Ubuntu, for reasons of
stability, a more “authentic” Unix-like feel, and so on. Also, if
you’re
not looking specifically for Linux per se, but just want a free
Unix-like
OS, you might look into FreeBSD (or PC-BSD for a GUI-oriented,
“Windows-friendly” introduction to FreeBSD), which I find to be an even
more satisfying Unix experience. FreeBSD is, in fact, what I use for
all
my Ruby-related work these days (and basically all the rest of my work,
too, for that matter). Your mileage may vary.

master degree in CS, 10+ years experience as
achitect/programmer on Windows
(C++, C#, ASP.NET, MS SQL Server), good understanding of
system programming
concepts, but no Linux experience? I look forward to using
Linux mainly for
learning more Ruby and Ruby on Rails programming.

thanks in advance!
slavo.

I honestly think it doesn’t matter one bit - pick a well supported one
with a
large community and run with it. You may gain some advantage by running
the
distribution you eventually will deploy production code to as it allows
for
more holistic testing, but given what you want to do - Ruby and RoR -
you’re
looking at the same tools on whatever distribution you end up using: a
text
editor, a web server, probably a database server, ruby and the rails
gem. You
can run that on pretty much anything.

Felix

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Slavo F. wrote:

master degree in CS, 10+ years experience as achitect/programmer on Windows
(C++, C#, ASP.NET, MS SQL Server), good understanding of system programming
concepts, but no Linux experience? I look forward to using Linux mainly for
learning more Ruby and Ruby on Rails programming.

thanks in advance!
slavo.

Lots of questions:

  1. Have you considered staying on Windows and installing “Instant Rails”
    there?

  2. Have you considered installing the jRuby platform on Windows and
    using that?

  3. What do you want to learn about Linux? Linux is a pretty broad area.
    Do you want to learn how to “develop web applications” using the
    “native” Linux tools plus Ruby on Rails? Do you want to learn how to
    administer a Linux-based web application/Ruby on Rails server?

There are three main branches of Linux, plus a fourth less-well-known
branch that happens to be the one I use. :slight_smile: The main branches are Red
Hat Enterprise, SuSE (Novell) Enterprise, and Debian. Red Hat has an
associated community distro called Fedora and a number of binary
re-builds like CentOS and Scientific Linux. SuSE Enterprise has an
associated community distro called OpenSuSE. And Debian has an
associated sort-of-half commercial distro called Ubuntu.

All of them support the major open-source web servers and relational
databases. The “community” distros tend to have newer, less stable
packages than the “enterprise” distros, so if you want to focus on
learning Ruby and Rails, I’d recommend a community distro at a “testing”
level.

Those would be Fedora, OpenSuSE and Debian “testing”, aka “Lenny”. I’d
stay away from Ubuntu – I know people who swear by it and people who
swear at it, but it’s really a half-breed. It’s neither stable nor
testing, neither commercial nor community, and it’s not nearly as
“user-friendly” as it looks at first glance.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5G6p8fKMegVjSM8RAjHmAJ9K0qN+KjKyOYTBdcqffD1cdIEZbgCaA0Az
LoNXq5UTwh3Fzp5qQfct2gc=
=yxx9
-----END PGP SIGNATURE-----

Chad P. wrote:

try
also on Linux.

Ubuntu is more distinctly GUI-oriented in a “Windows-friendly” way.
Debian is . . . well, I like it a lot more than Ubuntu, for reasons of
stability, a more “authentic” Unix-like feel, and so on.

If you are still using a Windows box you can get either VMWare Server or
VMWare player (both free) and grab a pre-built virtual machine image
with Ubuntu and Rails all ready to go.

The upside is that you avoid the whole installation hassle (good to know
at some point, but maybe not the first thing you want to be concerned
with).

The down side is that, running inside a virtual machine, things can be
noticeably slower than running “live”.


James B.

www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.risingtidesoftware.com - Wicked Cool Coding

Thanks for all answers… :slight_smile:

On 9/10/07, M. Edward (Ed) Borasky [email protected] wrote:

  1. Have you considered staying on Windows and installing “Instant Rails”
    there?

Yes. This is where I am now. But majority of new developments and all
hostings I found are on Linux/Unix so …

  1. Have you considered installing the jRuby platform on Windows and

using that?

No. I really do not like to mess with Java stuff again (have a awful
experience with enterprise Java with which I have to interop with in one
of
our apps I developed in my work. Never more!). But I really looking
forward
to spent some time with IronRuby (http://ironruby.rubyforge.org/) when
it
will be more complete.

  1. What do you want to learn about Linux? Linux is a pretty broad area.

Do you want to learn how to “develop web applications” using the
“native” Linux tools plus Ruby on Rails? Do you want to learn how to
administer a Linux-based web application/Ruby on Rails server?

Well, for now I like to learn how to install Linux and apps I needed to
be
productive with developing web applications using Ruby on Rails. I do
not
looking forward to using Linux as my primary platform for now.

thanks.
– slavo.

On Sep 9, 5:41 pm, Marcin R. [email protected] wrote:

So, what Linux distribution would you recommend for programmer who have
package managing system, instaling ruby + ruby on rails + gems is as
easy as typing:

sudo aptitude install ruby1.8 rails rubygems

you an also install ruby 1.9 this way now!

greets

Simple. Which ever one you like best.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Slavo F. wrote:

Thanks for all answers… :slight_smile:

On 9/10/07, M. Edward (Ed) Borasky [email protected] wrote:
Yes. This is where I am now. But majority of new developments and all
hostings I found are on Linux/Unix so …

Yes … I guess I would pick the distro that “most” of the hostings use.
I haven’t done any analysis of that, but my gut feel is that most of the
enterprise-grade servers in the USA are using Red Hat Enterprise
Linux, probably RHEL 3 or 4, because upgrading is a pain for a server.

Of the ones that aren’t using RHEL, I’d guess that most of them are
using Fedora because of its Red Hat compatibility. Ubuntu and Gentoo
aren’t really known as server distros, and the RHEL rebuilds like CentOS
aren’t nearly as popular as Fedora.

No. I really do not like to mess with Java stuff again (have a awful
experience with enterprise Java with which I have to interop with in one of
our apps I developed in my work. Never more!). But I really looking forward
to spent some time with IronRuby (http://ironruby.rubyforge.org/) when it
will be more complete.

Well, both the jRuby and IronRuby developers frequent this list, so I’ll
let them answer questions about them.

Well, for now I like to learn how to install Linux and apps I needed to be
productive with developing web applications using Ruby on Rails. I do not
looking forward to using Linux as my primary platform for now.

In that case, I’d recommend either CentOS 5 or Fedora 7. Both are as
“easy to use” as Red Hat. CentOS 5 lags RHEL 5 updates by at most a day
or two, and it is for the most part stable and easy to work with.

What you don’t want to do with CentOS is try to manage packages that
aren’t part of the distro, including more recent versions of Ruby and
your database of choice (MySQL and PostgreSQL are the two big ones).
That way lies madness and spending time on stuff you don’t want to learn
rather than on Ruby, Rails and web application development. If you want
to stay current with Ruby, Rails and the databases, go with Fedora.

One other note: most Linux distros now include something called “mono”.
I don’t know the details, since I’m not a .NET person, but it is an open
source “.NET-like” platform of some sort.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5Ikm8fKMegVjSM8RAsP8AKDl8YBcT3zbId2nqG1kc3qhUO8uhwCgjTic
G427ZAgnWTuNuaiweSOuJyc=
=TysH
-----END PGP SIGNATURE-----

On Sep 9, 2:29 pm, “Slavo F.” [email protected] wrote:

master degree in CS, 10+ years experience as achitect/programmer on Windows
(C++, C#, ASP.NET, MS SQL Server), good understanding of system programming
concepts, but no Linux experience? I look forward to using Linux mainly for
learning more Ruby and Ruby on Rails programming.

If you are new to Linux, Ubuntu or Kubuntu is very likely the best
place to start these days.

But seeing that distributions are a rather personal matter, I can’t
let an oportunity like this go by without plugging my “brand”. I used
to be a Debian man, but these days I’m a happy Arch user --she’s lean
and fast. I’ll also put in a pitch for GoboLinux, which has a much
more elegant design than most distros.

T.

M. Edward (Ed) Borasky wrote:

One other note: most Linux distros now include something called “mono”.
I don’t know the details, since I’m not a .NET person, but it is an open
source “.NET-like” platform of some sort.

http://www.mono-project.com/Start
http://www.mono-project.com/Main_Page

From Redirecting…
What is Mono™ exactly?

The Mono Project is an open development initiative sponsored by Novell
to develop an open source, UNIX version of the Microsoft .NET
development platform. Its objective is to enable UNIX developers to
build and deploy cross-platform .NET Applications. The project
implements various technologies developed by Microsoft that have now
been submitted to the ECMA for standardization.

Mono is also available for windows, Mac OS X, Sun Solaris, BSD -
OpenBSD, FreeBSD, NetBSD

I’ve minimal experience with mono ( recently threw together a console
app to communicate with PostgreSQL ) ( the resultant app is executable
on both linux and windows ). I’ve played around with the IDE’s
Monodevelop on linux and sharpdevelop on windows.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Reid T. wrote:

What is Mono™ exactly?
OpenBSD, FreeBSD, NetBSD

I’ve minimal experience with mono ( recently threw together a console
app to communicate with PostgreSQL ) ( the resultant app is executable
on both linux and windows ). I’ve played around with the IDE’s
Monodevelop on linux and sharpdevelop on windows.

Thanks!! If my day job ever decides to make me a .NET developer, I’ll
keep “mono” in mind. Till then, there’s Gentoo. :wink:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5KQU8fKMegVjSM8RAnRuAJ9tOxmdT8ycoIPrhhZGb3Rxzod9aQCgmS/+
UqXEFFh3wdLRuJqvUv/TF0M=
=kykL
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Trans wrote:

But seeing that distributions are a rather personal matter, I can’t
let an oportunity like this go by without plugging my “brand”. I used
to be a Debian man, but these days I’m a happy Arch user --she’s lean
and fast. I’ll also put in a pitch for GoboLinux, which has a much
more elegant design than most distros.

Isn’t Arch a Debian derivative? There are lots of Debian derivatives,
but Ubuntu has somewhat eclipsed them by sheer marketing hype. But as
far as I can tell, it’s fairly easy to make a “pure Debian” system as
fast and lean as any of the derivatives or any other distro.

The bridge you have to cross (eventually) is whether you ever want to do
kernel builds or recompile packages from source. RHEL and its rebuilds
actively discourage rebuilding the kernel. It’s too easy to trash your
system that way. But rebuilding packages from source is easy on all the
major distros.

Or you could use Gentoo, where you have to recompile everything from
source. :slight_smile:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5KOI8fKMegVjSM8RAkMfAKCEQd8qwyzb+zyT2ZXzGQCK+Iks2ACfXHGp
ADcrylqQIx98nZD40Yz4nWo=
=V5jd
-----END PGP SIGNATURE-----

On Mon, 10 Sep 2007, M. Edward (Ed) Borasky wrote:

Isn’t Arch a Debian derivative? There are lots of Debian derivatives,
but Ubuntu has somewhat eclipsed them by sheer marketing hype. But as
far as I can tell, it’s fairly easy to make a “pure Debian” system as
fast and lean as any of the derivatives or any other distro.

All of my systems are CentOS, but if you don’t care about long term (5+
years) stability, Ubuntu is probably a better choice. With Ubuntu, I
would plan on rebuilding the system to the latest release every 12-18
months, but it is a much more friendly distro for the newcomer.

The bridge you have to cross (eventually) is whether you ever want to do
kernel builds or recompile packages from source. RHEL and its rebuilds
actively discourage rebuilding the kernel. It’s too easy to trash your
system that way. But rebuilding packages from source is easy on all the
major distros.

I routinely grab updated source RPMs and rebuild packages, but I also do
Linux sysadmin full time for a living. I haven’t had any reason to do a
kernel rebuild in a few years now, so I think that’s far less of an
issue
these days (but monolithic kernel still suck!).

Also, with CentOS, I add the rpmforge package repository to the list of
sources. Lots of good stuff there.

– Matt
It’s not what I know that counts.
It’s what I can remember in time to use.

On Sep 9, 6:54 pm, “M. Edward (Ed) Borasky” [email protected] wrote:

Isn’t Arch a Debian derivative? There are lots of Debian derivatives,
but Ubuntu has somewhat eclipsed them by sheer marketing hype. But as
far as I can tell, it’s fairly easy to make a “pure Debian” system as
fast and lean as any of the derivatives or any other distro.

Nope. Arch is not based on Debian. Arch is it’s own creation, probably
more similar to Slackware than anything else. It is about as close as
you get to a source based distro without actually becoming one. The
pacman package manager is very straightforward.

The bridge you have to cross (eventually) is whether you ever want to do
kernel builds or recompile packages from source. RHEL and its rebuilds
actively discourage rebuilding the kernel. It’s too easy to trash your
system that way. But rebuilding packages from source is easy on all the
major distros.

Or you could use Gentoo, where you have to recompile everything from
source. :slight_smile:

Ah, come on! SourceMage or Lunar is where the real source code action
is at :wink:

T.

M. Edward (Ed) Borasky wrote:

Thanks!! If my day job ever decides to make me a .NET developer, I’ll
keep “mono” in mind. Till then, there’s Gentoo. :wink:

I was running gentoo on a 700 mhz laptop til it died a couple of weeks
ago. I get a new PC at work tomorrow - dell 9200, dual core, 64bit,
blah, blah. Trying to decide whether to put straight gentoo or sabayon
on it ( current work pc is ubuntu feisty ). Have you ever looked at
sabayon? http://www.sabayonlinux.org/

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Reid T. wrote:

Yeah, I’ve looked at Sabayon – it’s a Gentoo derivative. I’m not a big
fan of derivative distros. The big three full community distros –
Fedora, Debian and OpenSuSE – are where I think the real action is,
with Gentoo nipping at their heels in some arenas but hopelessly out of
the running in others. For example, I can’t imagine running a scientific
workstation with anything other than Gentoo or Debian, and I can’t
imagine running a server on anything except CentOS/RHEL, Fedora or
Debian, although I’m sure OpenSuSE is fine for servers, as is its
commercial big brother from Novell.

Since the OP is interested in Ruby and Rails, and since Rails is a
server, I pointed him towards Fedora and CentOS because I think they’re
better servers. Debian stable is also an excellent server, but there’s a
lot more publicly-available information about administering the Red Hat
family than there is about Debian.

I don’t think, for example, you can walk into a Barnes and Noble or
Borders and pick up a book on Debian system administration that’s
current with “etch”, but you can find oodles of books on Red Hat
Enterprise Linux and Fedora. Of course, if you live in Portland, you can
walk down to Powell’s Technical Books and get anything. :wink:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5MQG8fKMegVjSM8RAieAAJ42JXldQY/gciiV1wxBDRW4x38qhgCffYSE
qGVRzJG131WcY5reFv9okCU=
=MTdr
-----END PGP SIGNATURE-----

Marcin R. pisze:

also on Linux.
thanks in advance!
you an also install ruby 1.9 this way now!

greets

it depends from some reasons. firsly - your experience in linux ,
secondly personal ‘likes’ (kde/gnome/…).
i use debian because of a lot packages , easy administrating,
flexibility.
if you have some experiences in linux you may choose debian, if not -
maybe you should try ubuntu/kubuntu.
ubuntu has a lot of forums/wikis for newbies. gentoo has great wiki, but
i’m not sure that is a good distribution for people who dont like
playing around with system :slight_smile: instaling packages in debian-based systems
is much easier and faster (!).
choose ubunt - if you would like you will be able to easily switch
system to debian.

Ubuntu (gnome desktop) or Kubuntu (KDE ) if you want easy to get it
going, these are definitely easy to install (and based on Debian).
After getting them going, though, Ubuntu has a lot less customization
you can do. Kubuntu leaves you with more control over the GUI because
its KDE. You can set it up to be more Windows like, more OS X like or
something else all together.

If you want a lot of flexibility, Gentoo.

If you want to match your servers, go with Fedora or Red Hat, Suse or
OpenSuse, or Debian. They’re all Linux, but pretty different from
eachother in surprising little ways.

It’s a tough call. Grab a few older machines, and try installing them
and messing with them.

I’ve even tried YDL (yellow dog linux) for power pc computers
(only?). And it has a nice installer, but a terrible interface called
E17.

But while you’re at it, if you’re planning to do Rails, seriously
consider OS X as well, you can run Windows on the same machine these
days, so you have a one stop dev shop, and OS X is a BSD with a nice
Bash. It’s pretty popular in the Rails community, and for good
reason. It’s got a lot of good Rails development tools available, and
workflows well established.

Hi Slavo,

Slavo F. wrote:

So, what Linux distribution would you recommend for programmer who have
master degree in CS, 10+ years experience as achitect/programmer on Windows
(C++, C#, ASP.NET, MS SQL Server), good understanding of system programming
concepts, but no Linux experience? I look forward to using Linux mainly for
learning more Ruby and Ruby on Rails programming.

thanks in advance!
slavo.

I used Gentoo at home and work for a few years and loved it. I had tried
many others but I really started to appreciate gnu/linux etc when I got
into gentoo. Gentoo is good for getting the latest and greatest versions
of libraries/applications, and the forum community is (was) really
helpful and knowledgeable.

Debian is also really nice and much faster than gentoo to get up and
running.

With your background I reckon if you have the will/patience you will be
fine with any distribution. Just try to block out what you know about
OS’s from Windows and embrace the terminal.

Cheers,
Mark

p.s. whichever you choose, make sure you create a separate /home
partition so you can easily install a new distribution without losing
your settings.