I would start off by learning the Canvas API for HTML/JavaScript [1][2]. All you need is a web browser, no extra software or dependencies (well, maybe just a text editor to edit an index.html file on your Desktop). You can test out snippets from MDN and StackOverflow in your browser’s JavaScript console. Once you have a minimal, working example (e.g., a 512x512 square canvas with a color gradient), start messing around with the code and see how it affects the canvas image. For example, modify the parameters of your loops or flip the loop order of nested loops. Focus on the principles rather than on learning any particular technology. Simpler is better when learning; the “best” production software is not necessarily the best to learn with; don’t forget the Telescope Rule [3]. Once you have a foundation for basic graphics, it will be much easier to learn shaders.
[1] https://codepo8.github.io/canvas-images-and-pixels/
[2] https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API