Shop OBEX P1 Docs P2 Docs Learn Events
SimpleIDE is dead. Long live SimpleIDE. — Parallax Forums

SimpleIDE is dead. Long live SimpleIDE.

OK. What is going on?

SimpleIDE was all the rage a while back. Now development seems to have ceased. It's Google code repository is dead and archived.

But still Parallax offers downloads of binaries and support for SimpleIDE.

Judging by the propgcc and SimpleIDE threads I have scanned it seems the last SimpleIDE source is no longer compatible with recent changes to propgcc. Correct me if I'm wrong.

Anyway, I just exported the google code repository to my githb account. For safe keeping, as it were. Confusingly it's called "propside" https://github.com/ZiCog/propside. No, I don't want to do any maintenance of SimpleIDE there.

Anyone know what the plan is here?
«134567

Comments

  • SimpleIDE is "not dead yet". I believe it is currently being updated to support Jeff Martin's Wi-Fi loader protocol with the help of my command line Wi-Fi loader. I'm not sure when/if it will be moved to the Parallax github account.
  • ...Confusingly it's called "propside" ...
    Yes, everything around here is getting to be a little confusing. As to SimpleIDE source, IIRC, when jazzed was still active here, a few years back, he was going to diverge from SimpleIDE and start something called "propside". So, I am not sure that "propside"="SimpleIDE", in terms of source. I would imagine that their have been changes to SimpleIDE, in house, since jazzed has departed, where that source is, well I guess it is free somewhere.

    I have seen some recent threads about, relatively new people, making inquiries concerning perceived "problems" with SimpleIDE. I did not see any response from an official source, as to the status of the inquiry, so if I were a new person here, my response might be, "Hmm, maybe I am at the wrong place."
    ...the last SimpleIDE source is no longer compatible with recent changes to propgcc.
    I think David Betz, had listed some unofficial, not yet accepted by Parallax, versions of PropGCC source. So, everything is kind of in a state of flux, there is always the Propeller Tool and PASM, who needs C and SimpleIDE anyway.

    Ray
  • propside == SimpleIDE
    They are the same thing. In fact, I think SimpleIDE is a branch in the propside repository.
  • Heater.Heater. Posts: 21,230
    I'm kind of inclined to give up on SimpleIDE. Surely most decent modern coders editors can be scripted to build and download C code to a Propeller. Atom or Sublime say.

    Who needs C.... ?

    I do :)

    I will admit that Spin/PASM still seems to be the best fit for the Propeller. At least as long as BST keeps working :)

    But the P II is on the horizon and C will fit there much better.
  • Heater. wrote: »
    I'm kind of inclined to give up on SimpleIDE. Surely most decent modern coders editors can be scripted to build and download C code to a Propeller. Atom or Sublime say.

    Who needs C.... ?

    I do :)

    I will admit that Spin/PASM still seems to be the best fit for the Propeller. At least as long as BST keeps working :)

    But the P II is on the horizon and C will fit there much better.
    When can we expect you to have ZOG ported to the P2? :-)

  • I am also starting to agree with Heater., in terms of "... kind of inclined to give up on SimpleIDE". Today, because of some circumstances, I tried out PropellerIDE, ran into some problems. I will leave it up to other people to make the discoveries for themselves.

    As for BST, I gave up on that, like what, five years ago. So, where does that leave me now, the Propeller Tool, I guess maybe I should start rethinking about things here.

    Ray
  • Heater.Heater. Posts: 21,230
    @David,

    Zog is not dead. Zog is sound asleep in his iceberg. http://www.marvunapp.com/Appendix3/zogjim.htm. Better not disturb him.

    @Ray,

    Luckily BST still works around here. The Prop Tool does not run here. Other Spin compilers don't have the Spin extensions people need.

    The whole Propeller dev tools landscape is a mess.
  • I'm going to go out on a limb here.

    I assume most serious c programmers already have their favorite IDE or tool chain components whether it be VIM or Sublime or Eclipse or Visual Studio Code and would be much more interested in proven ways to integrate prop-gcc and openspin into those existing toolchains. Picking up a new IDE is one of the last things a busy professional wants to do.

    Parallax has a (strongly) vested interest (now) in SimpleIDE as it is the backbone of their C education program. Having a vested interest, they need to support SimpleIDE as one of their own products since they have built an ecosystem around it and need to keep that alive.

    Parallax needs to step up to owning SimpleIDE since it doesn't appear that anyone new from the community has to date. It needs to be maintained and enhanced and promoted or it will die due to lack of interest.

    PropellerIDE is a useful spin-off (sorry!) from SimpleIDE that has found an owner interested in maintaining and improving it (yay, Brett!) It fills an important growing niche.

    OpenSpin is an integral part of this world that has a "owner" - Parallax also has a vested interest in this software.

    PropGCC is also an integral tool - with growing importance in the P2 world (yes, I'll acknowledge c's role here). I think it is (frustratingly) owned and maintained by a small part of the community but needs backing from Parallax to make it ready and as able as possible to help launch the P2. It also needs to be supported and promoted by Parallax (and the community) so it isn't the ugly step child to Spin/PASM.

    While on PropGCC, the recent talk about C/GAS/PASM/inline integration on a couple threads has made that route look extremely painful. That really needs to be worked on so it is a better experience - it may never approach the integration level of Spin/PASM but the impression now is it is a path nobody really wants to tread and that should not be the case. If C/ASM integration is as difficult with all processors then I guess those professionals are use to it but if it is easier in other worlds then Parallax needs to fix the user experience or there won't be anyone coming on board willingly or looking to switch from Spin/PASM to C/GAS to try it out.

    Hobby time is too short for self inflicted pain.
  • The whole Propeller dev tools landscape is a mess.
    I had mentioned that I had to use the Propeller Tool, when I installed it, I had a board plugged in, so when I started to use the Propeller Tool, it found the board, and no problems. Well, I decided to plug in one of my other boards, now it cannot find the other boards. Evidently, when I installed the Propeller Tool, the com port setup, that it did, wiped out all the other com port associations it had with the other boards, and now it only identifies with the one that I originally installed with, and it cannot find or associate with the others.

    Talk about a dev tools mess, what else can go wrong?

    Ray

  • Rsadeika wrote: »
    The whole Propeller dev tools landscape is a mess.
    I had mentioned that I had to use the Propeller Tool, when I installed it, I had a board plugged in, so when I started to use the Propeller Tool, it found the board, and no problems. Well, I decided to plug in one of my other boards, now it cannot find the other boards. Evidently, when I installed the Propeller Tool, the com port setup, that it did, wiped out all the other com port associations it had with the other boards, and now it only identifies with the one that I originally installed with, and it cannot find or associate with the others.

    Talk about a dev tools mess, what else can go wrong?

    Ray
    I think the Propeller Tool may only be able to deal with COM1-COM9. Maybe your new board got assigned a higher COMx number?

  • Heater.Heater. Posts: 21,230
    Let's not confuse SimpleIDE and PropellerIDE. The former is intended for C/C++ using prop-gcc, I'm told any Spin support it has is going to be removed if it has not been already. The later is for Spin using OpenSpin.

    I agree. I don't see how Parallax is building so much on prop-gcc and SimpleIDE, including distributing binaries, but they don't have a repository we can down load the source from and in which they maintain it.

    I also agree. Those discussions about prop-gcc, SimpleIDE, PASM, GAS, LMM, CMM are crazy complicated. I gave up trying to follow it all ages ago. Especially as important chunks of the software seem to have been abandoned.

    I also agree, yet another IDE is what most of us don't need. Except I thought the idea behind SimpleIDE was that it should be "simple". You know, like the Prop Tool or the Arduino IDE. In which case there is nothing to learn and it's worth using. Somehow SimpleIDE became "ComplexIDE".
  • Nope, the other two boards were COM8 and COM9. Now I am afraid to start up the Propeller tool, or maybe I will just uninstall it, and go from there.

    Ray
  • I'm going home. I think Heater agreed with me three times.....I need a drink! :)

    @Ray, if your USB connection gives you a com port, Propeller tool should be able to talk to it. I don't recall it having a limit on COM ports (99 comes to mind but that may be BST). I didn't see a way to set the COM port (getting rusty) - maybe it just talks to the first Propeller it comes to. Under Windows, I've found it to be near bullet proof. It isn't working for me under the latest versions of Wine but I thought I had it working under Wine before. (BST and PNUT aren't working under Wine either and I know they worked under previous versions of Wine.)
  • Heater.Heater. Posts: 21,230
    mindrobots,
    I think Heater agreed with me three times.....I need a drink!
    Sorry. It will pass I'm sure :)

  • In the PropGCC world, I see three problems:

    PropGCC development has been largely abandoned (or on the backburners of all the developers). I've heard various acceptable reasons for all of this, but I think that means Parallax needs to jump in and get it functional again.

    SimpleIDE is completely abandoned. It has an old version of PropGCC and no repo on the Parallax github org. New comers think it is abandoned and then flee to a better maintained community.

    Those that want to do anything complex have no official support from Parallax. I'm trying to fill this gap with PropWare and it's CMake build system, but I feel things would go a lot smoother their official support. It wouldn't be too hard... use PropWare as the build system in SimpleIDE. SimpleIDE would contain multiple subpackages: GUI, build system (PropWare & CMake), compiler, GNU Make (for windows, or simply a "depends" line in the debian package). Then, those that want the simple experience have the same SimpleIDE they've always had, and they experience no change. Those wishing to use a more powerful editor would have the basic build system already available on their computer, and could tie it into a Eclipse or CLion or the like, as mentioned above.
  • The build system is only part of it though. For anything small, PropGCC and SimpleIDE work really well. For anything serious, it seems they quickly fall apart.

    The complaints about SimpleIDE being "something else I have to learn" are a little bizarre. Compared to setting up a command line make system to build a project it's a cakewalk. SimpleIDE has its faults, but getting something compiling in it is not what I would consider a learning curve. It barely registered as a speed bump.

    Getting PropGCC to build things from the command line, figuring out the right arguments to pass, how to build different types of files, and how to link and upload them? That took some time and I still don't totally have it. I largely used the build output from SimpleIDE to get me started, otherwise it would've taken a lot longer.

    Other than that, yeah, the state of things is a mess. The Learn stuff is really cool, but it needs more depth when you get to advanced topics like inlining & PASM. An easy path to integrating existing PASM objects and drivers into C projects would make C an easy choice for me, but until I can figure out how to get all my existing existing PASM code linking in C, I'm stuck with Spin. That's unfortunate because Spin doesn't optimize code, has no preprocessor, no structures, and makes it harder to share objects.
  • I think even SimpleIDE makes it easy to integrate existing PASM objects into your C programs as long as you let it build them from .spin files. It doesn't seem to handle .s, .S, or .sx files well though, especially when their names conflict with .c or .cpp files.
  • I didn't realize that was an option. How do you bind the PASM from a Spin file with C code? (How do you launch it, and access DAT section variables from C?)
  • JasonDorie wrote: »
    I didn't realize that was an option. How do you bind the PASM from a Spin file with C code? (How do you launch it, and access DAT section variables from C?)
    You can't really access the DAT section variables from C. That's why I said it was easy to do with a driver that uses a mailbox interface. The command sent through the mailbox would contain all of the data that the driver needs to do its job. You can also use shared hub variables like FDSerial does but this requires you to pass the address of the hub variables in the PAR parameter to COGINIT. As I've said before, Eric has a scheme that allows some symbols to be shared between C and COG code but I'm not sure how it works. I've always just loaded PASM or COGC code as a binary blob and talked to it through a mailbox.

  • I'm old and jaded and have said "Hello World!" in more languages that a seaport <PG-13 analogy deleted>.

    No offense to SwimDude0614 or any of the others providing us with tools, your contributions are great for what they do and should be recognized for the labor and passion you put into them but.....

    Sometimes I really just want to sit down with a simple editor, a small fast compiler/assembler/whatever and write some simple code to relax and play and learn things about some device, some programming idea or myself. I don't want to read about a bunch of libraries to find one function I need. I don't want to struggle through ASM in gas linking to C running through make and resolving local labels just to write a PASM program. I don't want to struggle with projects for a 30 line program to see how something works.

    I just want to code/compile and load as quickly and effortlessly as possible. If my play turn into my magnum opus of programming after I while I'll deal how to package it more efficiently and split it into better modules to reduce build time etc. But for 30 lines to start with, I don't want to have to worry about getting it built or linked - I just want to press a button, click an icon or type a simple command.

    I find the current tools a hassle to use to do simple things - some are even a hassle to install and get working. That shouldn't have to be. Things have either gotten way to complicated in the pursuit of "software engineering" or we're headed in the wrong direction.

    Where is this headed? It's a simple microcontroller (but getting more complex with the P2). If I want to program in C, grab some source code, invoke a compiler, link it and load it - ok, I'll go as far as using make with some canned makefiles. I shouldn't need a hardware abstraction layer and a robust build system to blink some lights. (no offense, handy reference). If I want to do PASM, even easier, edit, assemble, load, watch blinky lights. I don't think I want a generic assembler that can assemble code for a bunch of different machines using the same opcodes and generic directives. If I'm writing at that level, I better be able to learn the quirks of the hardware or I'm just writing generic code that can be done better in some HLL.

    The community supported tools and packages are great until the community supporters go of to pursue other interests for some reason. If the tool never caught on, then the support fades and dies. You can't MAKE people adopt something unless it is the only way to complete a task....and then if they really don't like it anyway, they come up with their own tool - some catch on C, Python, Perl.... others don't; Forth, Eiffel, Modula 2, etc.

    In our ecosystem, I would think PropGCC should be able to have momentum to sustain it through the community - we are all told C is popular and the way to go. D. Betz and others, I commend your work and the times I've used PRopGCC it has worked for me. I just still have trouble embracing C anywhere but that's me and not the tools.

    As for the IDEs and libraries, they will survive or not. If they are important to Parallax and are floundering, it needs to get in and start paddling. If they were a whim and didn't catch on and nobody cares, then they will wither and die just because nobody cares. If they are a personal passion and useful tool to the developer (Tachyon), then they will live and grow as long as the developer keeps his passion and the tool keeps its personal usefulness.

    (Sorry, this almost turned into a Potatohead dissertation - Doug, how do you write so much quality content???)
  • I think even SimpleIDE makes it easy to integrate existing PASM objects into your C programs as long as you let it build them from .spin files. It doesn't seem to handle .s, .S, or .sx files well though, especially when their names conflict with .c or .cpp files.
    I just did a quick experiment, I added a .spin file to an existing C project, and compiled it, it got compiled. I also read through the SimpleIDE User Guide, it mentioned in there that you can add .spin file(s), and others, to a project. Still scratching my head, so what.

    That is all well and good, but how do you use that feature to its best advantage? David has mentioned that it can be done, but again where is that covered at the Learn site, or for that manner in the User guide. Because there is quite a few driver PASM/Spin objects, you would think that using SimpleIDE to make use of them would be a top priority, but I guess it has to be kept a secret, or at least only known to a few as to how to use it efficiently. Thinking along these lines how cool would it be if you could reverse it and add C objects to a Spin file. I can see the Pasm/Spin centric purists getting ready to go into a convulsion.


    Now that we had a good, lively discussion about SimpleIDE, or was this a eulogy, now what do you do.

    Ray



  • Part of the problem for me is that Parallax wants to write all of their own libraries. Whenever I've tried helping by writing code to interface with some device, my code has been replaced by code written internally. I don't really have any desire to spend a lot of time porting PASM drivers just to have them ignored and eventually replaced by ones Parallax writes themselves. I think we have to wait for them to get around to porting this stuff. They are very particular about their libraries.
  • mindrobots wrote: »
    No offense to SwimDude0614 or any of the others providing us with tools, your contributions are great for what they do and should be recognized for the labor and passion you put into them but.....

    Sometimes I really just want to sit down with a simple editor, a small fast compiler/assembler/whatever and write some simple code to relax and play and learn things about some device, some programming idea or myself. I don't want to read about a bunch of libraries to find one function I need. I don't want to struggle through ASM in gas linking to C running through make and resolving local labels just to write a PASM program. I don't want to struggle with projects for a 30 line program to see how something works.

    SimpleIDE should be refactorable to be able to use PropWare as the build system with 0 changes to the user experience - that would be my vision.

    For the times when you "just want to sit down with a simple editor," SimpleIDE with a PropWare backend would work beautifully. My web IDE, PropWareIDE, is a rough proof-of-concept for exactly that - easy compilation with PropWare. What's nice about extracting the build system though is your next point: "If my play turn into my magnum opus of programming after I while I'll deal how to package it more efficiently" packaging it more effeciently now simply a matter of editing the CMakeLists.txt file directely, instead of letting SimpleIDE write it, and then building from the command line or using CMake to generate project metadata for a more complex IDE, like Eclipse.
  • Heater.Heater. Posts: 21,230
    edited 2015-10-14 18:37
    Oh boy. What did I start here?

    To my mind the whole idea of pulling PASM out of Spin objects to use with C is nuts. It's a complex convoluted thing that most users should not have to do.

    Quite why we need cmake when good old make has been serving well for decades I don't know.

    Whatever happened to the "simple" idea of firing up the IDE, typing some C/C++ code, hitting "run" and having it run.

    Like those Arduino guys do,



  • Heater. wrote: »
    Quite why we need cmake when good old make has bee serving well for decades I don't know.
    In fact, SimpleIDE doesn't use either make or cmake. It has its own build system built in.

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2015-10-14 18:54
    David Betz wrote:
    I think the Propeller Tool may only be able to deal with COM1-COM9.
    The Propeller Tool has no problem with higher-numbered ports.

    BTW, the PropTool is still my go-to dev platform, and it's the one my students use in the robotics class that I teach. Despite a small handful of quirks, it's really a nice program, IMO.

    -Phil
  • David Betz wrote:
    I think the Propeller Tool may only be able to deal with COM1-COM9.
    The Propeller Tool has no problem with higher-numbered ports.

    -Phil
    Thanks for confirming that. PNut seems restricted to 1-9 so I thought that might be a problem with Propeller Tool as well. Thanks for setting me straight.

  • Whatever happened to the "simple" idea of firing up the IDE, typing some C/C++ code, hitting "run" and having it run.
    Originally, that was the idea, sure their was a lot of objection to the "Project" part, but even with that, it was still quite simple to use. In fact I also remember that their were some PASM/Spin purists that were making those objections, stating that it should look like the Propeller Tool. I think it should have been just left alone, with hindsight that is, and you just adapted to the command line tools to work PropGCC.

    I also remember that jazzed originally was calling it PropellerIDE, IIRC, but Parallax told jazzed to change the name. So he came up with SimpleIDE, from the early times, it was already being altered, but the people that wanted the changes but did not take the lead, and support it, to the full extent. You know where I am heading with that line of thought.

    Well, again, here we are, and the question remains, what happens next. I guess the next line of talk will be, it is best to wait for the P2 to become real, and design an IDE that will do it all, in a simple manner that is. Anybody up for that challenge, designing and maintaining the new xxxxIDE.

    Ray
  • Heater.Heater. Posts: 21,230
    David,

    There we go. What build system? SimpleIDE's home made thing, cmake, make, something else?

    The complexity multiplies and multiplies. All we want is to write a few hundred lines of code and compile it. Would be better just to concatenate the source files together and let prop-gcc compile it.





  • Heater. wrote: »
    David,

    There we go. What build system? SimpleIDE's home made thing, cmake, make, something else?

    The complexity multiplies and multiplies. All we want is to write a few hundred lines of code and compile it. Would be better just to concatenate the source files together and let prop-gcc compile it.




    Aside from the issue of how to use PASM code for drivers, I think SimpleIDE makes it pretty easy to compile a few files and link them into a program doesn't it?

Sign In or Register to comment.