silent11 has asked for the wisdom of the Perl Monks concerning the following question:
I'm a web developer, I enjoy everything from layout to design, to graphics, to programming.
I currently develop my perl scripts on a windows (W2k) box and then upload my files to FreeBSD where my site is hosted.
Recently I have had a few frustrations with the subtle differences between unix perl and the Win version from Activestate.
Most of my frustration comes from modules.
PPM is great to an extent, but some modules are built exclusively for unix machines. (Even my understanding of the term 'unix' is vauge, when I speak of unix, I mean anything from RedHat to caldera to BSD, etc, etc..)
I figure if I switch to a unix box it could reduce my incompatibility frustrations and benefit myself by learning a new OS.
So my question is: given my situation, which flavor of unix (or any OS for that matter) would you suggest that I develop my perl on?
What I need:
- an OS that comes with perl, but willing to install ....
- an OS that supports MySQL (preferrably as easy to install as on my win machines)
- an OS that has a nice Xwindows mode like I had in RedHat 7.0 ( not to fond of 'pico' style editors)
- an OS compatible with Apache (or even an OS with apache web server built-in if that exists)
- an OS capable of running mod_perl
- an OS that has the potential of sharing files with windows machines (....remembers hearing something of samba..)
I am really open to anything, I'd like to hear what you hardcore unix monks think, and I also want to hear from those new to unix who have dumped Bill and his OS.
Thanks in advance,
silent11
Why not develop on your target platform?
by Rex(Wrecks) (Curate) on May 31, 2002 at 03:58 UTC
|
cjf is right about not getting an un-biased opinion. I would vote for FreeBSD, just cuz I like it :)
Your question should be more like, "What OS is best for this task?" since all OS's have strenghts and weakness.
One thing you did say that makes me suggest FreeBSD even more is your target machine. If you are starting from scratch anyway, build a machine with all the same versions of Apache, MySQL, Perl, and any other tools, that your site server has. This will make compatability issues minimal. It should reduce the "Well it worked on *my* machine!" symptoms as much as possible. And since FreeBSD is free, and fits all of your criteria...to me it is a given.
"Nothing is sure but death and taxes" I say combine the two and its death to all taxes! | [reply] |
|
I'll second that - it is always better to have the same environment for your development box and your production box (or be as close as possible).
Michael
| [reply] |
Re: perl development OS of choice
by Maclir (Curate) on May 31, 2002 at 04:03 UTC
|
Hmm - a good way to start a religious argument.
As you have found, while Perl is supported on various Microsoft environments, there are several nits that wear thin after a while. I would recommend you have two environments - your existing Win 2k and a Unix-like environment. Just as with web developement, you (should) test your designs on as many different browsers as possible, having a Unix and a Windows environment to test your Perl scripts is a good one.
In my experience, there is no substantial difference - from a Perl development point of view - between any of the current versions of Unix - the commercial ones (Solaris, HP-UX, AIX); the BSD versions or the Linux versions. Since your main aim is to have a good "unixish" Perl development environment, it is hard to go past a recent Red Hat distribution. They are easy to install, easy to upgrade software using their RPM packaging, and have extensive documentation. Other people may prefer a more "traditional" Unix version, like the Linux Slackware, or one of the BSD versions; but for your need, Red Hat shoudl be more than adequate.
You don't need fancy hardware - I have a 4 year old AMD K6-2 300 MHz machine, with 64 MB of memory, and an 8GB disk, which runs just fine. As well, with this environment, you can start to expand your skills. Since you can now run your own web server (Apache is included), you can learn all about how the web server actually operates. Install mod_perl, maybe some tools like Template::Toolkit, HTML::Mason, or EmbPerl. Connect your windows machine to the Linux machine, get some understanding of TCP/IP networking (say, DHCP, DNS, firewalls, ip masquerading).
Plus, you shouldn't have to pay al lthat much for a good manual and the software - even check out your local library. | [reply] |
Re: perl development OS of choice
by perrin (Chancellor) on May 31, 2002 at 03:42 UTC
|
It doesn't really matter which unix you use, but you will have the easiest time getting support and correct compiles on Red Hat or FreeBSD. These are the most common free OSes mentioned on the mod_perl list. | [reply] |
Re: Best Perl development operating system
by cjf (Parson) on May 31, 2002 at 03:32 UTC
|
You won't find an unbiased answer to this question. That said, I vote Red Hat (7.3 is the current release). It fits all your requirements and is extremely easy to install and use.
| [reply] |
Re: perl development OS of choice
by samtregar (Abbot) on May 31, 2002 at 04:37 UTC
|
I recommend you check out VMWare. Using VMWare you can keep running Windows while you evaluate various Unix environments. Setup virtual boxes with Redhat, Debian, FreeBSD, etc. Then pick the one you like the best and install it for real.
-sam
| [reply] |
Re: perl development OS of choice
by webfiend (Vicar) on May 31, 2002 at 04:55 UTC
|
I'm using Redhat myself, but that's just today. Thought I'd stir the pot a little more, though. Who says you have to switch to a different OS at all? Cygwin provides a fairly convincing UNIX-y layer to add to your windows machine. You get most of the tools that are available to the rest of us (heck, I was serving my site from Apache under Cygwin while I organized things for a fresh Linux install, and played with perl and python and ruby, too), but you don't have to give up any of the Windows tools you may have gotten familiar with. Heck, you won't even have to reboot to get to them!
Cygwin isn't a perfect solution, but it's a nice holdover while you figure out whether to grab a Linux or BSD distro, or save up for a shiny new Mac w/ OS X :-)
Just one more option for you to think about...
"All you need is ignorance and confidence; then success is sure."-- Mark Twain
| [reply] |
Re: perl development OS of choice
by Elian (Parson) on May 31, 2002 at 04:20 UTC
|
If you're not wedded to your hardware, I'd recommend picking up a Mac and using OS X. You get all the goodness of a BSD, plus a descendant of NeXTStep (one of the nicest development environments for a C family language ever), plus a GUI that really and truly fails to suck. | [reply] |
|
I agree completely. I used NetBSD and Linux for a long time to do development but since I started using MacOS X, I have to say that i'm pretty spoiled. Perl, Apache, etc. are all installed by default. Add fink and you have pretty much everything that you could want.
And yes, the GUI is very nice and quite well thought out.
Plus you can use quite a few applications not normally found on *nix boxes. Photoshop, Illustrator, Flash (Natively I think), and others.
I cant help but say again that fink is _awesome_. I installed it and somewhat as a test of how quickly it would break, I typed "fink install enlightenment" and damned if it didn't download and compile everything that I needed to run it in X. Well, that's not completely true. I had to run 'fink install xfree86-rootless' to get the X server just how I wanted it but I can now switch back and forth from Aqua to X with a cmd-opt-a. All of this on a MAC. That to me is about 20 different kinds of cool.
| [reply] |
|
| [reply] |
|
With apologies to my MacOS X brethren, I would not recommend it as my first choice. Don't get me wrong, I love my i-Book running OS X, but the case insensitive filesystem has caused me some grief, I can't get 5.6.1 to build (stock version is 5.6.0) which makes using CPAN a pain (always wants to start off by installing 5.6.1 and fails). Also, as has always been the case with MacOS, the tiny installed base means you are always a bit behind the rest of the world.At work I use Linux for stuff I will deploy on HP-UX or AIX and have had few problems, but Linux is not UNIX. BSD is, and since you target host is BSD I will side with the other BSD voices on this one.You can run FreeBSD or NetBSD on even older hardware. To run MacOS X you'll need relatively new/fast stuff.
| [reply] |
|
| [reply] |
|
Re: perl development OS of choice
by cLive ;-) (Prior) on May 31, 2002 at 08:21 UTC
|
Well, I must admit, I'm at the in between stage - I used to be 100% on Windows for desktop, but am now 70% on Linux. I tried SuSe a while ago, but really like Mandrake 8.2 now.
If you have a spare machine, I'd start gradually, learning one desktop app at a time as you need to. The order I learnt them in was:
- konqueror & kmail (browser and e-mail)
- bash shell & SSH
- gFTP
- bluefish (but I dropped that, since I don't do much HTML these days)
- kate - great GUI editor
- gimp
- vim
If you try and do everything at once, I think you might get a little overwhelmed - so start gradually if you can.
You'll probably need to keep a Windows box in some form to test web pages in IE, whatever you do...
Just my .02
cLive ;-)
--
seek(JOB,$$LA,0);
| [reply] |
Re: perl development OS of choice
by DigitalKitty (Parson) on May 31, 2002 at 04:20 UTC
|
Hi silent11.
I would have to recommend Mandrake or Red Hat.
Both distributions are widely supported and the install
process is quite easy. If you are a 'newbie' to non-windows
operating systems, you'll probably find the improvements most welcome.
Both ship with modern configurations ( perl, MySql, ssh,
Postgresql, samba, etc. ) and if you would like something
additional, there is always the RPM 'route' ( in addition
to the customary tar balls ). Virtually any *nix or *bsd
based machine will be able to handle your needs. Perl
was 'spawned' ( bad pun. Sorry ) on a *nix machine and it still enjoys a richer existence there.
My friend Eric moved from Red Hat to Mandrake and has never
regretted it. The 'power pack' version of Mandrake is so
full of useful apps., one feels almost guilty when they see
all they have at their disposal.
I have also heard good things about SUSE and Debian. *BSD
is an excellent op.sys. but ( from what I've heard ), it's geared toward the experienced user ( this could be incorrect as I haven't installed it - yet ).
Either way, you should investigate several distros to find the one(s) you feel most comfortable with. In the long run, I think you'll be glad you did.
Hope this helps,
-Katie
| [reply] |
Re: perl development OS of choice
by ignatz (Vicar) on May 31, 2002 at 15:19 UTC
|
You're developing for a FreeBSD site so use FreeBSD. It meets all of your needs and eliminates the debugging questions around developing on a system different from the one it's being served on.
()-()
\"/
`
| [reply] |
Re: perl development OS of choice
by Aristotle (Chancellor) on May 31, 2002 at 15:07 UTC
|
The only thing RedHat, Mandrake etc have going for them is that they spare a newbie a lot of RTFM. If you really need that, between the two I'd recommend Mandrake, since it both is a notch simpler yet to install and maintain than RedHat, and is designed a wee bit cleaner.
I cannot recommend SuSE to anyone. I have come so far as to say they manage to skewer Linux into a system that is hardly any better than Windows.
But these distros are bloated. If this is for a development only system where you don't care for the multimedia whizbang being set up out of the box, use Slackware or Debian - lean, mean, crazy fast. I prefer Slackware for the insistence on the simplest possible mechanisms everywhere in the distro's design, but a newbie to Unix might prefer Debian for their fantastic apt-* package management tools. There is no better system for binary packages anywhere.
FreeBSD is also a great choice.
Finally, a distribution that deserves more recognition is Gentoo, a Linux with a "package" system which works much like what is known to FreeBSD as the ports - ie packages are all sourcecode that gets automatically downloaded, compiled, tested and installed. The process includes checking for dependencies and recursively resolving them. It's absolutely great if you have the Unix experience to handle the distro (and a fast system to handle a few hundred megabytes of source being compiled during installation). (My only gripe is the SysV style init process.)
____________ Makeshifts last the longest.
| [reply] |
Re: perl development OS of choice
by derby (Abbot) on May 31, 2002 at 11:17 UTC
|
Well by all means, if you can, switch to any *nix. Either
one of the BSDs (OpenBSD, FreeBSD, NetBSD - check out
daemonnews
for info) or one of the major linux distros (RedHat, Debian, Mandrake - check out lwn for info).
But, and I know I sound like a broken record, instead of
activestate's perl, check out cygwin for making your
win box more *nix-y. It comes stock with most of your reqs - there's no real need for X and the database is postgres (but you can get mysql for windows from other sources).
-derby | [reply] |
Re: perl development OS of choice
by Steve_p (Priest) on May 31, 2002 at 14:05 UTC
|
I have never used it, but if you want to reduce your chance for incompatibilities, I'd use FreeBSD. That would be my choice if I were in your shoes. | [reply] |
|
|