views:

134

answers:

3

Not sure if this questions is stupid.

But when I was doing some (small) side projects. I always surf the Internet and try to find some 3rd libraries (best free), and then build my own.

Some are control extensions such as File System Browser Tree view. Some of these libs are very popular, such as iTextSharp. Some are very niche and are just for parsing some proprietary file formats.

I am just wanting to ask, are you also doing like this? (using 3rd party libs for your own projects?

+1  A: 

I think is ok if you understand what are you doing, and not just monkey paste someone else code.

Andrea Di Persio
"MONKEY PASTE" - Trademark that and make millions!
madcolor
+2  A: 

My opinion, but I could be wrong is: Whenever I need a component that does something I need, for example "manage a ZIP file in C#", I first start looking on the web and see what code and/or components I can find.

Most of the time you can find code very easily, because you probably aren't the first that wants to do this. Then I am looking at the complete components too, for example Chilkat has some nice components for managing ZIPs.

The advantage with components like this is, that they are under development for a long time and have most bugs figured out already. Sure, sometimes they cost money but if such a component costs only a couple of hundred dollars, it most of the time is cheaper to just buy it, then to develop it yourself (which requires more extensive testing again).

My boss always asks: which is cheaper? Build the complete thing yourself or just buy it online from a party which knows what they are doing?

Same thing went for the Telerik (www.telerik) control set. Sure the set costs like 1500 dollar or something, but creating the controls we needed probably costs us about 3 times as much.

Wim Haanstra
+1  A: 

It is very common to develop using 3rd party libraries and component but like any other engineering choice, it is a tradeoff of various risks and benefits.

Choosing to use a 3rd party library that is closed source carries the greatest risk since if there is ever a problem, you are at the mercy of the provider to fix it. Therefore, choose a company that has a long, reliable track record.

If the library is open source, then you will always have the option to fix any problems yourself. Many might argue this point but you may find technical help/references a little harder to come by however.

I would in fact recommend always looking for an open source library before attempting to write any code for something that is likely to already have been done. Most open source libraries have been worked on by much more than one person and have been refined to avoid many pitfalls that you may not be aware of. Take advantage of it. And free yourself to focus on the issues that are unique to your problem.

Arnold Spence