August 14th, 2010 Posted in Programming | 2 Comments »
I recently came across this blog post from Computerworld, which seriously took all the respect I have for them from me:
Not invented here: Apple’s secret applications
In case you don’t want to read the whole article, here is the summary: This guy from Computerworld just talking about Apple’s secret on the software titles which Apple is generally using.
Seriously, I’d love to know the list of program that Apple are using, but the theme of that article is just so wrong; the writer tends to wrote in the tone that make Apple, a software company, should write every piece of software that they’re using by themselves.
Don’t believe me? Go back and read it yourself. I’ll sit here and sip a coffee waiting for you.
The Real Truth
One question that I’m going to ask if you’re a developer: What kind of tools you’re currently using everyday? I believe you can give me the list of all sorts of tools that you’re using, such as Adobe Photoshop, Open Office, Netbeans, Vim, Emacs, etc. And since we’re the developer, why don’t we develop our own Photoshop-like application?
Well, because Photoshop is a professional tool, and it’s usable out of the box!1
In nowadays, there’re so many tools that you can use to develop your application. You could buy it, or use an open source alternative. It just the matter of choice. Those tools are well-created and they’re helping you to get your job done as soon as you can.
Now, looking back at Apple. Do you think Apple has the employee power to write every software they are using? Yes they do! But why aren’t they? ..
Because they believes that they should spend those time creating something else!
What’s I’m really meant to say
Sorry, but I’m not going to say that that post is bullshit misleading. As a software developer, I think you should remember this: If it’s already exists, and working great, then go ahead and use it!
For example, if you’re finding yourself having to write something up, let’s say “authentication system” for example, the first thing you’re going to do is not thinking about how to implements it yourself, but go to GitHub and try to find the one that fits your need.
Why am I suggesting this? Because when you’re developing one yourself, you just wasting your time creating something that’s already written.2 Also, you never know that you might left a hole somewhere in your application, which would normally be patched already in those library/plugin. If you found any bug, then contact the developer and help them to get it fixed. It won’t only benefit you; It will also helping out other users that using the same piece of library as you do.
Remember, don’t wasting your time, use something that already exists to create something cool. It will definitely benefits you; and our planet.
[1] I said it’s usable, but I don’t think it’s bug-free. I still getting crashes with cryptic error message once in a while.
[2]: If it’s not exists, then pat yourself in the back, as you’d have to write one yourself.
Box Photo from PC Site @ Flickr under CC-BY-SA