Out of curiosity who uses C++ style Programming and who uses the Blocks in EasyC for Cortex? Why? What advandtages and Dissadvandtages do you find in the system? Would you make any changes to the EasyC if you could, whta would they be and why?
I know for one once i discoverd the C++ style of prgramming it made life 10x easier, as well as making long complicated programs turn into 15 or so lines of code i could change in a short time, as well as being able to program more complicated sensor motions and reactions to the Remote Controls for the robot.
I think I remember using that a little bit, but once I switched to ROBOTC it was even easier to use! Give it a try, it’s a free download and trial… </shameless plug>
It’s a whole lot harder to mess something up in easyC (with Block-Based). With block-based programming, you don’t have to worry about semicolons, brackets, formatting (typically), etc.
That being said, C++ programming gives you a lot more freedom. Some will say the feeling of freedom. With text-based editing, you DO have to worry about all of that, but there are usually more functions you can mess with (i.e. advanced string functions). As you said, it is easier to do many things in text based, as opposed to having click, then drag.
For some (myself, included), it’s also easier to read text-based programming. Some people like block-based programming more, however.
I would refrain from calling it ‘C++ programming’. There are numerous languages out there, C++ being a rather popular one. C++ is an object-oriented language, whereas RobotC is not - RobotC contains no classes that you can create objects from, like C++ or Java or C# can do.
RobotC’s closest equivalent is the struct, which is little more than a collection of variables. But there is no hierarchy of structs, like one can do with classes, nor are there class methods. RobotC instead has libraries stored in header files, as one notes when seeing the
I prefer Free-Form C/C++/Java programming. Since I learned ‘C’ in 1988…
I use EasyC in the Drag-and-Drop Interface, to provide Code Samples for New Users. ( As a Side Note EasyC Pro e.g. v3.x and EasyC v4.x provide Free-Form Editing as an Option ) Since the EasyC Drag-and-Drop Interface keeps you from making Novice Mistakes, your Code Will compile with the GCC Compiler that is used to Compile and Link the GCC and Intelitek Vex Libraries to make a working program. This means you have low level access to the Cortex’s User Processor.
RobotC is Free-Form, but does not run Natively on the Cortex/Pic, ( or NXT or Arduino or … ), but does have Features not supported under EasyC and not easily implemented… ( Examples available upon Request )
A not so commonly known fact, is that the First few Version of C++, were a Parser called Cfront, that read the “C++” Code, and Output “C” Code, that was then run through the AT&T ‘C’ Compiler on UNIX…
Thus, all the features in the early versions of ‘C++’ , could be Implemented natively in ‘C’.
You can still Implement some of ‘C++’ features in ‘C’, by how you setup your Program and your .C and .H Files. ( Examples available upon Request )
when i first started vex, i downloaded both robotc and easy c trial and i generally found ROBOTC better, i think that is because i generally do more raw code,