I did read your AD9833 post with interest (as I read all your posts with interest) and I also read NorthGuy's followup which said in part "It is simple SPI interface, with only 4 registers. You just set 28-bit frequency and 12-bit phase register. That's all. See, I already know how to set the phase, and you're yet to figure how to use your library. Reading datasheet has put me way ahead of where you are with the library."
You seem to be making a couple of assumptions that are probably incorrect. I did read the datasheet and know very well how to write the code. I also read the App Note - did you find that? It details the calculations and provides the proper values for a 400 Hz sine wave. Kind of handy... I also read over the library code and there were no surprises and, of course, the application itself just makes a couple of library calls. Over and done.
Perhaps it's not the best example because getting a sine wave takes me about 5 seconds after I turn on my old PM5314 Philips 1 - 20 MHZ function generator.
I could do the same with my 80 MHz Siglent but the application for this gadget is a flight instrument, not a boxcar.
If you had claimed "Because getting results can be fast!" I couldn't really argue that point, because sure, getting the Arduino Blinky is as fast as the getting the Forth Blinky. Both only take seconds to upload to the chip.
Why keep bringing up Forth? It brings nothing to the Arduino topic and even less to the AD9833 sub-topic. I wrote an entire celestial navigation program for the HP48GX calculator about 20 years ago. The HP RPL programming language is a lot like Forth. It worked well. But I'm not going to do it again!
As to why people can't get particular pieces of hardware to work, well, some people should be polishing ball bearings instead of writing code. Sometimes it is actually necessary to read the datasheet but when it runs over 1000 pages, it's going to be a slog. The only way to approach it is one peripheral at a time. To be fair, this isn't a game for the test gear challenged. Without a logic analyzer and/or modern DSO, things will be very difficult. You can't fix what you can't see.
In the end, I'm lazy, not stupid. I can write the code if need be but if it already exists, why not save a bunch of time?
What's to happen with my AD9833 gadget(s)? I'll toss them in a drawer and, maybe, pull them out some day. This exercise was for proof of concept, not production. Chances are good I will never use them for anything practical.
You're putting Arduino into FLIGHT INSTRUMENTS ? Well at least if anyone wants some Arduno gear for free they will only have to wait for it to crash land in their back yard. Ok, ok, I know you said "This exercise was for proof of concept, not production." but you might as well have just drawn a nicely colored picture because we both know that has as much chance of going into a flight instrument as anything Arduino.
I keep bringing up Forth because the topic is "Why Arduino users so aggressive?" ... you're not feeling aggressive because I'm suggesting that something else is better than Arduino are you ?
And as to the AD9833 sub-topic, of course Forth is 100% relevant. Forth is perfect for such projects even if you can't see it thru those Arduino colored glasses you're wearing.
In my world it's 100% vital to read the datasheets and it has never been a "slog" for me. I've always loved electronics and datasheets but now I see a whole sub culture of people who don't love electronics, they hate datasheets, they hate taking more than five minutes to code anything and they're proud of it.
I agree that electronics is probably not for these people. However along comes Arduino and sells them the idea that electronics IS for them. Now we have a massive 'community' of people who should never have gone near a soldering iron infesting the Internet with plaintive cries for help because they are utterly lost and alone.
That's not my fault, it's your fault for suggesting to these people that Arduino is so wonderful, just 'load a library' and it's all done in 5 minutes so they still have time to catch today's hour long episode of "Dr Phill" on tv.
Even tho you know what you're doing, you read the data sheet, you read and understood the premade Arduino code, then you used the Arduino code that someone else wrote. How incredibly convenient you didn't have any problems with sharing resources in the MCU for YOUR PART OF THE PROJECT, or want to use multitasking or something DIFFERENT from a "off the rack" solution.
To me that's like reading about the latest strawberry flavoured icecream, driving to the shop and buying some, then giving it to someone else to eat.