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...

sgp
  • 8,836
  • 7
  • 43
  • 113
gdoober
  • 685
  • 4
  • 14

1 Answers1

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 is 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 separate 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.

tripleee
  • 107
  • 4
dEBRUYNE
  • 15,417
  • 18
  • 60
  • 114