Shop OBEX P1 Docs P2 Docs Learn Events
SimpleIDE's "spin-y-ness" - Page 2 — Parallax Forums

SimpleIDE's "spin-y-ness"

2»

Comments

  • rjo__rjo__ Posts: 2,114
    edited 2012-08-15 19:33
    Jazzed,

    I love SimpleIDE... didn't read much to get started and really had no problem with it. I work on a Mac and I generally use BST(wonderful, wonderful.) I tried to learn C years ago and it didn't grab me.
    I think the Propeller I or II, might make an ideal environment for learning C. In the outside world... the compilers and libraries are so complicated, I can have working source and a working environment in front of
    me and still not be able to figure out how it all works.

    The Prop seems to be the right scale of complexity (or simplicity) to help students crawl up the learning curve.

    I hope SimpleIDE will come to a University near me... and next year I can pick up a textbook.

    Thanks again.

    Rich
  • Heater.Heater. Posts: 21,230
    edited 2012-08-16 02:02
    Ray,
    ...maybe they should get rid of Spin from SimpleIDE, all problems solved.

    Nothing solved at all. The existing Propeller Tool has to go. It's closed source and single platform. It relies on closed source components that don't belong to Parallax. It makes no sense for Parallax to support it ad infinitum. That is why they have invested in the opensource Spin compiler.

    So, another very simple IDE is required. Removing Spin from SimpleIDE just means you have crossed an option of the list.

    Another option might be Andre Demeneves PZST if it were modified to use the new opensource Spin compiler.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2012-08-16 06:07
    I have to admit I am an extremely late adopter of C. But with all the buzz of C/C++ on the Propeller and Propeller II, I have begun to really learn how to use it. Two publications have been very helpful - "Programming in C: A Tutorial" by Brian W. Kernighan, circa 1974 (not to be read as the up-to-date C, but a good starting overview of where it came from). And "The C Programming Language, 2nd ed. (ANSI C), 1988 by Kernighan and Richie.

    I suspect reading more recent books tend to get huge and distracting. These two have made me very comfortable with the language and looking forward to learning more.

    At this point, I am a bit amazed that C itself was never a complicated programming language and isn't much harder than a primitive form of Basic. That first 'tutorial' covers all the aspect that are similar to Basic in the first 15 sections, then goes on to cover the more sophisticated features for a total of 28 short sections. The whole printout is a mere 35 pages. C was specifically intended to be low-level and rather simple. One of the best reasons was that the authors didn't want huge documentation for programmers, especially beginning programmers. Spin shares this tradition. And ironically, people complain that they don't have more to read.

    Where C gains its power and glory is in the Libraries that offer a long list of Functions that you may want or need. One can even create their own Library of their own Functions if they wish. And of course, you may ignore Libraries that you don't need.

    The Propeller came out before the Arduino and did quite well, but Arduino came along because the AVR chips finally had a good public domain compiler for C that was free. This seemed to cause a big change in perception about C programming. Some creative programmers (those Italians?) realized they could adapt C to be a fun IDE. In many ways, this has caused something of a C revival.

    I now even understand what Arduino did. They provided a boot loader for the AVR chips (anybody can do this) and also created a specific library of C software for micro-controllers. It seemed C had generally ignored the need for special Libraries for micro-controllers as it has enjoyed huge success in main stream computers.) They also seemed to have removed the main() {... } and reference to the Arduino library. I am not sure if this was an intentional attempt to disguise C, but the IDE automatically adds it in just before compiling.

    So here we are. Parallax has realized that C is now understood by a wider audience as being not so hard. And the Propeller can do a similar software approach by providing specific Propeller Libraries rather than the simplified OOP approach in Spin.

    But the greatest irony is the ANSI C as presented in "The C Programming Manual, 2nd ed." is very explicit about NOT being intended for parallel processing.

    "C offers only straightforward, single-thread control flow: tests, loops, grouping, and subprograms, but not multiprograming, parallel operations, synchronizations, or coroutines." -- page 3 of Kernighan & Ritchie.

    Definitely they did not want to ponder parallel processing.

    Personally, I suspect that C will adapt quite well the the Propeller and Propeller II and might finally show the Arduino crowd what they are missing. Plus, it will have Libraries rather than an Object Exchange. I strongly suspect Libraries will provide better organization for new users to locate and use shared programming. But it seems a bit obvious that many will NOT be able to migrate Propeller code to other platforms ( a long appreciated attribute of C).

    So as it is I am now enjoying learning C, but still rather frustrated by readings in OOP. As an old guy, I can only go so fast. But at least I am enjoying learning. Spin still works for me and I like BST in Linux. So I am keeping all avenues of learning open. In fact, the reason I keep with Parallax is that I continue to learn more than I do elsewhere.

    Simple IDE seems to be the best of all worlds for Parallax and the Propeller and so I welcome it. But at this point, I rather sit on the side lines and let it mature without my naive input.

    This has been a bit long-winded, but that's my 2 cents and wish everyone well.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-08-16 06:42
    I think we need to come up with another term for "promiscuous mode", the forum will be an interesting read if we don't....

    "I found this problem while in promiscuous mode..."

    "Has anyone else seem these behaviors while doing a promiscuous compile...."

    "You need to not be so promiscuous to use that ......."

    "I'm set for promiscuous and have no trouble......."

    "Check you promiscuous flag......"

    Next thing you know, we'll be referring to the P2 fuses as the "naughty bits"!
  • JLockeJLocke Posts: 354
    edited 2012-08-16 08:23
    mindrobots wrote: »

    Next thing you know, we'll be referring to the P2 fuses as the "naughty bits"!

    I spewed coffee on that one! :lol:
  • jazzedjazzed Posts: 11,803
    edited 2012-08-16 09:11
    mindrobots wrote: »
    I think we need to come up with another term for "promiscuous mode", the forum will be an interesting read if we don't....
    Naughty . LOL.
    I chose the term because propeller tool lets you:
    1. Compile ANY file visible in the editor (sure why not)
    2. ANY file that successfully compiles can be loaded (not always good)
    To me this is promiscuous behavior. The term is also used in Packet Networks.

    I suppose you could call it ANY mode.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-08-16 09:15
    I personally don't have a problem with the term - it makes me giggle when I read it in relation to coding. I actually need more things besides my code that make me giggle!
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-16 09:37
    How about "valet mode"? It handles all the little details for those of us too lazy to do it ourselves.

    -Phil
  • ratronicratronic Posts: 1,451
    edited 2012-08-16 09:43
    That is exactly my point Phil I am a lazy programmer. I do not capitilize, I do not spell out complete variable names etc. I like being able to hit just one key to program the device. Ok maybe I need to exercise a little but that is why I like Spin.
  • TorTor Posts: 2,010
    edited 2012-08-16 09:58
    Honestly I would prefer simply "non-project mode".

    -Tor
  • jazzedjazzed Posts: 11,803
    edited 2012-08-16 11:38
    Maybe you guys can tell me what else needs to change for SimpleIDE to be a nice PST alternative?
  • ratronicratronic Posts: 1,451
    edited 2012-08-16 12:01
    jazzed I like Spin because it is so easy to use and I appreciate that you are developing SimpleIDE as I see it as an overall replacement for the Propeller tool period. And I suppose since it is open source and if I had the smarts I could taylor it to my needs. My wish is that as SimpleIDE is developed the use of Spin programs (which I personally like more than C) can be made a little more like the Propeller tool usage is now (except your serial port feature, I like it!) were all you have to do is click on a Spin program in a directory and press F10 or F11 or which ever key or button you choose to compile and download the program.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-08-16 12:07
    In reference to a post or email from a while back: Steve, it looks like you may have shaved your beard a bit early on SimpleIDE! :lol:

    I'm not a heads down coder in any environment, so I have no dog in this race. I'm thrilled to have an environment (that is not a bloated pig like Eclipse) that I can code multiple languages in on multiple platforms that is also open sourced. I can accept and deal with the project concept and have had multiple projects open without destroying anything.

    My only SimpleIDE issue at this time is the Spin code completion which I just need to investigate further to see if it's pilot error or something funny that needs to be reported.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-16 12:09
    Steve,

    Thanks for asking!

    PST == Propeller Spin Tool or Parallax Serial Terminal within SimpleIDE?

    I was ready to answer to the former, but don't want to if you meant the latter.

    -Phil
  • jazzedjazzed Posts: 11,803
    edited 2012-08-16 12:27
    I'm sorry, I meant what specific features need to be changed for SimpleIDE to be a satisfactory Propeller Tool replacement.

    Ken's goal is to have a Propeller Tool replacement that is multi-platform and internationalized. Today's Propeller Tool is neither. Not sure exactly how I got into the Spin aspect. Should have seen it when he asked me to remove Propeller-GCC from "Propeller-GCC SimpleIDE" ....

    You can look at the SimpleIDE Simple Terminal also if you like. I need to post an update for the PST features I've implemented - baudrate isn't sticky for example. Just FYI. There are some performance issues with the terminal across platforms. That will take time to fix, so please be patient (i'm waiting for Qt5 which has an official serial port strategy). Qt5 should also fix the UTF16 performance problems on windows - UTF16 performance seems to be fine on Linux/Mac.

    Rick (@mindrobots), I'm sure there are bugs in Spin autocomplete. One I've found is that if you have to child object with the same name, you will get two copies of each public method or constant. Bug reports please! :)

    Thanks,
    --Steve
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-16 13:03
    Steve,

    I've gone back to try SimpleIDE again, and here are my recommendations:
    1. Let F9, F10, F11 compile from RAM for the tab showing.
    2. The gear button is fine for setting the Top Level file. But there's no need to save a .side project file. Spin files define their own projects via the implicit object tree.
    3. The name of the Top Level file in its tab should be in boldface.
    4. Let ctrl-F9/F10/F11 compile the Top Level file from RAM.

    BTW, if compiling from RAM is a problem, create a backup file upon Load, and do an autosave upon compile.
    5. Some have mentioned that they like the Prop Tool's background colors. I'm neutral on that one; but, absent that, I really would like an option to set a global background color. White is a bit glarey for me.
    6. Tab stops should be settable by program section. In particular, two spaces does not work in the DAT section.
    7. I mentioned that autosearch for a Prop-connected com port would be nice upon load, but the way you select them now is okay.
    8. Default to the Parallax font in Spin mode.
    9. In case of a compile error, automatically highlight the first one. (BST seems to find multiple errors. Propellent and -- I believe -- Roy's compiler do not.)
    10. The File menu needs a Revert option. (Prop Tool doesn't have it either, but it should.)
    11. Unicode files get corrupted when SimpleIDE saves them, so that needs to be fixed.
    12. The <-||-> tool for moving the divider between the Project tree and the text area does not work.

    Now, here are some things I like better about SimpleIDE than in the Prop Tool:
    1. Block indents and dedents are done correctly. Yay!
    2. The block X in the tabs for closing a file is much better than the right-click-to-get-context-menu method in the Prop Tool.

    I may think of more stuff later, so stay tuned! :)

    Many thanks for your consideration!
    -Phil
  • jazzedjazzed Posts: 11,803
    edited 2012-08-16 13:40
    According to someone's value engineering philosophy ....

    With SPIN mode defined by the compiler setting or opening a SPIN file.

    1. Let F9, F10, F11 compile for the tab showing. Maybe "from RAM" later.
    2. Gear button will be disabled.
    3. Will look at boldface ... not sure if i have control over that.
    4. Let ctrl-F9/F10/F11 compile the Top Level. Maybe "from RAM" later.
    5. White is a bit glarey for me ... me too - will look at that.
    6. Let's just say "deferred."
    7. OK.
    8. Default to the Parallax font in Spin mode. Ya, ... I think there is a bug on this Font front.
    9. I've been asked by Education to show a dialog box for the first error with an optional show all build status.
    10. The File menu needs a Revert option. (Prop Tool doesn't have it either, but it should.) - I don't understand this - expand your meaning?
    11. Currently it gets saved as UTF8 because UTF8 is easier for multi-platforms, multi-national, and gets interpreted the same. I have a todo to make this optional (UTF16 by default).
    12. Drag it all the way to the left.

    Steve,

    I've gone back to try SimpleIDE again, and here are my recommendations:
    1. Let F9, F10, F11 compile from RAM for the tab showing.
    2. The gear button is fine for setting the Top Level file. But there's no need to save a .side project file. Spin files define their own projects via the implicit object tree.
    3. The name of the Top Level file in its tab should be in boldface.
    4. Let ctrl-F9/F10/F11 compile the Top Level file from RAM.

    BTW, if compiling from RAM is a problem, create a backup file upon Load, and do an autosave upon compile.
    5. Some have mentioned that they like the Prop Tool's background colors. I'm neutral on that one; but, absent that, I really would like an option to set a global background color. White is a bit glarey for me.
    6. Tab stops should be settable by program section. In particular, two spaces does not work in the DAT section.
    7. I mentioned that autosearch for a Prop-connected com port would be nice upon load, but the way you select them now is okay.
    8. Default to the Parallax font in Spin mode.
    9. In case of a compile error, automatically highlight the first one. (BST seems to find multiple errors. Propellent and -- I believe -- Roy's compiler do not.)
    10. The File menu needs a Revert option. (Prop Tool doesn't have it either, but it should.)
    11. Unicode files get corrupted when SimpleIDE saves them, so that needs to be fixed.
    12. The <-||-> tool for moving the divider between the Project tree and the text area does not work.

    Now, here are some things I like better about SimpleIDE than in the Prop Tool:
    1. Block indents and dedents are done correctly. Yay!
    2. The block X in the tabs for closing a file is much better than the right-click-to-get-context-menu method in the Prop Tool.

    I may think of more stuff later, so stay tuned! :)

    Many thanks for your consideration!
    -Phil
  • ratronicratronic Posts: 1,451
    edited 2012-08-16 13:47
    jazz now that I have figured out how to use bstc it seem's pretty easy to use. I too vote for background color changes. I didn't know Brad's spin tool compiler was open source.
  • jazzedjazzed Posts: 11,803
    edited 2012-08-16 13:52
    ratronic wrote: »
    jazz now that I have figured out how to use bstc it seem's pretty easy to use. I too vote for background color changes. I didn't know Brad's spin tool compiler was open source.

    We have explicit permission from Brad to use BSTC. Background color changes are possible, but quite difficult and won't happen soon - I have a volunteer who is interested in trying it though.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-16 14:10
    2. Without the gear button, how would you set the top-level? In PropTool it's done via menu or context menu from the tab.
    6. Deferred for not very long, I hope. Entering PASM code with two-space tabs will be ugly. But I can understand how the feature will be a pain to code, since the editor then has to be section-aware. 'Still necessary, though.
    9. They probably want it done like the Stamp Editor and PropTool do it: highlight the error AND show a dialog box. That would be great.
    10. Revert reloads the file from last-saved. It's handy when you change your mind about the latest changes made in the edit window. Dropping anchor and having a block undo feature would also work, I guess.
    12. Got it. It doesn't drag dynamically, just snaps in and out. In that case a button that changes from < to > might be more intuitive.

    One more request:
    13. Find and replace need checkbox options, like Whole Words and Match Case.

    And one more thing I like about SimpleIDE better than PropTool:
    3. SimpleIDE's "dirty bit" is cleared if you edit a file back to its saved state, rather than having to do it with Undo's.

    -Phil
  • John AbshierJohn Abshier Posts: 1,116
    edited 2012-08-16 14:13
    Things that I think are better in Propeller Tool: Viewing multiple objects. Block-group indicators. Recent Folders field and the Folder List compared to Project Manager.

    Things I like better in SimpleIDE: Not having library in "Program Files"

    Don't see a need for an .side file for Spin.

    John Abshier
  • jazzedjazzed Posts: 11,803
    edited 2012-08-16 16:29
    2. Set it the way propeller tool does? Ctrl+F9, Ctrl+F10, or Ctrl+F11.
    6. The guy that does background coloring can do this too.
    9. Ya, Something like that + show error line.
    10. Ok, I see. Will be disabled for non-spin mode.
    12. I'll look into it.
    13. Hover help over the 2 extra find/replace buttons.
    2. Without the gear button, how would you set the top-level? In PropTool it's done via menu or context menu from the tab.
    6. Deferred for not very long, I hope. Entering PASM code with two-space tabs will be ugly. But I can understand how the feature will be a pain to code, since the editor then has to be section-aware. 'Still necessary, though.
    9. They probably want it done like the Stamp Editor and PropTool do it: highlight the error AND show a dialog box. That would be great.
    10. Revert reloads the file from last-saved. It's handy when you change your mind about the latest changes made in the edit window. Dropping anchor and having a block undo feature would also work, I guess.
    12. Got it. It doesn't drag dynamically, just snaps in and out. In that case a button that changes from < to > might be more intuitive.

    One more request:
    13. Find and replace need checkbox options, like Whole Words and Match Case.

    And one more thing I like about SimpleIDE better than PropTool:
    3. SimpleIDE's "dirty bit" is cleared if you edit a file back to its saved state, rather than having to do it with Undo's.

    -Phil
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-17 16:55
    One more:
    14. Prop Tool's undo list does not get cleared on a file save. That's a handy behavior to have when you save something, then want to back up to a previous state.

    -Phil
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-23 19:10
    Yet one more that I'd forgotten:
    15. Archive function, matching that of the Prop Tool.

    -Phil
  • jazzedjazzed Posts: 11,803
    edited 2012-08-31 13:22
    I just wanted to mention that we are looking at "spinnyness" ....

    The approach has not been fully sorted yet, but there is hope for the most important ideas.

    --Steve
  • HollyMinkowskiHollyMinkowski Posts: 1,398
    edited 2012-08-31 16:39
    I just tried the simple IDE, it looks very good.

    I thought maybe they were going to go with a customized version
    of Eclipse?
Sign In or Register to comment.