+ 3

Wich language is better for Machine Learning algorithms?

Machine Learning

27th Dec 2017, 10:17 PM
MarcoF
MarcoF - avatar
11 Answers
+ 3
Almost everyone says Python, which is probably correct, but Iā€™m very against that because of the following reasons: >Python is slow. It uses an interpreter instead of a compiler, which slows it down a lot. >It is different. Pythonā€™s syntax is very different from any other language, so using it very often could make you used to this different syntax and actually worse at better languages. >Itā€™s too easy. I know that this could seem like a benefit, but without at least some challenge, you wonā€™t improve at programming very much. Iā€™d use C++ for machine learning because there is nothing Python can do that C++ canā€™t (you can make classes to eliminate data types and other problems), it is very fast, and it is challenge and fun.
28th Dec 2017, 1:01 AM
Jacob Pembleton
Jacob Pembleton - avatar
+ 4
I prefer python cause it's that simple
27th Dec 2017, 10:24 PM
Tolo
Tolo - avatar
+ 3
I would say python
27th Dec 2017, 10:21 PM
XIII
XIII - avatar
27th Dec 2017, 11:21 PM
CalviÕ²
CalviÕ² - avatar
+ 3
@MacroF I have no idea why it is so popular, it could be because of advanced calculations in the standard library, but Iā€™m currently replacing those with a C++ library that will likely run faster because it is compiled. Also, Python doing the calculations that it does would be much slower than a C++ library made by a professional to replace it because Python would have to do all of the same stuff as a library but with the extra task of interpreting.
28th Dec 2017, 5:31 PM
Jacob Pembleton
Jacob Pembleton - avatar
+ 2
@Tolo Python uses an interpreter, which will always make it slow. It could be improved to be about as fast as Java, but thatā€™s still very slow compared to compiled languages. Also, when computers get fast enough to make Python run about as fast as a language like C++ does today, they will run C++ even faster, and programmers have been making larger, slower programs as computers get faster, so a future Python program will still run as slow as todayā€™s Python programs run today. Finally, you can easily test something in any language. Itā€™s not only easy in Python.
28th Dec 2017, 1:14 AM
Jacob Pembleton
Jacob Pembleton - avatar
+ 2
@Jacob Pembleton I know that all interpreter based languages will be slower than others but that's not the point I meant
28th Dec 2017, 1:24 AM
Tolo
Tolo - avatar
+ 2
@jacob, you said python is slower than C++. and then why for you it has a great success in Machine Learnig? (with big data a faster algorithm could be very important...)
28th Dec 2017, 9:21 AM
MarcoF
MarcoF - avatar
+ 2
&MacroF I did research on Python because I was surprised that such an easy interpreted language was fast enough to actually be popular, and I fount that it is slower than Java. I already know that running a simple 2D game on Java can go below 40 FPS, whereas on average, a high quality 3D game using C++ with OpenGL as the graphics library will run at about 320 FPS or 280 with DirectX.
28th Dec 2017, 12:46 PM
Jacob Pembleton
Jacob Pembleton - avatar
+ 2
@Jacob, ok but you don't answear my question. why on data science python is so popular? maybe it is not so slow on different kinds computations than computer games...
28th Dec 2017, 1:09 PM
MarcoF
MarcoF - avatar
+ 1
When you want to test something python it's very nice because it's that simple The problem with the speed will maybe be changed in future and if your device has enough power you won't notice that python is slower than other languages
28th Dec 2017, 1:08 AM
Tolo
Tolo - avatar