You can use any language to interact with the server as long as it supports HTTP requests. For Python and R we have written wrappers to simplify the interaction with the server: see Clientfor more details on how to install these.
Depending on your algorithm it may be required to use a specific language to retrieve the results. This could happen when the output of an algorithm contains a language specific datatype and or serialization.
E.g. when the algorithm is written in R and the output is written back in RDS (=specific to R) you would also need R to read the final input.
Please consult the developer of your algorithm if this is the case.
Node & Server
The (minimal) requirements of the node and server are similar. Note that not all of these are hard requirements: it could well be that it also works on other hardware, operating systems, versions of Python etc.
The hardware requirements of the node also depend on the algorithms that the node will run. For example, you need a lot less compute power for a descriptive statistical algorithm than for a machine learning model.