Questions tagged [third-party-libraries]
114 questions
89
votes
11 answers
Using third-party libraries - always use a wrapper?
Most projects I am involved with use several open-source components. As a general principle, is it a good idea always to avoid binding all components of the code to the third-party libraries and instead go via an encapsulating wrapper to avoid the…

lotsoffreetime
- 1,121
- 1
- 8
- 8
65
votes
13 answers
My boss has a bad case of "Not Invented Here"
My department specializes in converting customer data into our database schema so that they can use our software.
Right now, we have C# applications that take an IDataReader (99% of the time it is a SqlDataReader), perform some cleaning and mapping,…

Scott Chamberlain
- 877
- 7
- 19
54
votes
5 answers
How to deal with fear of taking dependencies
The team I'm in creates components that can be used by the company's partners to integrate with our platform.
As such, I agree we should take extreme care when introducing (third-party) dependencies. Currently we have no third-party dependencies and…

robinwit
- 650
- 1
- 5
- 10
52
votes
7 answers
PM opting for an overly-complex setup which nobody has experience with
Recently I started a project which didn't seem too hard to make, the concept was a fairly simple application that had to accept input every now and then (maybe 10x a day), and try to perform some operations on them and collect all results at the…

DeleteLater
- 401
- 4
- 6
40
votes
7 answers
Why do library developers deliberately break existing code?
Today, I updated ZBateson\MailMimeParser the PHP e-mail parser library from 1.x to 2.x.
Soon enough, my PHP error log started filling up with errors.
Noting where it happened, I found out that it had to do with their ::parse(...) function:…

user16508174
- 475
- 4
- 4
37
votes
12 answers
How to keep your third party libraries up to date?
Let's say that I have a project that depends on 10 libraries, and within my project's trunk I'm free to use any versions of those libraries. So I start with the most recent versions. Then, each of those libraries gets an update once a month (on…

Joonas Pulakka
- 23,534
- 9
- 64
- 93
25
votes
1 answer
Is vanilla JS still considered a library?
I very recently found out that VanillaJS (document?) is a library that's just bundled with 99% browsers and isn't exactly native JavaScript (shock of my life). While writing a lib of my own I normally avoid all helpful things, mostly libs. Now I…

DividedByZero
- 411
- 1
- 4
- 8
20
votes
6 answers
Wrapping third party library is best practice
I came across with following statements while reading the Clean Code book of Robert C. Martin.
Chapter : 7 : Error Handling Page No : 109
..In fact, wrapping third-party APIs is a best practice. When you wrap
a third-party API, you minimize…

akash
- 395
- 1
- 3
- 11
18
votes
3 answers
Who are the 1st and 2nd parties?
So, this is pure curiosity. I've heard the term 3rd party, as in, "3rd party library" for quite a while.
I wonder why we say 3rd and not 2nd (or 4th)?
Who are the first and second parties and where did the term come from?

Davin Tryon
- 1,235
- 1
- 10
- 15
15
votes
2 answers
If there are two ways of approaching a task, how should one choose between them?
I have a specific use case, and have found 3 ways of doing it across the internet, which are defined for vague usage cases. I am staring at these three wondering which to apply.
I tend to sit there not knowing what to do - then doing nothing... Is…

tomhepz
- 331
- 1
- 6
15
votes
4 answers
How can I reduce the manual effort for wrapping third party libraries with a larger object model?
Like the author of this question from 2012 and this one from 2013, I have a 3rd party library that I need to wrap in order to properly test my application. The top answer states:
You always want to wrap third party types and methods behind an
…

Tom Wright
- 401
- 2
- 12
14
votes
1 answer
License requirements for including open source software
In an open source project, a number of other open source libraries have been included to implement needed functionality, some as libraries (LGPL), and some as source code (non-LGPL). The new BSD license was selected for the project. The included…

jholl
- 293
- 1
- 8
14
votes
5 answers
Should I write an interface API before an implementation?
I've been delving into more "organized" programming recently and I've been learning that I should be programming to an interface, not an implementation. With that in mind, would it be better to "sketch" out a project in interfaces before writing the…

Dan
- 654
- 1
- 7
- 18
13
votes
3 answers
How does one keep argument counts low and still keep third party dependencies separate?
I use a third party library. They pass me a POJO that, for our intents and purposes, is probably implemented like this:
public class OurData {
private String foo;
private String bar;
private String baz;
private String quux;
// A lot more…

durron597
- 7,590
- 9
- 37
- 67
12
votes
6 answers
As a beginning programmer, should I favor building my own libraries over using 3rd-party libraries?
As a beginning Python programmer, is it a good idea to build and understand my own libraries before jumping to advanced 3rd-party libraries that contains the functionality I need?
Some projects (e.g. web frameworks like Django) are probably too…

MikeRand
- 1,131
- 8
- 18