Shop OBEX P1 Docs P2 Docs Learn Events
ICC 7 - demo - general comments — Parallax Forums

ICC 7 - demo - general comments

JavalinJavalin Posts: 892
edited 2009-08-30 19:22 in Propeller 1
Evening all,

Does anybody else use the ICC C compiler tools?·

I downloaded the demo with great expections - seems a really good idea.· Make it easier for the programmer, and encapsulate floating point emulation, the C language and gain a speed advantage on SPIN all in one package!

However, I am finding it hard to use (IDE), things like:
1)· If you open the example "BlinkLED.c" file and press MAKE nothing happens.· You have to open the project and then go into the propellant options, tick a box, then press MAKE for something to happen.· Not really helpful from the IDE
2)· No language reference.· Much guesswork involved from college days of C++/C# etc.
3)· Trying the FDserial code from OBEX, the IDE is currently complaing it cannot open "fdserial.cmd" in write mode?· What the?
4)· The tab stops are set to 4 - but seem fairly random
5)· The Error/debug window prompts are not obvious.· Double clicking on a error just highlights the text in that window.· A single click moves the cursor to the bad code in the main window.
6)··No block tabbing - it just delete's the block of code (and replaces with a Tab!)
7)··How do you get the floating point to work?

And probably more.· Am I just being picky?· Does it get better when you buy it - although this is a full version demo....?

It doesn't really inspire confidence that if you spend $99->£249 that it will work....

Cheers all,

James

Comments

  • jazzedjazzed Posts: 11,803
    edited 2009-08-24 18:50
    Did you create a ..\output directory? That is a default build requirement for fdserial or any other project I commited to obex. You could remove the "..\output" option from the ide Project->Options->Paths [noparse][[/noparse]output box] by deleting "..\output" there.

    Do you have fdserial.cmd open in an application like notepad? If so, close it.

    I can't comment on the other questions.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve

    Propeller Tools
  • LeonLeon Posts: 7,620
    edited 2009-08-24 18:57
    As with most IDEs it's organised around projects - you create a project and add source files to it. I installed it just now, located the BlinkLED project, and built it in a few seconds without any problems. I then downloaded the code to my Proto board and it worked.

    I don't think that C is a suitable language for a device like the Propeller, though. Dr Johnson's comment to Boswell on women preachers comes to mind: "Sir, a woman's preaching is like a dog's walking on his hind legs. It is not done well; but you are surprised to find it done at all."

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle

    Post Edited (Leon) : 8/24/2009 7:16:14 PM GMT
  • PavelPavel Posts: 43
    edited 2009-08-24 20:07
    I'm using ICC and while the IDE does not really compare with say Visual Studio (that I use for work), it's OK for coding (it feels more complete/capable than Propeller Tool).

    Re: #1) While I had no problems finding out how to set-up a project in ICC7, the diagnostic could be a better (say a warning that there's no project so there'll be no build).

    Re: #2) I guess the expectation for IDE's changed. I still use the K&R book for my C needs. There are also plentiful references on the web.

    Re: #3) No idea.

    Re: #4) I hit this problem too. The first tab indents the block, 2 spaces default. You need to tweak the editor settings if you want the uniform 4 spaces per tab, every time. I think you need to switch "smart-tab" off (I do not have a running copy of ICC7 here).

    Re: #5) True. One would expect the double click to be the action gesture, but it's easy to get used to this.

    Re: #6) Use Ctrl-[noparse][[/noparse] and Ctrl-] for block tabing.

    Re: #7) Floating point just works. If you declare a variable as float, it will be treated as a float in expressions (the casting rules apply, so float c = 1 / 4; will produce 0 - float c = 1. / 4.; will work as expected). To use the functions from math library, include math.h header. Do not add -lm to linker options, the float support is in the kernel.
  • JavalinJavalin Posts: 892
    edited 2009-08-24 20:34
    Hey all,

    Interesting comments - thanks.

    >I don't think that C is a suitable language for a device like the Propeller, though....
    I don't have a problem with C, its available for lots of platforms, more the quality of the editor/IDE. I am also more used to the Parallax tools (which are generally very good), and Visual Studio (which also has its flaws).

    Cheers,

    James

    Post Edited (Javalin) : 8/24/2009 8:44:06 PM GMT
  • JavalinJavalin Posts: 892
    edited 2009-08-24 20:37
    Another annoyance - if you go to change the output directory, the folder dialog returns a path with quotes - i.e. "c:\program files", which the IDE then says "double quotes not needed".

    Was the IDE tested?

    OK - enough picking. Signing off.

    James
  • LeonLeon Posts: 7,620
    edited 2009-08-24 20:47
    Javalin said...
    Hey all,

    Interesting comments - thanks.

    >I don't think that C is a suitable language for a device like the Propeller, though....
    I don't have a problem with C, its available for lots of platforms, more the quality of the editor/IDE. I am also more used to the Parallax tools (which are generally very good), and Visual Studio (which also has its flaws).

    Cheers,

    James

    I use C on lots of other devices, it just doesn't seem suitable for the Propeller.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • Nick MuellerNick Mueller Posts: 815
    edited 2009-08-24 21:00
    The IDE isn't the most brilliant one. I don't care. As long as I can type along and it does what I expect, it's OK. The tabs do work, check the settings (a bit confusing maybe). The only thing I don't like is, that the editor-window is losing focus after a search and other things.
    Didn't try floats (too expensive space-wise, I guess), didn't try the serial (ported my own).
    Jump to errors works. At least, I don't need more than it does.
    Overall, the IDE is cheap, but works.

    The compiler is solid, I didn't find errors. The code generated isn't the tightest of all. Looking at it, I think that about 20% could be eliminated. I had some eMails with Richard, and he'll make some fixes.

    Overall, I bought the compiler and I'm OK with it. Some things to be fixed ...

    Don't forget, that the market is much smaller. And I prefer when most of the effort is put into code generation and not into the IDE.

    And what I did would have been impossible with SPIN with regard to speed and would have been a PITA with regard to structures (or lack thereof).

    You shouldn't expect a C-tutorial. Buy a book and use it with any C-compiler, not just that -or any other- one.

    Oh, the manual on the web-page is more up to date. The one in the ZIP is ... well ... quite behind.


    Nick

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Never use force, just go for a bigger hammer!

    The DIY Digital-Readout for mills, lathes etc.:
    YADRO
  • JavalinJavalin Posts: 892
    edited 2009-08-24 21:05
    Hi Nick,

    thanks for the comments. Can I ask what you used it for?

    >Oh, the manual on the web-page is more up to date
    Do you have a link?

    Cheers,

    James
  • Nick MuellerNick Mueller Posts: 815
    edited 2009-08-24 21:15
    > Can I ask what you used it for?

    Yes. I made a Modbus-interface (showed some pictures, if you search for "Modbus" in the forum). It's to control a CNC-mill (inputs / relays). I got that beast quite fast (answers in a few ms) and it's running rock-solid. I'm in the middle of connecting it to my mill and configuring EMC. Today, I welded enclosures out of aluminium-sheets for the interface and the PC.

    If that works (and it will), I'll convert my surface grinder to CNC ...


    For the link:
    Sorry, not at hand, would have to search it too.


    Nick

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Never use force, just go for a bigger hammer!

    The DIY Digital-Readout for mills, lathes etc.:
    YADRO
  • ImageCraftImageCraft Posts: 348
    edited 2009-08-28 22:13
    Javalin said...
    Evening all,


    Does anybody else use the ICC C compiler tools?



    I downloaded the demo with great expections - seems a really good idea. Make it easier for the programmer, and encapsulate floating point emulation, the C language and gain a speed advantage on SPIN all in one package!



    However, I am finding it hard to use (IDE), things like:

    1) If you open the example "BlinkLED.c" file and press MAKE nothing happens. You have to open the project and then go into the propellant options, tick a box, then press MAKE for something to happen. Not really helpful from the IDE

    2) No language reference. Much guesswork involved from college days of C++/C# etc.

    3) Trying the FDserial code from OBEX, the IDE is currently complaing it cannot open "fdserial.cmd" in write mode? What the?

    4) The tab stops are set to 4 - but seem fairly random

    5) The Error/debug window prompts are not obvious. Double clicking on a error just highlights the text in that window. A single click moves the cursor to the bad code in the main window.

    6) No block tabbing - it just delete's the block of code (and replaces with a Tab!)

    7) How do you get the floating point to work?



    And probably more. Am I just being picky? Does it get better when you buy it - although this is a full version demo....?



    It doesn't really inspire confidence that if you spend $99->£249 that it will work....



    Cheers all,



    James

    Sorry didn't see this earlier. First of all, Nick nailed it on the head a few posts later - our focus is on the compiler efficiency as our targets (on the non-Prop market) are professional engineers. (He also thought that the code size can be 20% smaller, but I think he may back off from that particular claim now that he may have a better look at the output). This actually is a good lesson for us - we jumped in the Propeller market, expecting to attract the eyes of the professional developers jumping onto the Propeller bandwagon, but it appears that we are being a a bit of trailblazers here. The good news is that this allows us time to continue to improve our products, so when the professionals are looking at the propellers, we have a good solution ready. It's ironic - we got complaints from a Parallax staff about our IDE during the beta period, and at that time, I thought that the complaints were not too relevant as our target is professional engineers, but it turns out that he was right after all.

    As to what to do now - we will improve the IDE, not just for the Propeller, but for our other products. However, our main focus will always be the quality of our code generation. I am working on a number of improvements. We will see how things go.

    // richard
  • JavalinJavalin Posts: 892
    edited 2009-08-29 15:46
    Hiya Richard,

    Thanks for replying to this post - its good to know that improvements are coming!

    I think with the Propeller platform your audience will be more hobbist than professional really - but thats just my personal opinion.

    Cheers,

    James
  • Nick MuellerNick Mueller Posts: 815
    edited 2009-08-29 16:46
    > I think with the Propeller platform your audience will be more hobbist than professional really

    I bet this will clearly change with the Prop II.
    And then, what's the difference? The industrial marked doesn't hesitate to spend over 1k for a compiler and makes few projects with a lot of Props with it. -> Not so many sales with a higher price tag.
    The hobbyist makes many projects with a few Props AND there are more users. But they can't afford that much money. -> More sales with a low price tag.

    Can't wait to get the Prop II.This beast will really rock with C!

    Nick

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Never use force, just go for a bigger hammer!

    The DIY Digital-Readout for mills, lathes etc.:
    YADRO
  • JavalinJavalin Posts: 892
    edited 2009-08-30 15:42
    >Can't wait to get the Prop II.This beast will really rock with C!
    yup!

    I emailed ImageCraft the other day - and Richard responded - the compiler will be updated to support the prop2 features. Well cool.

    J
  • WNedWNed Posts: 157
    edited 2009-08-30 16:18
    @Richard - I am going to edit this post *heavily* since this tends to be a very civil group.
    In fact, I just deleted the entire message... Let's try again.
    As a professional developer who has had to pay 10's of thousands of dollars for software, I would like to know,
    is it your argument that because one is a "professional" developer, one should be prepared to suffer with substandard development tools?
    It was just my bad luck, and perhaps yours, that I started working with two C development environments simultaneously. One of them was ICCv7, and the other MinGW under the Eclipse IDE. Since the code targets differ greatly, and the discussion here is about IDE's I'll limit my comments to the IDE's involved. After working in the ICC environment for a couple of days, and experiencing some of the same frustrations as the original poster of this thread, I needed to get started on the PC side of a development effort. After deciding to use open source tools, rather than my MS tools, I loaded the Eclipse IDE, and wanted to cry with joy. After days of working in your environment, here was a "real" GUI IDE... and it was absolutely *free*. And now you tell me that you pooh-poohed a suggestion from one of your testers because it wasn't bit-twiddly enough for you!
    EVERY computer has TWO important parts: the computer, and the PERSON employing it! Yes, even embedded systems!
    My suggestion to you is that if you don't feel that the user interface is as important as the code output... writing code for people is just too expensive... then sell your product as a piece of toolware, to be run under an IDE that somebody gives a damn about, like the free Eclipse IDE. At least then I know I'm paying for the compiler engine only, and not a "Powerful and user-friendly IDE".

    Ned

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno
  • ImageCraftImageCraft Posts: 348
    edited 2009-08-30 19:22
    WNed said...
    @Richard - I am going to edit this post *heavily* since this tends to be a very civil group.
    In fact, I just deleted the entire message... Let's try again.
    As a professional developer who has had to pay 10's of thousands of dollars for software, I would like to know,
    is it your argument that because one is a "professional" developer, one should be prepared to suffer with substandard development tools?
    It was just my bad luck, and perhaps yours, that I started working with two C development environments simultaneously. One of them was ICCv7, and the other MinGW under the Eclipse IDE. Since the code targets differ greatly, and the discussion here is about IDE's I'll limit my comments to the IDE's involved. After working in the ICC environment for a couple of days, and experiencing some of the same frustrations as the original poster of this thread, I needed to get started on the PC side of a development effort. After deciding to use open source tools, rather than my MS tools, I loaded the Eclipse IDE, and wanted to cry with joy. After days of working in your environment, here was a "real" GUI IDE... and it was absolutely *free*. And now you tell me that you pooh-poohed a suggestion from one of your testers because it wasn't bit-twiddly enough for you!
    EVERY computer has TWO important parts: the computer, and the PERSON employing it! Yes, even embedded systems!
    My suggestion to you is that if you don't feel that the user interface is as important as the code output... writing code for people is just too expensive... then sell your product as a piece of toolware, to be run under an IDE that somebody gives a damn about, like the free Eclipse IDE. At least then I know I'm paying for the compiler engine only, and not a "Powerful and user-friendly IDE".

    Ned

    Hi Ned, not at all, the point isn't to MAKE our users suffer smile.gif The point is resource allocation. Just to give you a little history, when we first started 15 years ago, we were the first people to have a Windows IDE. Heck, we were one of the first embedded compiler companies to have a website!

    The marketplace evolves. At this moment in time, we feel that making our compilers to have excellent code quality serves most of our customers' needs best. The reason being that while our IDE can need a bit facelift, most developers have their own editor preference anyway, whether it be Eclipse, Textpad, Ultraedit etc. Our IDE provides the basic framework for project management, and if you want, you can use your own editors, or even use the makefile etc. We don't limit you per se that way.

    We do have plans for a next-gen IDE, as we do have plans for lots of other things.

    So the question is - which set of improvements will give us the biggest ROI? So for example, on the Propeller, for argument sake, lets say we can use the Propeller IDE or Eclipse as our IDE, what would the cost be, and what revenue improvement will we see? Counter that to what if Propeller II comes out, lets say in early 2010, and attract more professional engineers whose experience and expectation is more in line with a highly tuned compiler?

    BTW, if you want to start selling an Eclipse IDE + our compiler, I'd be happy to support you. Lets think about pricing though. Within limits, the old adage is if you double up the price of something, your sales will halve, more or less. Reverse is true too, if you halve the price, you double the sales. It's that "more or less, and within limits part," that need voodoo / marketing to determine.

    So for example, GCC is free. Some Eclipse + GCC is free.

    But some Eclipse + GCC is ~$1000. Are they making money? I don't know. The point is, there aren't any Eclipse+IDE between 0 and $1000+ that I know of. Lets say I am wrong and there is one or two out that. The question really is, "why aren't there tons of Eclipse+GCC for $99 out there?"

    Most IDE+Compiler from commercial companies are $1500 to $3000+. With some exception, their IDE is just more cumbersome to use than ours, not easier.

    Most IDE+compilers from a silicon vendor, e.g. TI's 430 tools, is $500, which BTW, guess which company drives the prices down?

    Just some perspective for you. Thanks for keeping the discussion civil. I'd like to remind you that we are the one of the teeny few, if not the only commercial 3rd party software tool vendor for the Propeller currently. If you ponder this fact and can answer the above question ("why aren't there tons of Eclipse+GCC for $99"), perhaps you will see my point of view better.

    All the best.

    // richard
Sign In or Register to comment.