I'd suggest C#. Its what all the cool kids are using😊
If you look at the Revit API documentation, they include examples in both C# and Visual Basic. Sorry, no examples for Python users.
If you look at the questions on this site, I think most people use C#, and some type of Python would be second most popular. So in terms of getting examples and questions answered (very important for a Revit API programmer) C# seems to be the clear winner.
The Visual Studio IDE or Sharp Develop( the Macro IDE) will do any of the above in addition to something called F which I've never heard of anyone using. Either IDE will even convert your code or any examples from one language to another, although I'm not sure if that will work 100% of the time.
And some people use either the Revit Python Shell, or PyRevit addins to write python addins. I'm not sure why these are necessary since more recent versions of Visual Studio and Sharp Develop both include python. Maybe it has something to do with the different flavors of python (Iron Python for example)?
I started with Python but I always had trouble with the line returns not compiling correctly. Maybe its the way I would copy and past examples from the internet, but I always wound up deleting and retyping the same code just to get it to compile.
Some say C# is more difficult to understand, but to me, the main difference is that you just have to declare the variable types.