The problem with your question is that it's not really giving us any specific information about what kind of app you want to develop. There are different app development platforms specific for generic mobile apps, games, etc.
If you want to create an app just for iOS and/or MacOS then XCode is your best option.
If you want to create a game that will run on multiple platforms (iOS, Android, Mac, Windows, Xbox, Playstation etc) then look into Unity or Unreal Engine. You'll need to know C# or Javascript for Unity and C++ for Unreal Engine.
If you want to create an app that you want to run on multiple platforms (iOS, Android, Mac, Windows, Linux etc) then take a look at Xamarin. C# is the primary language used in Xamarin.
There are many different app development platforms out there for generic or specific needs. All have strengths and weaknesses.