-
Notifications
You must be signed in to change notification settings - Fork 12
Motivation
Motivation
One of the problems of machine learning is its steep learning curve. If you want to let your code learn, you've got few choices: Use expensive proprietary modules or use libraries that are aimed at people with experience in AI. If you want to learn how machine learning works, you've got to read scientific papers with tons of buzzwords. The provided code is often made by people who are brilliant at researching, but have only got poor programming skills.
We think this is a shame. A programmer shouldn't have to learn about the internals of a class. He should be able to use it intuitively, in a matter that it relieves him from work, not set him up for more. That's the age old principle of encapsulation!
Another problem we've encountered was platform dependency. Despite being conceived as a platform independent language, we encountered various implementations of NEAT, that managed to break this. Examples included code with for loops looking like this:
for( i = 0; i < 10; i++ ){
...
}
Notice the i not having been declared? Some compilers permit this. Another more subtle one was the abstract
keyword from Microsoft Visual Studio. It's actually not part of the language. The official way is to write an (admittedly more arbitrary) = 0
at the end of a function.