<EDIT>I originally posted this in reference to CoreChart. I was mistaken and the software that I decribe below is actually the Vex software.</EDIT>
Here are my initial thoughts.
Pros:
- It is pretty easy to get started. Just drop a few blocks out and away you go.
- I liked how they lined the code up with the blocks. I think that will help new people make the transition to real coding.
Cons:
- I quickly found that there was no undo button
- No switch block or if-else if-else block. This made for some nasty nesting. Instead of
Code:
if(x > 200)
{
...
}
else if(x > 100)
{
...
}
else if(x > 50)
{
...
}
else
{
...
}
You end up with
Code:
if(x > 200)
{
...
}
else
{
if( x > 100)
{
...
}
else
{
if(x > 50)
{
...
}
else
{
...
}
}
}
- Inability to select more than one block (i.e. for deletion or commenting)
- There is no way to collapse nested statements
- There is no way to utilize multiple files and/or create libraries.
- I didn't see any support for functions/subroutines
- I created a variable and used it in multiple places then decided to change the name of it. The program did not automatically change all instances of that variable and I saw no easy way to do this other than editing each block that referred to the old variable.
- There is no support for symbolic constants
- The loader is extremely slow. It took longer for me to download a "Hello World" program than it did to download our full RC code from last year
- It looks like the I/O is being done via interrupts since there is no explicit call to read/write. I had a while loop that incremented/decremented a variable and assigned it to a motor value and I think that I was changing the motor value faster than the interrupt. The outward symptom was that the motor wasn't ramping consistently.
Overall, I don't see this product as being useful for teams that are trying to do anything other than simple I/O. It just doesn't offer the flexibility needed to efficiently write software.