Travis B. wrote: ↑Sun May 30, 2021 2:13 pmWhy would one be building a temperature sensor project then when one can simply buy a self-contained thermometer off the shelf with far less hassle if one is not doing it to learn something?
Oh, I don't know, maybe you're building something that needs a thermometer?
(About my use of one here, it is specifically to avoid the implication of using you that I might be talking about you, KathTheDragon.)
I'm smart enough to know what impersonal "you" is, thanks.
bradrn wrote: ↑Sun May 30, 2021 8:36 pm
I think there is an argument for avoiding libraries in the specific case of electronics. If you’re doing anything much more complicated than just plugging one electronic device into the GPIO pins specified by the documentation, you’ll end up directly working with the hardware interface between the microcontroller and the device at some point. Which means that (a) you’ll need to know how everything works anyway, in order to avoid messing up the circuit, and (b) there’s a good chance of (accidentally or deliberately) doing something the library doesn’t support.
I never disagreed with this, frankly. All I said is that the
offence taken at the idea that people might want to use a library for a solved problem is ridiculous. If you want to use a component for which a library exists, refusing to use it
because it's a library is absurd. If you test it and find out it has issues that make it intractable, well, that's a whole nother problem, isn't it? But you can't just assume that.
(And in general, I think there are good arguments for having at least a general understanding of the salient points of the level below yours. e.g. If I’m programming Haskell, it’s useful to have an idea of how the compiler deals with laziness internally. If I’m writing C, I need to understand memory management. If I’m making a webserver, it would be nice to know a bit about HTTP and TCP/IP so I know what’s going wrong. And so on and so forth.)
I never disagreed with this either, except I'd call this "having learnt the language/framework/toolchain/etc." properly.