Page 1 of 1
(4 posts)

Have read the "Get Involved" page and would like to help on the developer side but don't have a lot of experience with programming. Is working on Krita something someone can learn on their own over time, or is it almost essential to have a college education in computer science? Would really like to be a part of it but not sure where to begin to learn. If you think it is impossible for a beginner to learn on their own however, thank you anyway for working hard on the program.

Like, for example, I didn't know how to program in C++ a year ago, but now I regularly add features, and am currently studying humanities. On the other hand, I had previous minor experience in Java, and with object oriented programming in general, due to a fondness for game design and engines.

Opposite of that, we've had people who were far into their computer science course who couldn't make sense of the code.

Then, try to find a file of a component you'd like to adjust, or think you understand the logic behind. Try to read this file, try to understand what the different lines mean.If you want to try debugging, you can add lines like this:

And then, when you build, run Krita in a terminal, and Krita goes past the code where you put your debug, it'll print "This is a debug string" into the terminal. This is very powerful, because you can pass all sorts of things into the debug, especially variables, so you can try figuring out what values certain variables have at the moment you ask for them.

Secondly, always remember Krita is an object oriented program. This means that if something seems gobbledygook to you, it might actually be a function that is defined elsewhere. So always check the headers, the files of the classes that are included, and the files of the object that is being manipulated. It also helps to check QT documentation(which even our most senior of programmers has always open in the browser), because Krita is build on top of the QT framework.

Finally, we're availeble on #krita at freenode. We even have a IRC client on the website. So you can come by any time with coding questions.

Tl;dr: It depends on you, so build first and determine how difficult it might be after that.

Thank you very much for your help. Will begin learning the C++ language. Not sure exactly what is meant by building Krita, it is already installed on the computer but am guessing they are different things. But will also read the article and begin building it.