Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Please help. I need your advice and guidance, please.

How is Solaris 10 as a Perl development platform?

How is Solaris 10 as a Perl production deployment platform?

What are the strengths and downsides of a home based individual who finds *nix and Perl appealing choosing Solaris 10 as their *nix platform for the following:

1) learning Perl (very well);

2) full time web application development in Perl on Solaris 10;

3) running and maintaining Perl web applications that get a lot of both static and dynamic traffic (at least able to handle a "Slashdotting")?

I'm going to learn both *nix and Perl (with PostgreSQL as the database) -- then develop and deploy web applications. I know this will take a while to learn well. I'm willing to put in the time, but want to choose my *nix OS well.

I've read about Solaris 10 having dtrace, zones and zfs. Those sound appealing, but most of what I read on the Internet on *nix and Perl speak about Linux or FreeBSD, rather than Solaris 10. Why? Solaris 10 has been out for a while now. Is there some downside that isn't mentioned?

I have no personal experience to base a platform choice upon. But from lurking and reading here I believe this is the place to get good help, advice, and some guidance. So thanks in advance for your help!

  • Comment on Solaris 10 for Perl development? Problems? Upside? Your thoughts, please!

Replies are listed 'Best First'.
Re: Solaris 10 for Perl development? Problems? Upside? Your thoughts, please!
by mirod (Canon) on Sep 17, 2006 at 19:42 UTC

    Solaris is a *nix, so really it's not so different from any other unix box. I usually develop on Linux and install my code on the production server that runs Solaris (<10), without any problem. Plus Solaris uses Perl for it's install, so it's pretty well tested. Sun provides, or at least used to provide, patches to make sure they can run a proper version of Perl.

    On the down side, I find package management on Solaris sucks. It's so easy these days to grap an RPM or .deb of any open-source software on a linux box, and to get everything installed in minutes, that using Solaris seems like going back a few years, when you had to hunt packages, hand-compile (and sometimes patch) a few of them, and generally waste a lot of time.

    So in short: Perl runs just fine on Solaris, but I found it a pretty backwards platform for general development.

Re: Solaris 10 for Perl development? Problems? Upside? Your thoughts, please!
by wazoox (Prior) on Sep 17, 2006 at 19:58 UTC
    Solaris 10 is a nice and kinkin' OS. It's even partially free (as in speech, see http://www.opensolaris.org), it's very well known and supported, scales extremely well. The only downside is that it's far less common as an internet hosting platform than Linux or FreeBSD. However from a perl development point of view it won't make any difference, if your code runs on Solaris it will run on FreeBSD, and the reverse will be equally true.

      Hi,

      if your code runs on Solaris it will run on FreeBSD

      But perhaps not all versions of *nix.
      A firm I worked for moved from Solaris to a flavour of
      Linux, I'm not sure which, We found a few bugs popped
      up which Solaris Perl tolerated but Linux Perl didn't.
      Also, if you intend to backtick or system to use OS
      stuff, some of the switches are different.
      It's not a huge problem, but it should be born in mind.
      As for Solaris as a developer platform, I never had any
      problems, but when we moved to Linux, we got much better
      performance on cheaper boxes. Of course, that may have
      been due to the System Admins.

      J.C.

Re: Solaris 10 for Perl development? Problems? Upside? Your thoughts, please!
by chorny (Scribe) on Sep 17, 2006 at 19:20 UTC
    Solaris 10 is not often used by main Internet development population. I'm not sure if Solaris isn't GPL, but anyone knows that Linux is GPL. AFAIK, Perl is supported on Solaris. And Solaris is good platform. There may be problems with software, not all may support Solaris.
    You can start with Solaris and change later (then you will have knowledge of two platforms). If you encounter problems - report them! You can even write a patch (it will be gook experience). I'm doing this for Win32 Perl (although I'm using automatic CPAN smoke testing).
    Need more help - write me at alexchorny AT gmail . com .
Re: Solaris 10 for Perl development? Problems? Upside? Your thoughts, please!
by tilly (Archbishop) on Sep 18, 2006 at 05:17 UTC
    If you are just getting started, I would suggest starting with OS X, Linux, or a FreeBSD variant. All of them will give you plenty of opportunity to learn your way around Unix. If I had to make a more specific suggestion, I would suggest Ubuntu. Easy to install. Easy to get started with. Easy to administer. And it is generic Linux. (Disclaimer, this message was typed on a laptop running Ubuntu.)

    Note that Solaris 10 is not in my list. The reason is that it is a minority platform whose only significant backer is Sun, which itself is in serious trouble. (For reasons that I predicted a while ago. Go to Re: Re: Perl falls victim to shifting trends(Opinions/Comments From The Other Side) and search for "Sun is toast" for details. Yes, that AM was me.) The result is that it has less hardware support. And in the event of running into any kind of trouble, you will have significantly fewer resources available than you will with one of the other platforms. Plus it may well stagnate, and you'll have to switch.

    Sure, it is Unix and therefore is very similar to the others. But learning it is kind of like learning Italian because you want to be able to speak French.

    Now there are good reasons to use Solaris 10. For instance if you are used to Solaris and want it at home, go for it. If you have some big Solaris servers and want a good development platform for that, well it is a good idea.

    But I would not count "I want to learn about this whole Unix thing" as a good reason to learn Solaris.

      Brother tilly,

      Do you think or find Ubuntu's non standard root likely at all to affect new users learning and administrating *nix?

      I have read that some people advise staying away from RHEL and Fedora because too many GUI helps and tools keep (or slows) one from the learning one get from hands on typing and execution of commands to do what one wants at the command line.

      And just curious, how are the strengths and weaknesses of Ubuntu compared to FreeBSD as a learning, development and production platform? Have you used FreeBSD 6.x very much? How long have you been using Ubuntu? What did you switch from and why (if I may ask -- I think a lot of your judgement, and value your opinions and choices, thus ask).

      BTW, I've very much appreciated reading many of your post here. Thank you very much for them (and for the link in your post, great read). I'm not trying to start an OS flamefest but only have time to learn one *nix really, really well with all the other things I have to learn and do. So I want to pick as wisely as I can. After all, I'll be maintaining the servers myself, so figure I should learn and develop on the same OS I deploy upon and administer.

      Thank you for your help.

        I'm going to chuck my 2c into this, having run pretty much everything you've mentioned.

        I've never liked any rpm based distro. My first Linux was Red Hat 6.3 "Zoot", and I later used Fedora Core 3, then 4 and I've looked at 5 in a VM a few times. I don't like the package managers. This is pure personal preference.

        FreeBSD is very cool, very well documented and very well put together. Software support is excellent, and the online handbook (part of that excellent documentation) lets you get neck deep in configuring all aspects of your system, from the commandline, helping you gain good knowledge of your operating system. I last ran 6.0 and quickly discovered that it does not like the SATA drives in my notebooks, so I shelved the CD's.

        I have Ubuntu 6.0.6 on both my home laptop and my work laptop. It detected all my hardware, installed all my drivers, office suite and Evolution client which I have connected to exchange for me. It has a lot of graphical wizards to breeze you through mundane things. The Synaptics graphical manager is easy to use, but you can use apt-get from the command line. The lack of a root user is disconcerting at first, but you soon get used to using sudo for root priviledge tasks, which is good practise on any *nix system. I also have an Ubuntu Server 6.06 box running on the network, which is all command line based, well documented too and get you up and running with all your major services, such as web, mail, ldap, database, ftp, etc etc etc. Point is, Ubuntu is easy when you need it to be (i.e. you just need a machine to do a spreadsheet on, or reply to those annoying meeting invitations) and can be a normal Linux system where you can play with all your favourite tools on the command line.

        Another disribution I love is Slackware. Very fast, very cool.

        From what I've seen of Solaris, it is a great operating system, from the security tools, to stability, to useability. I just got sick of typing in Linux commands and having Solaris barf at me. My own fault. I relaced that box with a Ubuntu Server because I needed a web server and mail server fast.

        Don't be afraid of easy OS'es like Ubuntu. The power goes deeper than most people think. I'd suggest FreeBSD too. Lovely operating system.
        I don't think Ubuntu's approach to root makes much of a difference. They just want you to type sudo ??? rather than login as root and type the command. And if you want you can just type sudo su and you have a root shell anyways. That isn't a big difference. And besides, it is an idea that is popping up in more places - for instance OS X does the same thing. (I don't know who did it first.)

        I personally prefer Debian and relatives to rpm based systems (like Fedora) because people who I respect with extensive experience have consistently said that the consistency of Debian policy makes upgrades go more smoothly. I don't have enough direct experience to really verify that one way or the other. But I can say that with the exception of the time when I was on a computer that was entirely out of disk space, minor upgrades have invariably been smooth and I've never encountered a showstopper during a major upgrade. (I had a ton of small problems switching from Knoppix to Debian, that's something I won't try again. I also had problems with Gnome breaking my favorite window manager.) From discussion with friends, that is pretty much par for the course for people who run Debian-based systems, but those who run rpm based systems tend to be far less lucky.

        Ubuntu compared to FreeBSD. I am not qualified to make that comparison. I don't have direct experience with FreeBSD. But I've heard good things about both of them.

        Ubuntu tries to be tailored to the desktop. I can verify that it is easy to install, and has been easy to administer for my needs. Security updates are issued in a timely manner, and minor upgrades go well. For a development platform you'll want to install development tools, like build-essential and subversion. Front ends to apt (eg aptitude and synaptic) work well.

        Ubuntu is derived from Debian, which is less specialized. Debian is very solid, but has the problem that they don't stay up to date. This is not an issue for a server - a server shouldn't generally be bleeding edge - but it is annoying on the desktop. I know that from experience, I used to use Debian but I switched to Ubuntu. At $work, most of my fellow programmers have also switched to Ubuntu.

        From what I've heard, FreeBSD is significantly less user friendly than either Debian or Ubuntu. However it is a very solid server. I can't speak to that from direct experience, but I've heard enough qualified people testify to it that I believe it.

        Now three random ideas to throw out there. First of all, why are you planning to maintain this yourself? If you are just learning Unix, you'll have a long learning curve ahead of you and shouldn't have much confidence in your setup for a while. If you just need a web host, something like http://www.ipowerweb.com/ doesn't cost very much, and the administrators likely know what they are doing better than you do.

        Secondly, speaking as a non-sysadmin myself, I'd suggest looking at OpenBSD. The big reason being security. You are unlikely to get into a situation where performance really is a big issue - generic hardware is overkill for most server tasks. But if you put a server on the internet, it will get attacked. If you are administering it yourself, you are likely to learn about the problems in your OS when someone breaks in. These problems mostly go away with OpenBSD since it is ridiculously secure. Debian is pretty good if you update it regularly (when needed, they do get security patches out quickly). However OpenBSD generally doesn't need security patching at all.

        And thirdly I would suggest that after you have everything laid out, you should hire someone who really knows what they are doing to review your work. Not to set it up for you, just to audit it and point out things you got wrong. If you have a business running on those servers, it is far cheaper to pay for someone to find the problems before someone breaks in than it is to find the problems AFTER your site has been compromised.

        Do you think or find Ubuntu's non standard root likely at all to affect new users learning and administrating *nix?

        I welcome our new sudo overlord (should have happened a long time ago)

        -derby
Re: Solaris 10 for Perl development? Problems? Upside? Your thoughts, please!
by Anonymous Monk on Sep 17, 2006 at 18:43 UTC
    Please move to Meditations, or the most appropriate area, please. Thank you.
Re: Solaris 10 for Perl development? Problems? Upside? Your thoughts, please!
by Anonymous Monk on Sep 19, 2006 at 00:33 UTC
    Thank you all for your help on this, as I need all the advice and guidance on this I can get!

    OP