View unanswered posts | View active topics It is currently Sat Aug 23, 2014 3:19 pm






Reply to topic  [ 14 posts ] 
Different IDE 
Author Message
Rookie

Joined: Wed Nov 09, 2011 6:10 pm
Posts: 4
Post Different IDE
Hey,

Can I use a different IDE for RobotC? Visual Studio?

Benton


Wed May 02, 2012 1:38 pm
Profile
Senior Roboticist
User avatar

Joined: Wed Sep 28, 2011 10:13 pm
Posts: 630
Location: If I told you, I'd have to kill you.
Post Re: Different IDE
No, you can't.

_________________
A.K.A. inxt-generation
Self-proclaimed genius, and future world dominator.
My Brickshelf Folder
"Don't they teach recreational mathematics anymore?" - The Tenth Doctor
Bow down to Nikola Tesla, King of the Geek Gods.


Wed May 02, 2012 1:40 pm
Profile WWW
Moderator
Moderator
User avatar

Joined: Thu Dec 22, 2011 7:42 am
Posts: 43
Post Re: Different IDE
but you can use another editor that you love, and then compile from RobotC. ;-)

Best regards
Miki.

_________________
Visit my project RainBot v0.11 on source forge, a 6 wheels robot featuring A* & Dijkstra's path finding, motors & sensors emulation, small font, fifo & sorted list libraries, using Xander's drivers for HT Compass, and documented with doxygen.


Wed May 02, 2012 2:49 pm
Profile
Senior Roboticist
User avatar

Joined: Wed Sep 28, 2011 10:13 pm
Posts: 630
Location: If I told you, I'd have to kill you.
Post Re: Different IDE
miki wrote:
but you can use another editor that you love, and then compile from RobotC. ;-)

Best regards
Miki.


Yeah, but I think that that would probably be more trouble than it's worth.

_________________
A.K.A. inxt-generation
Self-proclaimed genius, and future world dominator.
My Brickshelf Folder
"Don't they teach recreational mathematics anymore?" - The Tenth Doctor
Bow down to Nikola Tesla, King of the Geek Gods.


Wed May 02, 2012 3:13 pm
Profile WWW
Moderator
Moderator
User avatar

Joined: Tue Sep 14, 2010 9:19 pm
Posts: 496
Post Re: Different IDE
I wonder how much trouble it would be to write an Eclipse plugin for ROBOTC...

_________________
sudo rm -rf /


Wed May 02, 2012 4:06 pm
Profile
Expert

Joined: Tue Feb 28, 2012 3:10 pm
Posts: 195
Post Re: Different IDE
magicode wrote:
I wonder how much trouble it would be to write an Eclipse plugin for ROBOTC...


I do not see anything in the docs (maybe I missed it) were there is a command line option to compile. It may not be hard to add an option to do this, and if enough asked for it, I suspect they may be willing to add one.

But I also wonder how many would really want this. The current version of eclipse with the current version of Java can not even edit files properly on windows. It displays incorrectly and as you type, you are really overlaying a different line that is not even shown. Apparently this is a problem caused by the recent update to Java, but with errors like this getting through, why would anyone want to use it?

For now, you can edit in Visual Studio, with no completion assistance, then reload in RobotC to compile. Even though I have used visual studio for ever (it seems), RobotC is not as bad as other NXT IDEs, you get used to it. It would be nice if they used something like AvalonEdit (part of http://sharpdevelop.codeplex.com/), but that would require them to open source it, or write their own equivalent (several man year effort $$$).

I'd vote first for pointers.

_________________
Mike aka Spiked3
http://www.spiked3.com


Wed May 02, 2012 7:03 pm
Profile
Moderator
Moderator
User avatar

Joined: Tue Sep 14, 2010 9:19 pm
Posts: 496
Post Re: Different IDE
I agree that the ROBOTC IDE is probably the best one for working ROBOTC, as it's so integrated, and its only function is to support the language. I don't have anything against it. I was just wondering about the possibility of a plugin. What do you have against Eclipse? It's used by a plethora of professional companies. And it'd be great for file management of drivers and external libraries.

_________________
sudo rm -rf /


Wed May 02, 2012 7:20 pm
Profile
Expert

Joined: Tue Feb 28, 2012 3:10 pm
Posts: 195
Post Re: Different IDE
magicode wrote:
I agree that the ROBOTC IDE is probably the best one for working ROBOTC, as it's so integrated, and its only function is to support the language. I don't have anything against it. I was just wondering about the possibility of a plugin. What do you have against Eclipse? It's used by a plethora of professional companies. And it'd be great for file management of drivers and external libraries.


I have had many bad experiences with Eclipse. From losing days of coding, to losing days of coding - well I guess just the same experience many times, every time. I do not use it professionally. I use it once in a while which means I grab the latest Java and Eclipse. It it has screwed me over every time. If I used it professionally I am sure I would get to a point where it was working and leave it alone. This experience also reflects what every person I know has experienced with it. They will not use it for their work because of its buggyness. I'm sure there are a lot that use it all the time, but my personal experience is to stay away from it. BTW, I just tried intelliJ as an alternative and so far no problems.

But again, my point is that if enough people ask, RobotC might listen and add command line abilities. Until then, the odds of an Eclipse plugin are not very good. And even if, it would take a pretty good extra effort to get things like auto-completion to work ( a new symbol table would be required from recompiling on every character change). And a huge effort for debugging. I just do not see the demand justifying the effort. The effort could be spent on making requested changes to the RobotC IDE. What kind of things do you see in Eclipse that RobotC could add? You mentioned file management, I'm not sure what RobotC is missing there, but I haven't done much with driver libraries yet.

_________________
Mike aka Spiked3
http://www.spiked3.com


Wed May 02, 2012 11:16 pm
Profile
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3193
Location: Rotterdam, The Netherlands
Post Re: Different IDE
The command line interface feature has been asked many times in the past and it's currently not a priority, as far as I am aware of. There are 100s of features that are much higher on the list. I would not be holding my breath for it, if I were you.

- Xander

_________________
| Professional Conduit of Reasonableness
| (Title bestowed upon on the 8th day of November, 2013)
| My Blog: I'd Rather Be Building Robots
| ROBOTC 3rd Party Driver Suite: [Project Page]


Thu May 03, 2012 2:21 am
Profile WWW
Moderator
Moderator
User avatar

Joined: Tue Sep 14, 2010 9:19 pm
Posts: 496
Post Re: Different IDE
Oh, I'm sure this is way, way, way down on the list is it's even being considered. We're still waiting for actually relevant things like re-entrant functions, pointer support, (and file IO on the Cortex).

_________________
sudo rm -rf /


Thu May 03, 2012 8:31 am
Profile
Senior Roboticist
User avatar

Joined: Wed Sep 28, 2011 10:13 pm
Posts: 630
Location: If I told you, I'd have to kill you.
Post Re: Different IDE
magicode wrote:
Oh, I'm sure this is way, way, way down on the list is it's even being considered. We're still waiting for actually relevant things like re-entrant functions, pointer support, (and file IO on the Cortex).


Pardon my ignorance, RobotC is the only text language I've ever used. What are "re-entrant functions" and "pointers"?

_________________
A.K.A. inxt-generation
Self-proclaimed genius, and future world dominator.
My Brickshelf Folder
"Don't they teach recreational mathematics anymore?" - The Tenth Doctor
Bow down to Nikola Tesla, King of the Geek Gods.


Thu May 03, 2012 8:37 am
Profile WWW
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3193
Location: Rotterdam, The Netherlands
Post Re: Different IDE
A reentrant function is a function that can be called multiple times, from different tasks or from within itself, through recursion, without getting conflicts between the local variables that are used in that function.
A pointer is like a variable, except instead of holding a value, like 0 or 8 or something, it holds the memory position of another variable. So think of it as directions to another variable, rather than the variable itself.

- Xander

_________________
| Professional Conduit of Reasonableness
| (Title bestowed upon on the 8th day of November, 2013)
| My Blog: I'd Rather Be Building Robots
| ROBOTC 3rd Party Driver Suite: [Project Page]


Thu May 03, 2012 8:54 am
Profile WWW
Senior Roboticist
User avatar

Joined: Wed Sep 28, 2011 10:13 pm
Posts: 630
Location: If I told you, I'd have to kill you.
Post Re: Different IDE
mightor wrote:
A reentrant function is a function that can be called multiple times, from different tasks or from within itself, through recursion, without getting conflicts between the local variables that are used in that function.
A pointer is like a variable, except instead of holding a value, like 0 or 8 or something, it holds the memory position of another variable. So think of it as directions to another variable, rather than the variable itself.

- Xander


I know what recursion is. I'd just never heard it called "re-entrant" before.

Ohhhh.... I think I get it. That sounds usefull!

_________________
A.K.A. inxt-generation
Self-proclaimed genius, and future world dominator.
My Brickshelf Folder
"Don't they teach recreational mathematics anymore?" - The Tenth Doctor
Bow down to Nikola Tesla, King of the Geek Gods.


Thu May 03, 2012 9:09 am
Profile WWW
Moderator
Moderator
User avatar

Joined: Tue Sep 14, 2010 9:19 pm
Posts: 496
Post Re: Different IDE
NeXT-Generation wrote:
I know what recursion is. I'd just never heard it called "re-entrant" before.

Ohhhh.... I think I get it. That sounds usefull!

As Xander said, a recursive function isn't the same this as a re-entrant function. A function must be re-entrant to be recursive, but it doesn't need to be recursive to be re-entrant.

This is a recursive function:
Code:
int foo(int bar){
  if(bar == baz) return 0;
  return foo(bar-qux);
}


This is a function which behaves in re-entrant manner without being recursive:
Code:
int foo(int bar){
  return baz;
}

task a(){
  motor[A] = foo(5);
}
task b(){
  motor[B] = foo(6);
}

_________________
sudo rm -rf /


Thu May 03, 2012 10:53 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 14 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.