<div>Hi,</div><div><br></div><div>I want to give alarm about sharing code.<br></div><div>Since that C++ exist there is no standard as STL in order to manage IMAGE I/O and pixel manipulation ...</div><div><br></div><div>Sharing code is a nice idea, but in order to use code made by another people is not so easy.</div>
<div>You do not know the normal use and which limits the function code handle... </div><div>   code must be commented... and/or unit tested...</div><div><br></div><div>Every code must come with an example usage that show the basic usage in order to learn the user how</div>
<div>to use the piece of code. A unit test is even better.</div><div><br></div><div>About using external library...</div><div>cons:</div><div>  - it makes the algorithm often library dependent...</div><div>  - it makes your algorithm dependent of the library's potential bug, limitation of the library.</div>
<div>pros:</div><div> - it makes often the code more readable trough the usage of high level interface.</div><div> - you write and suppose that the code you use is bug free.</div><div><br></div><div><br></div><div>So I think Ipol submission code could be seen in a two part code :</div>
<div> - A generic code (writing, reading, drawing image code, handle command line parameter)</div><div> - A submission code (the core of the submitted algorithm) that must use very simple High Level interface. </div><div>
   - Using high level interface make the reading of the algorithm easier to the reviewer, </div><div>      to the user... </div><div>     and makes "face to face" with the pseudo code on the Ipol webpage easier.</div>
<div><br></div><div>So I think the Hatchery must be compound of <strong>tiny</strong> independent library<strong>.</strong></div><div><strong>Make it tiny, make maintenance easier. </strong>and it do not create hard dependence over a given library !<strong><br>
</strong></div><div><strong><br></strong></div><div><strong>A potential drawback could be in the future to force IPOL submitter to use/recommend this Hatchery... <br></strong></div><div><strong>-> We must focus on algorithm and exact interpretation of algorithm, not on software libraries.<br>
</strong></div><div><strong><br></strong></div><div><strong>I will finish my mail with my "adage"<br></strong></div><div><strong>"If you try to make a wheel by yourself you could make it not really round... But, using a existing wheel you could invent a Bike, a Car..."<br>
</strong></div><div><strong>But you have to check each elements connection to be sure of the results ;-) ... (Quality checking .... is another story...)<br></strong></div><div><strong><br></strong></div><div>Cheers,<br></div>
<div>Pierre</div>