<p>When we did NXT programming in university we used NXC (<a href="http://bricxcc.sourceforge.net/nbc/" rel="nofollow">http://bricxcc.sourceforge.net/nbc/</a>) as our primary language.</p>

<p>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.</p>

<p>But if you really need object oriented design, take a look at LeJOS: <a href="http://www.lejos.org/" rel="nofollow">http://www.lejos.org/</a></p>

CC BY-SA 3.0
2014-04-26T00:02:59.993Z
The last update of NXC is 2011, I'm not sure it's still maintained.  LeJOS seem to be updated frequently, I'll probably try this one.  Thanks
DarkPixel
CC BY-SA 3.0
2014-04-25T08:42:25.497Z
2014-04-25T08:42:25.497Z
zovits
<p>You can use C++ with <a href="http://c4ev3.github.io" rel="nofollow">c4ev3</a>, also available as Eclipse Plugin.</p>

<p>If you are ok with sending the commands remotely, you can even use any language that supports <code>popen()</code> like functionality, (which includes every useful language out there, with some bash-fu even Brainfuck). Check out <a href="https://github.com/c4ev3/ev3duder/blob/master/moveEv3.pl" rel="nofollow">moveEv3.pl</a>.</p>

CC BY-SA 3.0
2016-06-09T09:05:27.587Z
2016-06-09T09:05:27.587Z
a3f
<p>I know this question was asked in the past, but I want an up-to-date answer.</p>

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

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

<p>I'm really interested in Mindstorms, but I don't want to program with boxes.</p>

<nxt><mindstorms><ev3>
Programming with Lego Mindstorms EV3
DarkPixel
# Programming with Lego Mindstorms EV3

(Asked by: username_0 on 2014-04-21)

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.

**Tags:** nxt, mindstorms, ev3


---

## 2 answers

### Answer by username_1 on 2014-04-25. Score: 2 | Accepted answer

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/>

> **Comments:**
> **username_0**: The last update of NXC is 2011, I'm not sure it's still maintained.  LeJOS seem to be updated frequently, I'll probably try this one.  Thanks  

---

### Answer by username_2 on 2016-06-09. Score: 1

You can use C++ with [c4ev3](http://c4ev3.github.io), also available as Eclipse Plugin.

If you are ok with sending the commands remotely, you can even use any language that supports `popen()` like functionality, (which includes every useful language out there, with some bash-fu even Brainfuck). Check out [moveEv3.pl](https://github.com/c4ev3/ev3duder/blob/master/moveEv3.pl).


---

