The biggest weakness of the LEGO EV3 system may be that its icon-based programming interface is so very different from the textual programming languages that professional programmers use. Using a textual programming language with the EV3 would open the door to more serious programming, and would also provide more power, since programming with the standard LEGO EV3 software is very limited in some ways (text handling, variables, etc). A number of textual programming options exist for the EV3 such as RobotC, ev3dev, etc., but most of them require you to use an alternate operating system (on an SD card) or to modify the brick’s firmware.
A textual programming language for the EV3 has just been released that requires no modification of the brick’s firmware and no alternate operating system. Best of all, it’s easy to install, easy to program and it’s free! It’s called EV3 Basic and it consists of Microsoft Small Basic and the EV3 extension. EV3 Basic is compatible with all the standard EV3 and NXT motors and sensors as well as BlueTooth and Wifi. Small Basic is available in 17 languages and the EV3 extension is available in English, German, Spanish, and French. EV3 Basic has far too many other features for me to list them here, but you can read about them on the site, EV3Basic.com, that I created to support this language. The EV3 extension is in its 21st release already and is quite stable, and Microsoft has just released a new version of Small Basic (v1.2) with bug fixes and support for the Kinect depth camera, so please visit EV3Basic.com, give EV3 Basic a try and help spread the word!
Teacher of computer science and robotics