For most of the tricky stuff the hard part is thinking clearly. Deciding how to approach the problem, what to prioritize, etc
Translating that into whatever language you chose is not that hard.