If it's just for fun I recommend you trying to find an engine and build out of that. If you are interested on making games from ground up then you should know that it wont be easy and will consume a lot of time learning the language and concept of game development.
As for what language the Osu! game is made with is not really relevant, pick a language and stay with it. C++, Java or C# is most commonly used in game development ( IMO, others are Python and Ruby ) but is not limited to them.
Just a quick look at Osu! It requires .NET 2.0 and is Windows only (beside the Mac installer which is in beta state) I'd guess it's using C# and XNA/DirectX or OpenGL directly for the graphical part, though it could be any numbers of graphical api's.
Edited by Moonkis, 03 January 2013 - 06:50 AM.
Making a game takes time, and a lot of it.