At one point, we also experimented using NXC (Not eXactly C) instead of the LEGO Mindstorms programming software, which is a programming language that has a syntax similar to C. This was because our Mindstorms program was too large and robot is processing alot of sensor readings per loop. This resulted in each program loop taking much longer than expected. (around 0.25s instead of the usual 0.033s)
This small difference had a huge impact on our line tracking program as the robot often veers off the line or turns incorrectly as it could not react in time. The C-based syntax of NXC has a smaller file size and is easier for the robot to process and complete each loop.
However, we eventually reverted back to using LEGO Mindstorms as we had to completely recode everything from scratch using an unfamiliar IDE and it is almost impossible to fine tune everything with 2 weeks left to the competition.
Fortunately, we managed to clean up and optimised much of the old code such that the loop time is reduced to a more manageable one.