Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

OT: Switching Sides

by Khansultant (Sexton)
on Nov 30, 2003 at 01:04 UTC ( #310952=perlmeditation: print w/ replies, xml ) Need Help??

I seek the wisdom of the monks...

Three years I ago I walked in darkness, my eyes shrouded with VB and all of my Windows broken. Then a kind stranger gave me a perl and with its inestimable value I have purchased my first glimpse of freedom. I am now ready to strike out in adventure, seeking a world without windows.

My previous attempts to foray into this strange world have left me wounded and confused. I struggle with strange conventions and words in a society that does not speak Gui, the language of the world of windows. I also struggle with my travelling companion, who often complains that she cannot work in this world and is not ready to step out in adventure with me. Since we walk the same path, I must find a solution that will allow my travels into the world of Linux without leaving her behind.

So to the monks I humbly prostrate myself - what must I do to start my journey into this new, free world? What great and adventurous trials lay before me? And how long can I expect to venture between these worlds before I can leave my citizenship in the world of Windows behind me?

20031201 Edit by BazB: Changed title from 'Switching Sides'

Comment on OT: Switching Sides
Re: OT: Switching Sides
by b10m (Vicar) on Nov 30, 2003 at 01:49 UTC
    While this is slightly off-topic here, I'd like to help you, stranger in the dark, to see the light of Linux ;)

    First of all, some myths:
    Linux is command line.
    Wrong, although everything can be done from the command line interface, a lot of things now have GUIs, which makes it undoubtly easier to make the switch. After you've messed around with Linux though, you will come to understand the beauty of the CLI.
    Linux doesn't have as many apps as Windows
    Most likely true, but for most Windows apps, you have great alternatives. Many websites, like this one show the alternatives. For years I have been using Linux now and I cannot think of any application that Windows offers and Linux doesn't.
    Linux is hard to learn.
    So was Windows! Try to put your grandparents in front of a Windows system (if they have never used it) and see how *not* intuitive most things are, that the majority of Windows users take for granted. Linux is different, but far from hard to understand.
    "Open Source? Who cares, I'm not a programmer!"
    The beauty of Open Source software is not that *you* have to change everything, it's about that *anyone* can change anything (read: improve). Even although you might not be a kernel hacker, other people are, who will help *you* out by improving the software and kernel.
    Ok, that said, I wish you well into this journey :) Although Linux might scare you at first a little (although I doubt that with all the GUI installers and what not of nowadays), don't give up. I would suggest you'd start of with a shell somewhere on some server (webhoster? friend?) and just look around and feel the strength of a shell. After that, install some Linux flavor on your own machine (might even think of a dual boot system, so you can easilly switch back to Windows when something is p*ssing you off ;) You will notice that you're switching back to Windows less and less. Besides that: read, read, read! There's a lot to learn, but the basics are quite easy to obtain. Just lurk around some newsgroups, use your friend a lot and don't be affraid to try stuff (while not being logged in as root ;)

    You will find a lot of helpful people around the 'net that will help you with your questions. IRC, USENET, or even mail your local geek.

    You won't be a BOFH within a week, maybe not even within 6 months, but you'll learn everyday :)

    I wish you a bon voyage and welcome to the free world!
    --
    B10m
      "For years I have been using Linux now and I cannot think of any application that Windows offers and Linux doesn't"

      Hmm????????????????????????????????????????
        I'm not aware of the application called "Hmm", nor do I miss it :)
        --
        B10m
        DeLorme Street Atlas - (come on, DeLorme)

        PhotoImpact (no, GIMP doesn't replace it, and don't tell me about Wine, either)

        a decent outline editor - (wish I could figure out the rumored perl scripting for Kate)

        ...OK, that's about it

      That's funny. You cover software, but don't take a look at hardware. I'm a linux fan and all, but last time I checked, it can't support either my printer or my digital camera. Both which are relatively new purchases. No valid drivers in the linux world for me.

        Unfortunally, yes, not all hardware works well with Linux. It's always good to check out the documentation to see if the hardware is supported before you buy it. Is Linux to blame for this? Nope, the hardware manufacturers supply Microsoft with the specs of their appliances, (if they don't build their own drivers) but don't throw it out to Linux developers (not always true). Most hardware does work though. I have no problems with :
        • soundcard (Creative Audigy 2 Platinum eX)
        • graphicscard (Radeon 9600)
        • tvcard (Pinnacle PCTV Rave)
        • scanner (Canon CanoScan N650U)
        • webcam (Creative Webcam Pro)
        • digital cam (Aosta -something-)
        • DVD burner (Nec -something-)
        • printer (HP Deskjet 690C)
        and what not more may float in and around my machine.

        That said, Linux runs on far more architectures than, say, Microsoft Windows.

        What kind of printer and digital cam do you use, that's not supported by Linux?

        Added:Yes, this all sounds pretty zealous (sorry), but to summarize it all: Yes, Coruscate, hardware support is not as good as it might be with Microsoft Windows, yet a lot does work or will work in days to come. So the OP would do best to check his hardware first, before installing some Linux flavor

        --
        B10m
        And even if there are drivers which claim to support your hardware, the amount of time it takes to persuade them to drive your hardware, not leave your serial or USB ports horked, and continue working after your laptop wakes from slumber (if you can get it to go to sleep and wake up again in the first place!) - well, all those wasted hours are worth enough money for you to have just gone and bought a Mac. On which you can then use perl to your heart's content.

        I've wasted too much time on Linux, sound, video, power management, USB, PCMCIA and other arcana in the past. Linux is *not* ready for portable use, and only barely suitable for wizards' desktops.

        As far as outline editors go - have you tried leo? It is cross platform (linux/win/mac) and fairly good.

      For years I have been using Linux now and I cannot think of any application that Windows offers and Linux doesn't.

      QuarkXpress, a layout design program so complex that it makes Adobe Acrobat look like HTML 2.0. Last I heard, even the Linux Journal keeps a Windows machine around to use this program.

      ----
      I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
      -- Schemer

      : () { :|:& };:

      Note: All code is untested, unless otherwise stated

Re: OT: Switching Sides
by melora (Scribe) on Nov 30, 2003 at 02:03 UTC
    I have travelled more than one road (not through indecision but due to a mixture of platforms).
    On the Windows side I've been using Activestate Perl, which has worked quite well. I keep the script open in an editor, and a command prompt session open for running it. I've found that MacPerl works well on the Mac OS (8.6), and I've found that the scripts I wrote on there ported with no changes except to the shebang line, when I moved them to the Linux box, or to Windows. I think this is a huge advantage to Perl -- it's quite portable. Naturally, there are the usual file-naming and line-ending issues.
    <digression>
    I have helped my spousal unit with his VB projects. I deeply dislike VB's built-in limitations, but that is another rant.
    I do wish that I had a development environment like VB's for Perl, which would show me immediately when I commit my favorite stupid mistakes (e.g. dropping a semi-colon or using InStr instead of index, handicaps which come with using more than one system/language). I think I once read rumors of such a thing and I hope it is coming (although I went for years debugging C at the command prompt. Have I gone soft?). And yes, I still type 'ls' in the Windows command prompt, and 'dir' on FreeBSD... </digression>
    I have searched for a gui front-end for Perl, and have worked a bit with Perl/Tk and with wxPerl. They have both worked well for me, but I didn't find a way to design things graphically like in VB (I'm not saying it doesn't exist, only that I didn't find it after a brief search).
    Knowing the C programming language has helped me to learn Perl. (Although I still love C, I would probably learn Perl if I were just starting out today.)
    I hope this helps a bit.
      I think this is a huge advantage to Perl -- it's quite portable.

      Absolutely. Provided you don't rely on external stuff (e.g., backtick out to system commands, use modules that are neither pure perl nor core, ...), Perl is very portable.

      I do wish that I had a development environment like VB's for Perl, which would show me immediately when I commit my favorite stupid mistakes (e.g. dropping a semi-colon or using InStr instead of index, handicaps which come with using more than one system/language).

      The closest thing I know to this is cperl-mode. It will, assuming you turn on syntax highlighting, show keywords like index in a special color, so you'll immediately notice if you typo them, because they won't change color like usual. It also matches grouping and quoting symbols for you; as soon as you type the closing one, the opening one flashes. (Actually, that's a feature of Emacs that works in pretty much all major modes; it is a feature Emacs *has* to have, because it's pretty hard to write good lisp without it; Emacs was developed by lisp programmers originally.) As far as dropping a semicolon, you'll notice when you go to the next line and it indents wrong. Configurable automatic indentation is cool. cperl-mode is in general cool. The only downside to it is that it runs in Emacs, which means you have to learn to use Emacs. Now, Emacs is wonderful in itself and well worth learning, but it's not exactly something you're going to pick up and start using in one afternoon. In fact, you can expect to spend just as much time learning Emacs as you spent learning Perl.

      And yes, I still type 'ls' in the Windows command prompt, and 'dir' on FreeBSD...

      You think you've got it bad... I keep getting mixed up between Ctrl-C (DOS, Windows, and *nix), Ctrl-Y (VMS), and C-g (Emacs). Then every once in a while I get stuck working with a pre-X Mac and have to try to remember what the keystroke is for Force Quit; I usually just end up holding down *all* the buckies and start hitting keys. Then there's copy and paste: on Windows it's Ctrl-C/Ctrl-V; under *nix, half the apps do it the Windows way and the other half do it the other way; on Mac it's clover-c and clover-v, and then there's Emacs, where I've got it bound to something yet different. (One of these days I'm going to get tired of messing around and totally transplant the entire Ctrl-C and Ctrl-X prefix keys in Emacs and their whole associated keymaps to different prefix keys, pervasively enforcing the transplant via hooks in all major modes so I can make copy and paste work the way I really want...)

      (Although I still love C, I would probably learn Perl if I were just starting out today.)

      I would recommend that newbies (here I mean newbies to programming in general, not just to Perl) learn higher-level languages such as Perl first, later getting into lower-level languages such as C only if they have the aptitude and desire for it. Perl is not the only suitably highlevel language, but it's a good choice. If you are worried that the C programmers will look down their nose at you for only knowing a "scripting language" (a quite silly thing to look down their nose at you for, but some people are indeed quite silly), then learn lisp or one of its derivitives; they're not on as high a level as Perl or Python, but they're *way* higher-level than C, support more paradigms better (doing functional programming in C is a fairly unnatural act), and (except for elisp) cannot be reasonably accused of being "a scripting language". (As an added bonus, if you learn common lisp, you get to patronise the C programmers, call them "whippersnappers", and tell them your language was being used for artificial intelligence research when their language's grandmother (BCL or whatever it was called) was in diapers. This doesn't make them happy, but it shuts them up.) But if you're not worried about the opinion of the C programmers, go ahead and delve right in to Perl. Previous experience in other languages does make learning Perl faster if you happen to have it, but not enough to justify going and learning the other languages first if you haven't already, particularly considering that it goes both ways: knowledge of Perl will make it easier to learn the other languages, too. IMO, Perl is a great choice for a first language.


      $;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/
        I would recommend that newbies (here I mean newbies to programming in general, not just to Perl) learn higher-level languages such as Perl first, later getting into lower-level languages such as C only if they have the aptitude and desire for it

        I disagree, I don't recommend that anyone learn perl as their first language. It's better, in my opinion, to start with a low-level language, learn how computers work, and then when the apprentice has a thorough grounding in the basics the master can let him loose with high-level tools like perl and java. C makes an excellent first language for someone wanting to be a programmer.

        In my more old-gittish moments, I think that C is too high-level to get started with and that everyone should learn to program a simple processor like a Z80 or a 6502 in assembly language.

      using InStr instead of index,

      Hmm. IME, most InStr work from VB can be replaced with regexes. I would almost go as far as to say that if you index() more than rarely you are probably missing out on better ways to do things.


      ---
      demerphq

        First they ignore you, then they laugh at you, then they fight you, then you win.
        -- Gandhi


      Check 9out wxGlade. It will output wxPerl code as well wxPython, wxC++. It looks similar to Glade, hence the name. http://wxglade.sourceforge.net/
Re: OT: Switching Sides
by logan (Curate) on Nov 30, 2003 at 02:04 UTC
    Uh, so are you asking how proficient you have to get with a non-Windows OS before you can abandon Windows all together? Or are you asking how to build a GUI for your perl scripts?

    If it's the former, only you can decide that. The only thing Windows can do that Linux can't is run most videogames, although Unreal is available for Linux. Pretty much everything else you'd think was Windows-only (Powerpoint, Quicken, Office) has a Linux counterpart. Oh, yeah, and some people seem to like the Macintosh as well.

    If it's the latter, this is a good place to start. Odds are, you're going to be wanting Perl/TK, which is a perl interface to the TK Toolkit (hence the name). The fine folks at O'Reilly have a good book on the subject which I haven't read. There's also a Win32::GUI module on CPAN, just in case you're not ready to abandon Windows.

    All that said, I need more information if I'm gonna help you. What, specifically, do you want to do?

    -Logan
    "What do I want? I'm an American. I want more."

It's all about applications.
by jonadab (Parson) on Nov 30, 2003 at 02:16 UTC

    Some people can switch all at once to a completely new system. I found that for me, a more gradual approach was wanted. One facet of that approach is multibooting, but perhaps the more important part of my approach is the order: applications first, OS afterward.

    Using Perl for things you formerly did with VB is a start, but what editor are you using? Get one that's available on various platforms. What browser are you using? IE? Get a cross-platform browser, such as Mozilla. Do you use office software? OpenOffice.org probably has all the features you need, but some of the buttons and menu items are in different places. So get it now and learn it. One at a time, replace all of your single-platform applications with cross-platform ones. I did this over the course of about a year (replaced UED and PFE with Emacs, MS Works with OpenOffice, Free Agent and Pegasus Mail with Gnus, learned the Gimp, and so forth) and then was able to switch OSes pretty much painlessly (and can switch again at any time I like, to virtually whatever OS I decide I want to try out), because nothing I do anymore relies on a specific OS to work. I switch to Mandrake at first and used it for a year solid; right now I happen to have Windows booted (a different version from the one I switched from), but I'm also in the process of installing Gentoo. If next week I decide to switch to BSD or Mac, nothing is preventing me.

    Think about it: how much time do you really spend using Windows *itself*, directly? Maybe you use the file manager features of Windows Explorer, but that's about it, if you're at all typical. How much time do you spend messing with the registry, tweaking control panel settings, or other highly Windows-specific tasks? Almost none, if things are working the way they're theoretically supposed to work. Almost all of what you do, almost the whole set of your habits, hinges rather more on the *applications* you use. The operating system is a commodity. It's only important insofar as it stores your files and enables your applications to run smoothly. So if you use apps that run smoothly on various OSes, the operating system becomes a replaceable part; one is substitutable for another without any significant adjustment on the part of the user.

    Some people say, switch directly to Linux and then learn the apps that come with your distro. I say, that's backwards. Adopt cross-platform applications, and it won't *matter* what OS you use anymore. You'll be free to use whatever OS you can manage to get installed on your hardware.


    $;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/
Re: OT: Switching Sides
by pg (Canon) on Nov 30, 2003 at 03:02 UTC

    I have figured out two rules, as I am living a life as a programmer:

    • Rule number 1: As a programmer, you can never stop learning.
    • Rule number 2: Learning is not that hard.

    Based on those two rules, I gave you two suggestions:

    • Learn Perl, as perl is great. It absolutely worthes your effort. Not much effort is required to have a sip of it. If you like it, drink it; if not, put the drink on the table and walk away. Well, I don't think you will walk away, as Perl is addict.
    • Not to learn just Perl. Perl is not the right tool for everything. Learn several major languages, and become expert. Now you have a better chance to find the right tool(s) for most of your tasks.
Re: OT: Switching Sides
by NetWallah (Abbot) on Nov 30, 2003 at 03:14 UTC
    Despite potential negetive votes, I'd like to state that Windows IS a first-class citizen in the GNU/open-source/Perl world. There are enough windows fans out there to keep it almost neck-and-neck with .+nix in terms of ported and GPL code - mose .+nix utilities have been ported, CYGWIN and pcap exist. What I'm trying to say is that there is no need yet to abandon the platform unless you hate Bill.
Re: OT: Switching Sides
by woolfy (Hermit) on Nov 30, 2003 at 11:15 UTC
    Welcome to the light.

    When you really want to switch sides, think about taking the step completely. Start using LAMP (Linux, Apache, MySQL, Perl).

    Quite some open source programmers and developers are using PostGreSQL instead of MySQL, by the way. And sometims the P in LAMP represents PHP, but not for me...

    Well, when you want to do that, download the files necessary to equip your computer. Or buy some ready-to-use things.

    Linux: the best and easiest to use OS around, lots of distributions available, like RedHat and Suse (even though they might stop providing their distributions for free, but for now, go ahead). The commercial distributions come with a set of good books, but O'Reilly and many other publishers have published a lot of even better books, some of them digitally availabale.

    Apache: the best web server software around, to run your websites, freely available, several good books written about it. And of course the connection between Perl and Apache, with mod_perl.

    MySQL for almost all your database needs. Some people prefer PostGreSQL. I've never looked closer into PostGreSQL, my company has used MySQL for almost 10 years and we're quite happy with it.

    Perl is of course the language of choice. The Monks offer a wealth of knowledge and help, like the Tutorials and my own Where and how to start larning Perl. Too many good books about Perl to read, but a good choice is the Perl CD Bookshelf from O'Reilly.

    The road to knowledge is read read read, read even more, install, experiment, read more, try to build something, read, experiment, read, and than maybe ask some questions.

    Update: as Nkuvu pointed out to me clearly, I was giving my opinion here instead of stating facts. My opinion is: open source is better than closed source. And within that open source, I prefer LAMP. But I like the discussion too....

      my company has used MySQL for almost 10 years

      According to MySQL Company fact sheet, MySQL was "Founded in 1995 by two open source veterans."

      Unless you are Monty Widenius or David Axmark en travesti, your claim it's hard to believe.

        You might be right. In 1994 we used mSQL for a short time and switched to MySQL. It was a hectic time. I thought it was still 1994, so therefore "almost 10 years". OK, let's make it "almost 9 years".
      Linux: the best and easiest to use OS around,
      These are arguable points. Although I fancy Linux very much, I tend to like Open- and FreeBSD too. I think your claim that Linux is "the best...OS" is quite hard to prove. Especially on servers, I tend to prefer *BSD over Linux myself in terms of stability. Ease of use? I think Linux isn't "easier" than e.g. FreeBSD.
      lots of distributions available, like RedHat and Suse (even though they might stop providing their distributions for free, but for now, go ahead).
      If I understand the GPL right (and the Linux kernel is distributed under this GPL, AFAIK), distributions have to be free as in freedom of speech. They may charge you money for support, books and what not, but Linux (the kernel) has to be free.
      --
      B10m
        Arguable points: of course. Please do argue. But still, I like Linux a lot. My company has been using Linux for a long time. In all those years, we had no reason to switch to any BSD version. I don't know much about BSD. We had 1 machine (of a client) in our server room and we hated to work with that server, probably because our client configured it poorly, but we had more problems with it than with any of our Linux servers. Our neighbours had a server room filled with WinNT-servers, and most of those had to be rebooted each day. Our Linux servers seldom needed a reboot, sometimes we just did a reboot after 200+ days crashfree running. Stable enough, even for servers with more than 50 websites on them, lots of MySQL-databases, lots of different Perl programs, lots of traffic.

        You are very right about Linux to be free, I fully agree, but still articles have been written about RedHat and Suse that they might stop providing their distribution for free. It's just the news. When RedHat and Suse stop the free distributions, I am surely one of the people that will stop using RedHat and Suse.

        For the rest: I guess we agree: use open source. Wether that is Linux or xx-BSD, I don't care much.

      Linux: the best and easiest to use OS around,
      "The best"? For which values of "best"? As for 'easiest to use', that's not really my experience.
      lots of distributions available,
      Yeah, and multiple versions of libc, toolsets, applications, etc, etc, all slightly not compatible with each other. Each time when I want to install a single application and I've to upgrade an entire forest of dependencies just to get it up and running makes me grumble at Linux again.

      All software sucks, all OSses suck, and that includes Linux. For some things, Linux might be easier to use, but for other things, it's just a frigging pain in the ass.

      MySQL for almost all your database needs.
      Until you start caring about your data.

      Perl is of course the language of choice.
      Except for tasks where other languages are more appropriate.

      Abigail

        Sigh...

        "The best"? For which values of "best"? As for 'easiest to use', that's not really my experience.

        For my value of best. Please, if you disagree, make a poll about it, and/or tell everyone what you like instead of Linux, Apache, MySQL and Perl.

        I gave my opinion: I have worked with several Windows versions and hate(d) it. I have worked with Solaris and liked Linux much better. We had one client with a BSD server and it caused us a lot of trouble. Maybe BSD is better in your eyes, maybe something else. Maybe you make Abinux and maybe I'll like it best.

        Yeah, and multiple versions of libc, toolsets, applications, etc, etc, all slightly not compatible with each other. Each time when I want to install a single application and I've to upgrade an entire forest of dependencies just to get it up and running makes me grumble at Linux again.

        All software sucks, all OSses suck, and that includes Linux. For some things, Linux might be easier to use, but for other things, it's just a frigging pain in the ass.

        That must be painful. I'm trying to imagine your life, surrounded with a lot of software. Ouch.

        Until you start caring about your data.

        Really really seldom had trouble with MySQL. But of course, our databases hardly ever were larger than 100.000 records, and we hardly ever had more visitors on such a database than 10,000 per hour. Problems only arose when we or one of our programers made a stupid mistake. Our early investment in a NetApp really paid off: snapshots are soooo nice.

        Except for tasks where other languages are more appropriate.

        Like? And even then, so what?

Re: OT: Switching Sides
by exussum0 (Vicar) on Nov 30, 2003 at 14:14 UTC
    So to the monks I humbly prostrate myself - what must I do to start my journey into this new, free world? What great and adventurous trials lay before me? And how long can I expect to venture between these worlds before I can leave my citizenship in the world of Windows behind me?
    First, don't deny your heritage. Perl is a great wonderful language. It fufills many purposes while being a very stable and complete language. Someday, you'll find VB, or another language you know, to be more fitting to whatever task you are trying to accomplish. While perl isn't a one trick pony, this pony isn't well suited for everything. Keep an open mind and you'll figure out when those times are.

    Having said that, perl can be a complex language, even in a single line of code. You can do many things in many ways. I would suggest picking up the O'reilly Camel book (Programming Perl) and the perl cookbook.

    The first will give you base knowledge of how things work. Most of the text can be found in the man pages, but I find the book organized in a way that you have your introduction, a big piece of meat of information, and a good index. Just remember not to get stuck on one thing if you can find another way of doing it. functions like map, foreach and simple for loops can all be used to accomplish the same thing.

    The perl cookbook is great because there are a lot of solutions to common problems. Aside from preventing you from doing really BAD things, it promotes doing neat things and learning "how stuff works". My favourite, before I really thought about it, was creating a mathematical set w/ no dupes. There is a way of finding such a set from a larger set in the cookbook, which is short and easy to understand, but the idea of a computer science dictionary (the abstract structure) and a hash (perl's popular name for it) never quite registered. So here I would be trying to do thigns the hard way, using standard arrays. Glad I never got that chance :)

    Anyway.. stick around as well, you'll find that people ask really silly quesions with short answers, and really strange ones that will confuse you on "why they'd wanna do that anyway". You'll learn a lot. And never be afraid to ask questions of the monks and your peers. Providing they aren't google'able questions, we are all willing to help.


    Play that funky music white boy..
Re: OT: Switching Sides
by Arbogast (Monk) on Nov 30, 2003 at 14:24 UTC
    Peanut gallery opinion. As a professional gardener and a semi serious Perl hobbyist, this is my question.

    As a Gardener, I wouldn't show up to work without a blower AND a chainsaw.

    As a computer user, shouldn't one be prepared to use Windows AND Linux, seems like they both are indispensable tools?

      We dispensed with Windows years ago, so I don't consider it "indispensable" in any way. Use whatever makes you (or the person who's signing the checks) happy.

      I prefer the UNIX(ish) way of doing things whenever possible and that's the toolset I'm most comfortable and productive with.

      Beg to differ.

      An OS isn't so much a tool as a toolbox. The OS will hold the tools themselves (perl, Office, Quake), and the accessories that make those tools usable (lib files, device drivers, logging mechanisms), but the OS itself does very little.

      Extending our toolbox metaphor, imagine you have a whole bunch of tools that need different power cords (9 volt, 12 volt, 220 volt). Windows replaces them with a single monster cord that will accept any voltage and self-adjust. Linux allows you to see each and every cord and select for yourself. The upside on the Windows approach is that you can't get it wrong because the decisions are out of your hands. The downside is that this self-adjusting sacrifices stabilty and the ability to self-diagnose. The upside for Linux is that you can see all the cords and decide for yourself. The downside is that it won't stop you from picking the wrong one and screwing things up hardcore.

      If you're prepared to do some work, you can use one and only one OS. You will, however, have to make some sacrifices. If you refuse to have a Windows box in the house, you won't get to play most PC games. If you feel that gaming peaked with Tetris or you already own a Playstation, this won't be an issue for you. If you use Linux, you'll save a few hundred dollars by using free software, but there will be a learning curve. If you enjoy the learning process, great! You have a project, and there's hours of fun awaiting you. If all you want to do is type a simple letter and read your email, it's probably worth a few hundred dollars to avoid the hassle.

      If, however, you're a civil libertarian, there are many "features" in Windows that would terrify you. In that case, go with Linux.

      -Logan
      "What do I want? I'm an American. I want more."

        The upside on the Windows approach is that you can't get it wrong because the decisions are out of your hands. The downside is that this self-adjusting sacrifices stabilty and the ability to self-diagnose. The upside for Linux is that you can see all the cords and decide for yourself. The downside is that it won't stop you from picking the wrong one and screwing things up hardcore.

        While I agree with your sentiment and upvoted your node, I have big disagreements with this analogy.

        Maybe "you can't get it wrong" with Windows, but you can rest assured that Windows will get it wrong for you on occasion. And when Windows screws things up hardcore for you, it'll mean re-installing the whole damn thing. But, with Linux (or Unix), things getting that hosed are pretty unlikely. And when they do, you can rest assured that it was probably the result of something stupid that you did. That means it's something you can prevent next time. I much prefer that to the cross-your-fingers-and-try-again method required of Windows users.

        Some might argue that they'd rather just spend an hour or two re-installing than spend half a day trying to fix something they broke. I understand that reasoning, but it is short sighted. In five years, such a person will still be re-installing anytime something breaks (which will be just as often as before.) Meanwhile, some who is willing to figure out what went wrong and fix it will have gained oodles of experience that will help them to both fix errors more quickly and prevent them in the first place.

        In other words, with Linux (or Unix) you get 5 years of experience. With Windows, you get 1 year of experience 5 times over.

        -sauoq
        "My two cents aren't worth a dime.";
        

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://310952]
Approved by BazB
Front-paged by BazB
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (6)
As of 2014-07-13 15:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (250 votes), past polls