1 |
On Thu, Jul 12, 2012 at 5:14 PM, Michael Mol <mikemol@×××××.com> wrote: |
2 |
|
3 |
> |
4 |
> Developer here, too. Mostly C++ on Windows, though I far prefer the |
5 |
> way Linux does things. :) |
6 |
> |
7 |
> In theory, using in-house code seems like a great thing. Having |
8 |
> written it, I understand it, I understand its API, and it's not a big |
9 |
> blob of unknowns for me to fear when debugging my programs. |
10 |
> |
11 |
> In practice, I've seen more time (and money!) spent reinventing the |
12 |
> wheel for any given project than it would take to pull in a library. |
13 |
> I've seen and participated, designed and/or led in the redevelopment |
14 |
> of locking mechanisms, nested image compositing engines, database |
15 |
> abstraction layers, deferred I/O abstraction frameworks and probably a |
16 |
> half-dozen other things I'm forgetting right now. |
17 |
> |
18 |
> Each and _every_ time, a great deal amount of developer time is |
19 |
> consumed at the outset with development, and then over the life of the |
20 |
> code as bugs (some of which simply come from underestimating or |
21 |
> misunderstanding the resulting complexity of the system) turn up. |
22 |
> |
23 |
> NIH costs. I'd rather use a widespread library than write my own, |
24 |
> wherever possible. |
25 |
> |
26 |
> But, of course, that's just _my_ humble opinion. And each circumstance |
27 |
> warrants its own cost/benefit analysis. |
28 |
> |
29 |
|
30 |
This is off-topic now :-( But it's a nice discussion :-) |
31 |
|
32 |
I agree with you mostly. I think you're a bit biased against |
33 |
rolling-your-own, perhaps |
34 |
because working on windows enforces that -there are less open |
35 |
libraries/programs you can reuse-. |
36 |
|
37 |
Again, it's a great thing to re-use and it's evil to reinvent the wheel. |
38 |
It has all sorts of advantages, we all know that. |
39 |
|
40 |
On the other hand, as you say, each circumstance needs its own analysis. |
41 |
|
42 |
Let me use an example: I'm writing a middle-size application in C++ that |
43 |
will run on an embedded device, linux only. |
44 |
Let's say I need some threads and some mutexes. |
45 |
Heck, I'm not going to use boost if I can just wrap pthreads around |
46 |
some lightweight classes. |
47 |
|
48 |
Regards, |
49 |
Ezequiel. |