Let me add a truly comprehensive comment @DreamChild and answer @sergiks . He clearly meant that any programming language that has Turing completeness (and this is any of the existing non-esoteric programming languages) is suitable for solving the problem you described. However, depending on the specific task, it is worth making a choice in favor of a particular language.
If you plan to make a web application, you should use Java, Python, Ruby or PHP (I do not recommend, but in fairness it is worth mentioning). In addition, to create a web application will definitely need knowledge of HTML, CSS and JavaScript. Also, data is usually stored in web applications using databases, so you need to know SQL and be able to work with some DBMS (MySQL, for example).
If a desktop application is planned, then it is worthwhile to begin by clarifying which platforms it will run on, and choose a programming language based on this. Judging by the phrase " Each of these people has a certain rating that is set by visitors, " it is necessary to implement a client-server application, and the client and server can be implemented in different languages. Java would be suitable for the server, C ++ can be used for the client (in combination with any library for building user interfaces like Qt), Java (desktop applications are rarely written on it, but they are still written), C # (here you limit yourself only to OS Windows, the implementation of .Net for Linux lags far behind its progenitor), Delphi.
If you plan to write an application for mobile platforms - you need Java (for Android) or Objective C (for iOS). For the mobile application, you will also need to implement the server (see previous paragraph).
Summing up the above: before choosing a programming language, decide where and how your application will work. Then you can choose the language that suits your needs and which is most convenient for you.