I actually have two choices : C or Python to create my application. On my application users will need a key (on start) to access it, the key will be verified with an algorythm on the user's computer. I'm searching for the best language to make the reverse more difficult. I know it's impossible to make an application 100% protected againt this. When looking for Python protection I saw this question, and so I'm wondering if C is better than Python for this kind of app.
Code written in either language can be reversed, I think the bigger issue here is that the key checking is all performed locally. If someone can RE the algorithm, then they can create a keygen for anyone to use.
I'd suggest that you create a web service to validate the keys, and don't expose the algorithm to reversing.
The software could still have the key check disabled, and be distributed with a crack or pre-cracked. It's all about raising the bar high enough that no-one wants to bother spending the time breaking it.
So definitely use obfuscation, packing, encryption, anything to make reversing more time consuming.