software compatibility
-
- Posts: 9
- Joined: 05 Jan 2013, 00:39
software compatibility
A question for Zander: What program languages will work in the new EV3? I'm new to mindstorms and the icon based programming seems pretty easy at first glance. (I've never done any programming) You guys (the pros) wouldn't be running these other programming languages if there were not some great benefit. Can I get a short rundown on what you use and why?
Mike
Mike
Re: software compatibility
Right now there's only the standard programming language available for the EV3, made by National Instruments. I am pretty sure John Hansen has plans, as do a couple of others, including myself. I am hoping for ROBOTC to be ported to this platform, but that is between LEGO Education and Robomatter. I am pretty sure Java will be made available as soon as we get our hands on the source code. I'd like Python to be made to work on this platform. The nice thing is that once the platform becomes generally available, it'll be no time before we see dozens of programming languages available for this. I'm looking forward to seeing what the community of hackers will do with this!
= Xander
= Xander
| My Blog: I'd Rather Be Building Robots (http://botbench.com)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
Re: software compatibility
Thanks for the info, the press releases and writeups did not touch on this.mightor wrote:Right now there's only the standard programming language available for the EV3, made by National Instruments.
= Xander
I guess it's probably the reason why the current NXT-G 2.x has not been updated for the recent Mac OS X versions.
Re: software compatibility
Xander,
I too would like to be able to program in python on the EV3. It would also be good for teaching programming. I also like the idea of the community being able to create python libraries for sensors, input filters such as Kolmogorov–Zurbenko, and controllers such as PID, much like the good quality math and science libraries that come with many language distributions.
I too would like to be able to program in python on the EV3. It would also be good for teaching programming. I also like the idea of the community being able to create python libraries for sensors, input filters such as Kolmogorov–Zurbenko, and controllers such as PID, much like the good quality math and science libraries that come with many language distributions.
Re: software compatibility
why not simply use a common standard ANSI C compiler ?
C compilers of any platform already come with a huge chunk of mathematic and statistic header libraries which are ANSI compatible and thus cross-compatible to headers of even other ANSI C compilers and so easily could be #included.
I guess, e.g. gpp with it's current libraries might easily target the Linux platform which will come with EV3-ARM9.
AND we might have turbo fast genuine ARM machine code on a already MT-capable platform, as fast as genuine asm machine code.
C compilers of any platform already come with a huge chunk of mathematic and statistic header libraries which are ANSI compatible and thus cross-compatible to headers of even other ANSI C compilers and so easily could be #included.
I guess, e.g. gpp with it's current libraries might easily target the Linux platform which will come with EV3-ARM9.
AND we might have turbo fast genuine ARM machine code on a already MT-capable platform, as fast as genuine asm machine code.
Re: software compatibility
I'm not parsing this sentence. How is ARM machine code not genuine asm machine code?doc-helmut wrote: AND we might have turbo fast genuine ARM machine code on a already MT-capable platform, as fast as genuine asm machine code.
If by 'asm' you're referring to NXT Byte Code, then ARM machine code should be FASTER than NBC unless you have an incredible Just-In-Time byte code compiler.
Think Java Byte Code running on your PC. It is not going to be faster than native .exe files except in the latest versions of Java with much improved JIT support where it may reach parity.
Re: software compatibility
gpp is the pre-processor, gcc is the compiler. The reason people use languages like Java and Python is because they don't like ANSI C and sometimes speed is not as important as convenience. The problem getting ANSI C to work for EV3 is not the actual compiler, but the glue (userspace libraries) to talk to the hardware. The compilers are already there.doc-helmut wrote:why not simply use a common standard ANSI C compiler ?
C compilers of any platform already come with a huge chunk of mathematic and statistic header libraries which are ANSI compatible and thus cross-compatible to headers of even other ANSI C compilers and so easily could be #included.
I guess, e.g. gpp with it's current libraries might easily target the Linux platform which will come with EV3-ARM9.
Helmut, seeing as you have trouble writing things like RS485 communication libraries in high level languages like NXC and ROBOTC, what makes you think you can handle programming in native assembler for the ARM9? However, I don't want to discourage you before you even get going, so to get you started before the actual launch, you can perhaps check this out: http://stackoverflow.com/questions/2700 ... m-assembly
I look forward to seeing your first application!
= Xander
| My Blog: I'd Rather Be Building Robots (http://botbench.com)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
Re: software compatibility
I am not sure how pointers will help with speed, could you elaborate?...and are insanely speeded up when using pointers.
Taken from http://stackoverflow.com/questions/6919 ... speed-in-c
Before you start saying things, it is generally better to do a bit of research first. You say gcc is not your world yet, then perhaps it is better not to make bold statements yet either.When you access a "variable", you a) look up the address, and b) fetch the value.
Remember - a pointer IS a variable. So you a) look up the address (of the pointer variable), b) fetch the value (the address stored at that variable) ...
... and then c) fetch the value at the address pointed to.
So yes, accessing via "pointer" (rather than directly) DOES involve (a bit) of extra work and (slightly) longer time.
= Xander
| My Blog: I'd Rather Be Building Robots (http://botbench.com)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
Who is online
Users browsing this forum: No registered users and 16 guests