Credo che il client ORIGINALE fosse stato scritto in C++, versione c++ lib 6 di windows, un client fu anche compilato per linux agli albori, ma non ha mai avuto seguito, un client più recente, usato anche qui, è Orion, scritto anch'esso interamente in C++, quindi puro linguaggio procedurale.
Mentre se parli del server, allo stato attuale usiamo C#, nella sua più recente implementazione (c# > 4.5)
Il primo richiede una diversa metodologia di lavoro, in quanto devi seguire schemi ben precisi e stare ben attento a liberare le eventuali risorse che non devi più utilizzare, la gestione della memoria è per lo più delegata a te...
mentre nel secondo il linguaggio è fortemente ad oggetti, dove la memoria viene gestita dal garbage collector e che è in tutto e per tutto simile a java, con qualche differenza (che è oramai diventata enorme nelle versioni più recenti di .net).
Java dal lato suo però è stato portato in moltissimi sistemi, mentre C#, salvo per MONO, che non è comunque all'altezza dell'engine originale microsoft, si trova per lo più su macchine windows, sui cellulari android e su linux.