From: Graeme G. <gr...@ar...> - 2008-06-20 08:19:01
|
Tim Roberts wrote: > Let us not fool ourselves about what libusb is. It is not a play set > for toddlers nor a kit for beginning programmers. It is, rather, a > mechanism for writing device drivers. The drivers happen to run in user > mode, but they are drivers, nonetheless. Writing a driver demands a > certain level of subject matter expertise. If one needs to have one's > hand held, then perhaps one is not ready to create a device driver. It's a bad API design, with non-intuitive behavior. Anyone approaching a function such as bulk_write expects that it will cause a write, not that some detail like the address being written to will override the write function. > You are talking about a mistake that a given programmer will make only > once. As soon as the problem is pointed out, the programmer will not > make the same mistake again. We have already expended far more energy > on this topic than it is worth. It's worth some energy because it's symptomatic of similar issues. Those "in the know" don't see the sharp points any more, and may wonder why the same questions keep coming up, but if they can take a step backwards and look at the API design, then there may be ways of improving it. It would be good to see some pride in workmanship as well, rather than the lazy and smug "they'll figure it out, just like we had to" attitude. Graeme Gill. |