None of them :)
Since this question has been posted on Quora, I am assuming that the OP is new to Machine Learning.
C++ is more of ‘bare-metal’ programming where you are dealing at quite a low level. The support for libraries is limited. Of course it is quite fast, but then this speed comes at the cost of reduced library support.
Golang is definitely a great language, but it has been designed primarily for the development of distributed systems. It has some excellent libraries for threading, locking/concurrency, etc. However, it has limited support for Machine Learning.
When it comes to a choice of a programming language to pick up ML, Pythonwins by a huge margin. Python has some of the best Machine Learning libraries:
- Sklearn - also known as scikit-learn, this library contains some out-of-the-box implementation of common ML algorithms like Linear Regression, SVM, etc.
- Tensorflow - this is a great library for someone who wants a finer control. It is getting increasingly popular, particularly in the deep learning space.
- Keras - a great library for deep learning. Very intuitive and easy to use.
- Others - theano, caffe, etc. I am not much aware of these, but they are for sure quite popular.
Besides, there are excellent tutorials and documentation available for anyone to pick up these libraries with minimal effort.
Yet another commonly used programming language for ML is Java.
It is to be noted that many of the powerful ML libraries are built in C++ (for instance, Tensorflow). However, that doesn’t make C++ the most ‘user-friendly’ language for Machine Learning.