IO depends on your target environment. Targets include Webaudio, VSTs, mobile, and frameworks like PortAudio.
Some environments include some packaged DSP algos. E.g. webaudio and Apple's audio frameworks both have useful "modules" you can hook together. Sound dev languages like Csound, SuperCollider, and PD are almost nothing but stock modules with some options to roll your own. Other environments like VSTs need custom DSP development, usually in C++.
Custom DSP is difficult and specialised, although you can get some way into it copy-pasting popular algos in a cookbook way without necessarily understanding how they work.
For the real thing you have to understand discrete time domain representations of various mathematical abstractions that describe signal generation (oscillators, sample players) and processing (filters, distortion, time-based effects like reverb.)
Trivial models can be fairly simple but sound very sterile. Non-trivial models sound more musical but are much harder to design. As an example, here's a complete course in digital filter design.
https://ccrma.stanford.edu/~jos/filters/
There's a similar amount to learn about reverb design, complex oscillator models, and Fourier analysis and synthesis. Even basic sampling theory isn't completely trivial.
[0] https://forum.mutable-instruments.net/t/new-to-coding-where-...
[0] https://webcache.googleusercontent.com/search?q=cache:dJGP5n...
Alas no great guides/articles I can recommend, though http://www.portaudio.com/ is spoken highly of interface wise and may be worth exploring as some platform independence.