Shop OBEX P1 Docs P2 Docs Learn Events
Status of the "Spin Language" with LEARN/Simple IDE — Parallax Forums

Status of the "Spin Language" with LEARN/Simple IDE

Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
edited 2014-05-25 08:41 in Propeller 1
I'm curious with the "Powers that be" regarding the status of the Spin Language with the LEARN site as well as it's implementation in Simple IDE.

I'm not seeing coverage on LEARN, it looks primarly "C" based.

Will the Spin language continue forward or is it being slowly phased out?

Just need to know if I should be jumping trains. I continue to be a big fan of Spin, but not objective to digging more into C.

Thanks
Jeff
«13

Comments

  • Heater.Heater. Posts: 21,230
    edited 2014-05-13 08:53
    Spin - deprecated.

    Suggest all new developments be made in C.
  • Heater.Heater. Posts: 21,230
    edited 2014-05-13 09:05
    To be less flippant. Spin is not going anywhere as it's built into the Propeller.

    As far as I know it's still the way to get the most functionality into a Propeller. C compiled to LMM is much bigger. Not sure about the CMM thing.

    Certainly it is still the easiest way to program a Propeller.

    Should we ever get a Propeller II into our hands that assessment may change as it is not planned to have a Spin interpreter in the ROM and there is a lot more RAM to play with.
  • jazzedjazzed Posts: 11,803
    edited 2014-05-13 09:08
    Why would Parallax drop support for Spin?

    C gets attention in education because of revenue opportunities.

    BTW have you seen this? OpenSource PropellerIDE
  • Ken GraceyKen Gracey Posts: 7,392
    edited 2014-05-13 09:26
    Why does the addition of new language support in C cause our customers to think that we're dropping Spin?

    Spin and C will be supported by Parallax, and more importantly by our customers. You use both languages for reasons cited above, and you should count on us to support both of them in the future. Spin is designed close to the heart of the Propeller and appeals to those wanting something different, and C is used by the masses and education. Production customers so far are using Spin/ASM but a few are now using C.

    Both languages, all the time, equal treatment! I think Jazzed's post above is proof around the importance of open source Spin support in multiple OSs.

    Ken Gracey
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2014-05-13 09:33
    Ken Gracey wrote: »
    Why does the addition of new language support in C cause our customers to think that we're dropping Spin?
    Ken Gracey

    What created the question in my mind is the LEARN site. I couldn't find any Spin examples or projects that used Spin.

    There are several amazing spin hardware and software projects which would seem to be good additions. Then again, perhaps this is simply not the direction of LEARN.

    Jeff
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2014-05-13 09:35
    jazzed wrote: »

    BTW have you seen this? OpenSource PropellerIDE

    Thank you!

    That would seem to be a good item to add to LEARN...

    Jeff
  • Ken GraceyKen Gracey Posts: 7,392
    edited 2014-05-13 09:48
    What created the question in my mind is the LEARN site. I couldn't find any Spin examples or projects that used Spin.

    . . .because the primary purpose of the site is for in-classroom use by students and teachers, and they want C. We've talked about this before, in person.

    Ken Gracey
  • Steph LindsaySteph Lindsay Posts: 767
    edited 2014-05-13 09:48
    There are indeed Spin tutorials on the Learn site, written for the Propeller Board of Education; they have been there for two years now.
    http://learn.parallax.com/propeller-board-education

    You will also find Spin code examples in all of the Microcontroller KickStarts:
    http://learn.parallax.com/KickStart

    Of course, the Propeller Education Kit & text are still available; that simply predates the web site.

    However, the Parallax Education Team is currently focused on developing the Propeller C Tutorial program, in response to long-standing requests from the educational market.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2014-05-13 09:49
    Let me expand on my own confusion for a moment and perhaps a small website design nudge will help..

    On the main page of LEARN, there ARE Spin projects, but they are not stated as such, while several C items are stated as "Propeller C".

    Once you click into any project, there is a new menu which appears on the left side (see attatched) which DOES have a way to sort Spin projects.

    If this menu appeared on the main page, it would give the apperance of Spin having an equal voice and probably would have averted the question from this direction.

    Jeff
    293 x 457 - 21K
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2014-05-13 09:53
    Ken Gracey wrote: »
    . . .because the primary purpose of the site is for in-classroom use by students and teachers, and they want C. We've talked about this before, in person.

    Ken Gracey

    You asked what prompted the question.. I answered...

    I understand that LEARN isn't geared in this direction, but it does leave one curious when it appears from the homepage of Parallax that things are heading in a new direction, that being C. It's not unreasonable to have direction changes and adjustments. I'm noting that Parallax Semiconductor has merged back into Parallax.



    Edit, I think I'll duck back out now.. It appears that I'm only frustrating the "Powers that be". My intent was to better understand the current direction. When asked how the question arose, I'm only trying to convey the thought-process-path so that it can be understood and perhaps adjusted if desired.

    Thanks, My original question is answered. Sorry, if I added frustation in my attempts to provide helpful information on how I arrived at the question.

    Jeff
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-05-13 09:58
    I'm not seeing coverage on LEARN, it looks primarly "C" based.
    Ken Gracey wrote:
    Both languages, all the time, equal treatment!
    So that means we can soon look forward to an object library and curriculum for the ActivityBot written in Spin? :)

    Seriously, I would have much preferred to teach robotics with the ActivityBot in Spin instead of C. In either case, so much is pre-packaged that students don't really learn the language anyway -- only how to make funciton calls to library methods. So I don't see much advantage in throwing total support behind a language to which students become only peripherally exposed, yet still have to suffer its syntactic annoyances.

    I think my students have learned a lot about robotics (but very little about C). I also think we could have covered still more ground in robotics with a language that didn't get so much in the way.

    I well understand that C is what most educators demand and that that demand has to be met. At the same time, perhaps those educators need to be educated about productivity in the classroom and making every session count. I think a curriculum using Spin would beat one in C hands down in classroom productivity.

    Anyway, I admit to bias in the Spin vs. C debate, so a grain of salt should probably accompany this post.

    -Phil
  • dgatelydgately Posts: 1,630
    edited 2014-05-13 10:01
    What created the question in my mind is the LEARN site. I couldn't find any Spin examples or projects that used Spin.

    Jeff has a good point...

    The front page of learn.parallax.com has references to tutorials on C, the Basic Stamp and the Activity Bot (which links to its C-based tutorials), but no mention of Spin. Going deeper, the tutorial for the Propeller BOE is definitely filled with Spin examples (http://learn.parallax.com/propeller-board-education). Maybe just a link for that tutorial should be on the front page.

    I think the issue is more about just the exposure to Spin as its own entity, not the lack of good examples and tutorials. Just a sprucing-up with links to the tutorial would help :innocent:



    dgately
  • Ken GraceyKen Gracey Posts: 7,392
    edited 2014-05-13 10:13
    Your frustration is because there's a gap between what you want and what we're doing. That's totally understandable, Jeff and Phil. One of you is hobby oriented and one is now educational oriented.

    We have talked internally about Spin support on Learn and I've brought it up several times primarily relative to ActivityBot (not what you're directly referring to). We're pretty slim on resources internally as we switch gears to summer Educator's Courses. If and when you see Spin for ActivityBot, I think it'll appear without side-by-side tutorials in C, but as a complete zipped code library. And this wouldn't be able to come from Parallax - we'd have to rely on customers. Several accomplished coders have expressed interest in writing Spin for ActivityBot but those discussions have not turned into real commitments.

    I'm not cranky - maybe just a little bit today - but I'll let you know we're doing our best to make our decisions with you and for you, whereas the label Power that Be (if that includes us, Jazzed and other tool creators) implies we're acting on our own. We don't want to behave that way.

    Ken Gracey
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2014-05-13 10:18
    It's not "what I want" -- It's actually me preparing to do a "Introduction to Microcontrollers" class of my own on Monday night, hence my browsing LEARN today.

    I just needed to make sure that what I show them will not leave them lost when I send them to the Parallax site.
    I'd rather show them friendly Spin, but not objective to jumping trains.

    As for me personally, you guys can do whatever you want. I don't care. I have Propeller Tool, BST, and now Simple IDE support for Spin.
    Heck, I don't care if I'm the last guy still using Spin on the planet. I'll wget the entire obex.parallax.com if I start really feeling nervous. :)

    Jeff
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-05-13 10:23
    I'm not frustrated, Ken, and I don't really think you're being cranky. :) In fact, I'm very grateful for the support that you and Parallax have provided for my class. And I well understand that most of your education clients haven't been weaned on Spin first before exposure to the ActivityBot, so it's hard for them to perceive its advantages. Jeff and I might well be the singular exceptions.

    It looks like I'll be doing this again next year. If I have a choice by then, and if the "powers that be" in the school permit it, I'll probably switch to Spin.

    -Phil
  • jazzedjazzed Posts: 11,803
    edited 2014-05-13 10:33
    If I have a choice by then, and if the "powers that be" in the school permit it, I'll probably switch to Spin.

    Just tell them it's Python ;-)
  • Steph LindsaySteph Lindsay Posts: 767
    edited 2014-05-13 10:46
    Tutorial menu updated to change "Propeller BOE Tutorials" to "Propeller BOE Spin Tutorials."

    Major changes to website navigation are being planned, which will make it easier for folks to browse to content by various criteria. In the mean time, the home page is designed to make it quick for a person to find the documentation for the EDU robot kit they purchased.
  • idbruceidbruce Posts: 6,197
    edited 2014-05-13 11:57
    I like the fact that I have options. I simply love programming in C/C++, but I have not taken the time to apply it to the Propeller, nor do I want to take the time at this point, so I am glad that Spin is fully supported.

    As for newcomers and students, I believe C is the way to go, because C programming is much more likely to play a major role in their life as compared to Spin.
  • John AbshierJohn Abshier Posts: 1,116
    edited 2014-05-13 12:00
    To this observer, it looks like Spin is being phased out or at least subject to benign neglect. Prop Tool has not been updated in ages. I am a Windows user. I like it better than Open Source Propeller IDE. Spin compiler sill doesn't have the improvements found in BST. I just downloaded the latest version of Open IDE. Loaded a program and clicked on Build. Oh, Open IDE doesn't come with a library like Prop Tool. A Google search of parallax.com didn't find a link to Open IDE or to a library to use with it. Activity Board web page doesn't have a link to Prop Tool or a Spin Object for its ADC which is different from Board of Education. The lack of development of Spin is my biggest Propeller disappointment. To be fair, I think I understand why Parallax is going the way it is and it is probably best for Parallax.

    John Abshier
  • potatoheadpotatohead Posts: 10,261
    edited 2014-05-13 12:12
    Python... (coke through noze funny!)
  • Heater.Heater. Posts: 21,230
    edited 2014-05-13 12:19
    Python, why not?

    It's coming to an MCU near you: http://micropython.org/

    Nothing like Spin of course.
  • jazzedjazzed Posts: 11,803
    edited 2014-05-13 12:34
    I just downloaded the latest version of Open IDE. Loaded a program and clicked on Build. Oh, Open IDE doesn't come with a library like Prop Tool.
    I've been discouraged from adding copies of the Spin library to projects before ... that's why it's not in the package.

    Which library would you like?

    Which library would Parallax encourage?

    There is a Spin library git repository ... should that be used?


    BTW, the Open Source Propeller IDE is open to new feature development. I would rather it be open source than open sores.
  • idbruceidbruce Posts: 6,197
    edited 2014-05-13 13:02
    Whether it be C or Spin, one thing that affects us all is code support, especially good code support. Well documented, snippets, objects, and examples are a must to speed up development and programming endeavors. I think Parallax had the right idea, when they were asking for community support to help with Gold Standard Objects (http://forums.parallax.com/showthread.php/137491-Gold-Standard-Objects-Up-for-Commission?highlight=gold). Spin probably would have been much more successful, if only we had a huge library full of Gold Standard Objects. By changing over to C, we are still going to need a huge library full of Gold Standard Objects. Sure we can rob from here and steal from there and do the necessary porting, but somebody has got to do it.
  • John AbshierJohn Abshier Posts: 1,116
    edited 2014-05-13 13:35
    Jazzed, the only Spin library that I know of is the one that is distributed with the Prop Tool. So by default it is the one I like.

    You will have to ask Parallax which library they would encourage. Again, I know of only 1 for Spin.

    I went to http://git-scm.com/ and searched for spin with no matches. Does Parallax have a link to the git repository?

    I think that Spin should be provided with a library at a minimum consisting of software perpherials ( I2C, SPI, UART, PWM, etc.) and support (squishy definition) objects (floating point, mouse, keyboard, TV, VGA, servo, quadrature encoder, numbers, license, stack length, etc.). Objects for Parallax products (Ping, compass, etc) can be on the product pages.

    I want you to know that I do appreciate the work you have done supporting the Propeller. Skills that I don't have. I also believe that I, like some other people on the forum, am several standard deviations away from the centroid of Propeller users.

    John Abshier
  • John AbshierJohn Abshier Posts: 1,116
    edited 2014-05-13 14:04
    jazzed (hard not to start with a capital J), thanks for the link. That library has many objects that I would not include in a library (Eddie--to specialized, multiple encoder objects). I see a difference between a library and the OBEX. A library should have solid object for more common tasks. Something that a user can browse to find an object to use in his program. I guess libraries are like editors, confirmed vi programmers will never agree with EMACS users. Except that both will have pity or scorn on the Notepad user.

    John Abshier
  • jazzedjazzed Posts: 11,803
    edited 2014-05-13 14:52
    jazzed (hard not to start with a capital J), thanks for the link. That library has many objects that I would not include in a library (Eddie--to specialized, multiple encoder objects). I see a difference between a library and the OBEX. A library should have solid object for more common tasks. Something that a user can browse to find an object to use in his program. I guess libraries are like editors, confirmed vi programmers will never agree with EMACS users. Except that both will have pity or scorn on the Notepad user.

    John Abshier

    As long as the repository is official and is less than a few MB it doesn't really matter what it contains.

    I just need an answer from Parallax about what is acceptable to include in a package. All I hear is crickets right now.
  • msrobotsmsrobots Posts: 3,709
    edited 2014-05-13 15:53
    jazzed,

    since OpenSpin and your IDE are supposed to be a replacement for the Prop Tool the only Library making sense is the Library, Demos and Examples contained in the Prop Tool installation.

    Almost all spin projects will use them as a reference. The Prop Tool has no way to set any libraries, it just uses this single location.

    So why using something different as that?

    confused!

    Mike
  • jazzedjazzed Posts: 11,803
    edited 2014-05-13 17:37
    msrobots wrote: »
    jazzed,

    since OpenSpin and your IDE are supposed to be a replacement for the Prop Tool the only Library making sense is the Library, Demos and Examples contained in the Prop Tool installation.

    Almost all spin projects will use them as a reference. The Prop Tool has no way to set any libraries, it just uses this single location.

    So why using something different as that?

    confused!

    Mike


    Because library files can change and a stale package is not desirable.
  • Mike GMike G Posts: 2,702
    edited 2014-05-14 05:55
    I believe a very simple (but tedious) site change can help convey Spin and C are supported by taking a page from MSDN. Replace all code snippets with a tabbed interface gadget. One tab contains the C code and the other contains Spin, when available.

    On the technical side, once the gadget is built and ya have to do is point the gadget to the source files. Any code updates are immediately published without having to create new images or modifying the base page.

    While I have a lot on my plate, I'd be willing to help in any way that I can.
Sign In or Register to comment.