Programming with Lego Mindstorms EV3 I know this question was asked in the past, but I want an up-to-date answer.

What is the best way to program with the NXT with a oriented object programming language?  Ideally C#, C++ or Java (maybe Python).

I've search a bit, but I have difficulty to find what is popular today.

I'm really interested in Mindstorms, but I don't want to program with boxes.
When we did NXT programming in university we used NXC (http://bricxcc.sourceforge.net/nbc/) as our primary language.

This is a C-stlye language, not exactly object-oriented, but seeing that NXT programming is practically equivalent to microcontroller programming, C is much better suited to this task in my opinion. In C you get a much clearer main loop that controls your robot, and I can't really see what benefits would object orientation bring to a platform that is clearly restricted in both input/output capabilities and computational resources.

But if you really need object oriented design, take a look at LeJOS: http://www.lejos.org/