I am not a good coder. In my mind a coder is determined by how much he loves C (or, in clinical cases, assembler). I hate C and avoid it whenever I can, because I am always off-by-one, and often even in more then one place, which make debugging even more .. fun. :(
Currently I am coding an application that is centred around use of artificial neural networks (more precisely a multilayer perceptron). The NN part must be done in C for speed and memory usage (imagine adding and multiplying hundreds of millions of floating values just for one operation .. and having to do that for 10 000 times for training .. while holding the whole data set in RAM, because you access every single value of it every second). With that in mind I engineered my system in such a way that the C part can be reduced to a couple simple operations that I can adapt from examples of the NN library. And still I barely wrote those pieces. Working with MySQL in C is pure pain, for example.
The rest of the system is in Python and I must say that Python is a godsend by itself, without even comparing it to C. I am now so used to Python when I was debugging my C program, I automatically wrote a chunk of Python into it and was very surprised when it did not work.
With that in mind, to ease the pain for further generations of neural network researchers, I will (someday) find some time and write Python wrappers for the nice and cool Lightweight Neural Network C library that I am currently using here.
Share on Twitter
Share on Facebook
BTW: I found that SourceForge is packed full with great software projects, but it is very hard to find those projects in Google. Morale - seeking for good free software? wajig (or apt-get) it! then sourceforge it! then freshmeat it! and only then google it.