I'm really interested in developing art software similar to popular tools like Photoshop and Clip Studio Paint, but I've been struggling to find specific resources on what programming languages to use for that purpose. I've dabbled a bit in JavaScript, Lua, and Python, so I'm considering those as options. However, I keep coming across information focused on AI programming, which isn't what I'm looking for. I've heard that C and C++ are commonly used for such software; is learning C++ essential, or can I get by with other languages? C++ doesn't resonate with me the same way Lua and Python do, but I'm willing to learn it if necessary.
4 Answers
The language you choose really depends on what functionalities you want your software to have. While almost any language can be used to develop a drawing application, if you're planning on implementing performance-heavy features like image processing or animation, C++ is typically the go-to because it offers better speed. Just keep that in mind as you plan!
The possibilities are pretty wide! Initially, you might want to start with a simple drawing program. When you feel more confident in coding, you can look into the source code of established software like Gimp to see how things are structured. That could give you a clearer idea of what's possible.
Going for something like C++ might make sense if you need top-notch performance for complex graphics. It's kind of like driving a high-speed sports car without brakes—you have to be precise or things can go south fast! But don’t sweat it too much; if your computer can handle it, you can often find ways to accomplish your goals with simpler languages.
You really don’t have to stick with C++ just to create a painting app! You can definitely make it in JavaScript, Python, or Lua. Here’s a simple breakdown for starting out:
1. Choose your language.
2. Learn how to create interactive programs and handle graphics.
3. Implement mouse input to draw pixels on the canvas.
4. Add features like color selection and brush styles.
For saving and loading, you might use libraries that allow you to convert your drawings into PNG files. If you run into specific issues while coding, just ask for help here!

Great suggestion! Analyzing open-source projects like Gimp is super helpful for understanding how to build your own tools.