Shop OBEX P1 Docs P2 Docs Learn Events
What language are you using in your current major Prop project? — Parallax Forums

What language are you using in your current major Prop project?

Heater.Heater. Posts: 21,230
edited 2011-02-11 04:33 in Propeller 1
As we have had a selection of languages available for the Propeller for some time now I'm curious to know what their take up has been.

I'm sure there are more languages in use but we only have 5 options, so please to tell what you are using if you check "other".

As there are different implementations of each language, like Catalina and ICC for C, a post indicating which is used would be interesting.
«13

Comments

  • HumanoidoHumanoido Posts: 5,770
    edited 2011-01-20 22:49
    For me, I used a different language in the previous project. So answering according to the survey question with the current language and the current project does not accurately build up a cross section of the languages most frequently used.
  • Roy ElthamRoy Eltham Posts: 3,000
    edited 2011-01-20 23:18
    I do own ICC C for the Prop, but I gave up on that a while ago. I only use Spin/PASM for Propeller Programming now.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2011-01-20 23:20
    Humanoido wrote:
    For me, I used a different language in the previous project. So answering according to the survey question with the current language and the current project does not accurately build up a cross section of the languages most frequently used.
    The point of the question is not to "build up a cross-section" but to reflect actual usage percentages. The methodology is correct, assuming people answer honestly. But if a person who used a minority language in the past and is using Spin/ASM now were to check Forth, say, because, "Hey! I used Forth once," that would introduce artificial bias into the poll results.

    -Phil
  • Heater.Heater. Posts: 21,230
    edited 2011-01-20 23:27
    I know, I know, phrasing poll questions to get what you want is an art:)

    So let's try and go with the spirit of the thing. "Current" can mean "fairly recent", like within a year. "Major" can mean many things to many people depending on their skills, whether they are professional or hobbyist etc.

    You're right I'm wanting to see what the usage has been recently and is now or will be in the near future. Where is peoples effort expended?

    Anyway, you can vote for multiple options on this poll.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2011-01-20 23:48
    As there are different implementations of each language, like Catalina and ICC for C, a post indicating which is used would be interesting.

    C (Catalina)
  • RossHRossH Posts: 5,519
    edited 2011-01-20 23:51
    C (Catalina, of course!)
  • Heater.Heater. Posts: 21,230
    edited 2011-01-21 03:20
    RossH, No worries, Zog will forgive you.

    Dr_Acula, not so much, you better look out, there is a 1000ft tall alien looking for you:)

    Own up who did it? Someone checked "other" with no explanation. We are curious to know what other.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-01-21 04:58
    I voted for C because my current project is porting ZOG and hence GCC to the C3. That means I'm doing lots of C programming for the libraries but also Spin for the Propeller side of the loader and PASM for the drivers. I guess that makes it difficult to say which language is dominant. I chose C because there are more lines of C code (mostly running on a PC in the PC side of the loader). Of course, I would like to have checked "Other" and listed Lisp as my other language! :-)
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2011-01-21 05:07
    Dr_Acula, not so much, you better look out, there is a 1000ft tall alien looking for you

    Blimey, Zog seems bigger than when I last checked. I swear he was only 3 inches high last time...
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2011-01-21 05:19
    With my forlorn efforts, you would have to accept "foul" as a language (but it wasn't me that ticked OTHER)
  • Heater.Heater. Posts: 21,230
    edited 2011-01-21 06:27
    Dr_A,

    This Zog starts out small enough: http://www.youtube.com/watch?v=pzPYXtkTNwg

    Or could you handle the latter half of this Zog party: http://www.dailymotion.com/video/x3xjx5_zog-zog-raid-7_videogames

    The human Zog worshippers frighten me enough: http://www.youtube.com/watch?v=FQPJ88l3OC8

    The original Zog is over a thousand feet high though: http://www.marvunapp.com/Appendix3/zogjim.htm
  • nglordinglordi Posts: 114
    edited 2011-01-21 17:35
    Spin/Pasm & Forth

    NickL
  • jazzedjazzed Posts: 11,803
    edited 2011-01-21 17:44
    BASICally, I C and thereForth sPASM while others SPIN around.

    Really SPIN/PASM and C are the only Propeller languages I use.
    I have spent time with the Javelin Java port on Propeller though.

    ZOG C is coming along nicely on the SDRAM boards.
  • $WMc%$WMc% Posts: 1,884
    edited 2011-01-21 19:28
    While not real popular
    '
    PropBasic is ballistic.
  • max72max72 Posts: 1,155
    edited 2011-01-22 05:11
    I voted spin/pasm, but the right vote would have been "Obex".
    I'm not a skilled programmer, and the object exchange is a terrific value.
    At the moment I'm using GPS, Xbee, Ray's LCD, SD card. I wrote a GPS navigation object that could have been written in any language do do the math, and I'm writing some code just to combine the data, and provide a GUI. Everything else is already available, and works out of the box.

    Massimo
  • Heater.Heater. Posts: 21,230
    edited 2011-01-22 07:41
    max72,

    An interesting observation.

    On the face of it languages like Pascal, Modula, Ada etc are no better or worse than C (depending on taste mostly) But C won out and now the are huge mountains of functions and libraries available for it. Thus it becomes a more useful choice simply because of the support surrounding it, never mind the merits of the language.
  • Heater.Heater. Posts: 21,230
    edited 2011-01-22 07:59
    I see BASIC is racing ahead there and I always thought there must be a Forth user in the world:)
    We still don't know what the mystery "other" is.

    Seriously though, we need a lot more votes here to get a picture of lesser used stuff.
    I can't believe that all that work has gone into Catalina and BASIC and Forth etc with the associated lengthy threads here but there are so few users.
  • potatoheadpotatohead Posts: 10,261
    edited 2011-01-22 10:05
    Yes we do. The forum details who voted what.

    http://forums.parallax.com/poll.php?do=showresults&pollid=23

    When we voted, it said that "others could see your choices"...

    I was right about guessing the forth user. (rock on Prof_braino) Really curious what Ron_P is running... Do tell :)
  • Heater.Heater. Posts: 21,230
    edited 2011-01-22 10:24
    Yep, we know who but we still want to know what the "other" is. Time to check RonP's posting history.
  • RavenkallenRavenkallen Posts: 1,057
    edited 2011-01-22 10:30
    Spin and PASM will still have the majority because it is the official language that Parallax supports. AND because it has a LOT of libraries made around it...That being said, i actually like Spin. It seems like a "cleaner" language than C, and it is a lot easier to pick up. It may not be the most efficient or flexible, but you can't deny it's ease of use. .. If was given three choices to code a uC application(Basic, Spin/PASM or C), i would choose Spin hands down.
  • potatoheadpotatohead Posts: 10,261
    edited 2011-01-22 11:12
    @Heater... Yeah, I read that backwards. Go figure.

    @raven, I like SPIN too. It's easy. And it's often possible to make SPIN / PASM stuff one file, maybe including binary bits here and there in the DAT. My favorite ended up being the indenting for loop delimiters. It's just nice after doing it for a while.
  • lanternfishlanternfish Posts: 366
    edited 2011-01-22 15:07
    I see you haven't listed 'cursing'. Though this is probably under Other and or a subset of all other languages.
  • pjvpjv Posts: 1,903
    edited 2011-01-23 09:56
    Hi All;

    If there had been a choice for "PASM only", that would have been the one for me.

    As yet, I'm a SPIN ignoramus, so all is done in assembler.

    Cheers,

    Peter (pjv)
  • Heater.Heater. Posts: 21,230
    edited 2011-01-23 10:17
    pjv,

    Interesting. So did you check "Spin/PASM"?

    How do you get your PASM started?
  • Heater.Heater. Posts: 21,230
    edited 2011-01-23 10:19
    Lanternfish,

    Luckily most languages allow you to use "cursing" in the comments:)

    I try to remove most of it when/if the program starts to work and I calm down a bit.
  • pjvpjv Posts: 1,903
    edited 2011-01-23 11:25
    Heater;

    So, yes, I did check Spin/PASM.

    As for starting, of course there is the obligatory COGINIT, but that is all. Hardly what I would call Spin programming. Frankly, I have not learned Spin because of all those funny little symbols, and what many of them mean.... just too complicated. And, so far at least, I can get everything I need done in assembler; and at the high performance instruction speeds I expect. Of course writing the code takes for ever.

    To tell the truth, I have yet to fire up a second Cog for any of the code I have needed, but that is due to my multi-threading scheduler. It lets me run homegrown (non-obex) I2C, FDXserials, OneWire, 5KHz steppers, ADC etc all concurrently in a single cog.

    But with the progress on my CNC table, that is about to change, and I'm sure that as a second or more Cogs get launched there will be new challenges.

    Cheers,

    Peter (pjv)
  • Heater.Heater. Posts: 21,230
    edited 2011-01-23 11:37
    pjv,

    OK fair enough. There is a PASM assembler out there that allows one to write pure PASM and get it started on the Prop with no Spin present in the source at all. Forget what it is called now. But it does not support the Spin syntax for constants, data definitions etc.
    It lets me run homegrown (non-obex) I2C, FDXserials, OneWire, 5KHz steppers, ADC etc all concurrently in a single cog.

    Now that is impressive. The scheduler is one thing but how do you find the space to put so much into a COG?
  • pjvpjv Posts: 1,903
    edited 2011-01-23 11:54
    Heater;

    The Scheduler is about 60 longs, the Serial Tx is 12 longs, the Serial RX is 23 longs, the steppers 60 longs (still a work in progress). the I2C and OneWire are not on my palette just now, so can't conveniently do a count, but my recollection is 25 or so longs for the I2C.

    But I'm sure I will run out, and then the fun begins with additional Cogs..... I have a project requirement for work to do 10 Mb/s ethernet (with no PHY) so that will be a real challenge.

    My experience is that you can get a ton done in a single Cog if you approach it right. Same for the old SX, and I hate to say it, but that was due to the fast SX interrupt. For some things I can still well outperform a Prop with an SX.

    Cheers,

    Peter (pjv)
  • Heater.Heater. Posts: 21,230
    edited 2011-01-23 12:03
    pjv,

    Not bad going.

    Someone here has already been working on ethernet, UDP packets at least. No idea where it is or how well it worked.

    You can get a ton done in a COG. I have a complete 8085 emulation in one:) I've always worried that a lot of COGs are wasted on tiny little bits of code. Your scheduler would surely help.

    I'm sure the SX fast interrupt can get things done. But can it get 8 things done at max at the same time:)
  • lanternfishlanternfish Posts: 366
    edited 2011-01-23 15:33
    Heater. wrote: »
    Lanternfish,

    Luckily most languages allow you to use "cursing" in the comments:)

    I try to remove most of it when/if the program starts to work and I calm down a bit.

    Most of my cursing goes uncommented because I have usually made a dumb .... mistake. GIGO applies here
Sign In or Register to comment.