> After a few days playing around with Python, I felt okay with it. I didn’t love Python,
Probably should try longer than a few days, but this is the best/only metric for personal programming language (business/group programming may impose other metrics).
If you don't love the language you're programming with, you should find another.
> If you don't love the language you're programming with, you should find another.
It's the other way around. If you love a language, you are probably unaware of its flaws or of other languages (It's like the stupidity-confidence correlation). This is one of the reasons fanboys make me want to puke.
Well, if you love a language enough, you'll eventually be dragged through all of its weak areas and get real perspective.
The important thing is just to keep quiet during the "best thing EVER!!!" phase. The reason fanboys are so annoying is the combination of enthusiasm and relatively shallow knowledge.
Oh, absolutely, but switching languages every weekend isn't going to get you deep perspective either. It's probably best to focus on just a couple languages, but languages that are sufficiently different from each other that they expose you a wide variety of techniques.
It's kind of disappointing to see the hate some HN readers express toward non mainstream Linux distros like Arch. As some readers have pointed out this sort of Linux distros are not for everyone. We can use whatever OS we like for whatever reasons we choose and there is no reason to get angry or offensive about it.
Breaking out of a programming paradigm is difficult, but one of the most liberating things that you can do. Now when you go back to working on PHP projects you can approach it with different methods. The roughest time I had breaking my paradigm was when I learned a little Lisp...
If found working in a ML language like Haskell or F# puts a really tight straight-jacket on code style, and is wonderful at forcing you to adopt a new paradigm.
When you go back to coding in other languages, you approach the same problems in different ways because you were forced to solve them in a strongly typed functional manner.
Yeah, and after you're comfortable with ML or Haskell, try Prolog. Unification+backtracking is like pattern matching cranked to 12. As a bonus, a lot of the corners of Erlang will suddenly make more sense, and several Prolog implementations come with good libraries for constraint programming.
Also, not to nitpick, but Haskell isn't an ML dialect, and while my experience is with OCaml (not SML or F#), OCaml doesn't force you to do anything in a purely functional manner the way Haskell does - it just makes it an option. (I think this is a good thing, but I guess it's a downside when you're trying to force yourself to try new stuff.)
Less magic. Ubuntu is a complex system, and hard for a beginner to learn and customize. However, there's no need to switch while you're happy with Ubuntu.
Agree. I'm a Slackware user because too many times has Ubuntu booted and showed me a dialog box saying "I updated your system and broke everything; have fun fixing it".
If I wanted something that constantly breaks things and then try to get off by looking cute, I'd get a puppy.
* Customizability. It's very easy to build a system just the way I want it.
* Rolling release. There are no releases every six months, but when a new version of a software is released, I get it after a short testing period.
* Package availability. Everything I need is either in the repositories or easily buildable from AUR. (Using simple recipes called PKGBUILDs).
BUT: This is only great, if you know your way around Linux - I can install and configure Arch in less than 2 hours, but my notebook for instance uses the same install for about 2 years now. The good wiki helps to gain this knowledge, but it's still very unfamiliar for most people.
I use Arch but I wouldn't necessarily take the author's advice. If you enjoy tinkering and want to learn more about administering a linux machine, Arch is great.
But if you want things to "just work" then Ubuntu is also great.
Learn what? How to get the basic functionality working? So that when when you are installing Arch, you would know how to do it? Sounds perfectly reasonable, I guess.
P.S. I've been using Linux since the '90s. Configured X, etc. a bunch of times. You know what I've learned? That it's stupid when the computer can't do it for you. Not all "learning" is created equal.
Learn how Linux works. Configuring X and audio is a part of that. If one is not interested in doing such things, then Arch or any other similar OS would obviously not be the right choice.
I bet if this post was about python and not ruby (and maybe leave the Arch Linux part, as people didn't seem to like that), there wouldn't be anyone calling him a fanboi.
Nah, attacks happen. It is the internet after all. Post a highly subjective post in favour of anything, and you'll find someone to disagree loudly with you.
He may just be translating a common expression from his native language into English and doesn't realize how forceful it sounds. 'You've completely raped that function' is the literal translation of something I would say to someone that rewrote a function in a bad way. It would be considered to be less offensive than something that would translate as "you fucked it up". It's closer to 'you've completely wrecked that function'.
Assuming the .dk domain means he's Danish, I can tell you that there's no common Danish expression that would translate to "rape". We're not Vikings anymore.
More likely that choice of word comes from online first-person shooter games lingo like "Let's rape the opposing team's base".
This is what I've come to expect from articles about Ruby:
And of course point them towards Linux:
“Windows is not the best development platform in the
world for Ruby. I recommend you to try out Linux. Start
with a simple distribution, like Ubuntu. And then I
recommend something like Arch Linux whenever you feel
like you are ready for something more advanced!”
Really? In an article about Ruby you feel the need to point people at your personal pet OS? Pointless.
It's not pointless at all. Trying to develop in Ruby or Rails on Windows in a huge pain in the ass. I know, I did it for a year or so. He could have recommended OS X, but the price is a barrier to entry.
I think the biggest problem is the number of gems with native libraries. I switched to JRuby, and felt a lot less pain. Now if only it had a faster startup...
I looked into it and it's definitely interesting. It's just a pity NetBeans doesn't use it (and given the current situation, probably never will). Anyway, thanks for the tip.
Ubuntu on Virtualbox is my preferred method of trying out new languages without worrying about my Windows install holding me back. I blogged a HOWTO on that back in December.
The improved flash performance of Ubuntu 10.04 will hopefully be enough to keep me out of Windows entirely from here on.
Same here I am also trying Ubuntu 10.04 on virtual box.. though hard time fixing the resolution :) still playing around RoR it's nice!!! I am a java programmer... playing around a bit with PHP, CakePHP stuff... but again and again considering RoR... RoR screencast and community is gr8.. so does the PHP manual... but CakePHP I don't like much... very confusing naming convention and it's not working as expected... Still not able to make up my mind to go for CakePHP vs RoR (each time thinking in terms of Facebook vs Twitter :) )...I know facebook not using CakePHP but still they r using PHP..
Rails development on OS X is so nice if you use things like MacPorts and Passenger. Coupled with TextMate I would not want to Rails dev on anything else.
I'm sorry if you feel like I point them towards my "pet OS". I should have stated more clearly there are other alternatives, and this only is my opinion.
Don't have to wait 6 months and upgrade everything to get slightly newer versions of packages. The packages are pretty direct from upstream instead of being patched and split apart by the distro.
Been a while since I used Ubuntu, but you can typically install newer packages from pre-release versions. You're not locked in to the 6 month upgrade cycle.
I think it's a pretty good model. For 90% of the installed software there's really no reason to update packages more than every 6 months.
Probably should try longer than a few days, but this is the best/only metric for personal programming language (business/group programming may impose other metrics).
If you don't love the language you're programming with, you should find another.