SimpleIDE is dead. Long live SimpleIDE.
Heater.
Posts: 21,230
in Propeller 1
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?
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?
Comments
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."
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
They are the same thing. In fact, I think SimpleIDE is a branch in the propside repository.
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.
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
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 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.
Talk about a dev tools mess, what else can go wrong?
Ray
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".
Ray
@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.)
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 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.
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???)
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
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.
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,
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
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
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.