5

What language(s) would be best to learn for someone interested in contributing to XMR (and, less relevantly, Bitcoin)?

I have a long term goal to contribute more and more significantly to these awesome projects but I have a long way to go.

I'm not sure what I want to code but ideas will come if I start learning...

8

Monero is for most parts written in C++ and C. That is, currently 81.2% of the code is written in C++, whereas 15.9% of the code is written in C. The remaining languages are CMake, Shell, Python, Perl6, and Other. The "language distribution" can be seen here (click on the purple/pink bar to see the distribution). Thus, if you want to contribute to Monero you, preferably, ought to learn C++ and C. For Bitcoin this relatively similar. One small deviation is that the Bitcoin repository also contains a significant percentage of Python code. However, this is probably demo code. For Monero you can find this demo code in a seperate repository.

In addition, there is also the GUI to which you can contribute. Its repository can be found here. The GUI is for most parts written in QML and C++. That is, currently 80.0% of the code is written in QML, whereas 15.9% of the code is written in C++. The remaining languages are QMake, Shell, and Javascript. The "language distribution" can be seen here (click on the purple/pink bar to see the distribution). Thus, if you want to contribute to GUI you, preferably, ought to learn QML and C++. Note that for some GUI features you will also have to make changes to the general Monero repository.

  • 1
    Very informative answer thank you! I'll search for some c++ tutorials to begin with but if there's any you'd recommend I'll definitely start there. The gui would be a great thing to contribute to, I just need to start using monero more to get some ideas for the GUI. – gdoober Nov 3 '16 at 11:41
  • 4
    I personally don't have any recommendations regarding c/c++ tutorials. However, you might want to look into "Mastering Bitcoin", which has a lot of code examples. – dEBRUYNE Nov 3 '16 at 12:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.