Yes. It may be a trait inherited from my grandmother. She loved knitting and could knock out an incredible sweater during an evening of TV. I love programming in Spin and can do it while my favorite show is running on the TV.
I followed the instructions and downloaded SimpleIde for Linux.
I ran install.sh, and started simpleide and got this:
@ poul poul-S400CA: ~ $ simpleide
/ opt / simpleide / bin / SimpleIDE: error while loading shared libraries: libfontconfig.so.1: can not open shared object file: No such file or directory
@ poul poul-S400CA: ~ $
So it's not that simple yet. And when one is ready for Linux on ARM, which will be my platform of choice.
I guess I'll have to wait until it all runs from a browser.
So I stick to open spin and an editor.
Maybe it's not here, I need to ask about it, then I'm sorry.
I'm using ubuntu-13.10-desktop-amd64 on my laptop, and I have checked that libfontconfig1 is installed.
I'm converting to ODROID, to save power.
I'm following you with exitement. It would be nice to have something like Espruino Web IDE.
I will try with Raspi and on Odroid too.
The Espruino is great. We can't do something so interactive in spin of course but we can make a web based Spin editor and terminal interact with running Prop programs.
I'm using ubuntu-13.10-desktop-amd64 on my laptop, and I have checked that libfontconfig1 is installed.
I'm converting to ODROID, to save power.
I'm following you with exitement. It would be nice to have something like Espruino Web IDE.
I will try with Raspi and on Odroid too.
For whatever it's worth, we haven't produced 64 bit packages yet.
Then it was only to open a command prompt and start simpleide and press return
If not in Project View, then select Tools, Set Project View
In Project View select Compiler Type as SPIN
Find a spin program and hit first F4 and then F11 to get it on the eeprom.
Remember to set Set Project ~ F4, or the IDE goes down.
Max baud is 115200, but I need 230400 for my PropForth, can I get that?
How about an exit button also?
The old F8 shows 'view info', I can get something like that too?
The right arrow says 'Browse (Ctrl+Left Click)' ??
The main arguments against PropGCC that I hear are:
There is lot's of Spin code (OBEX), but hardly any PropGCC code
I agree. That's why I created libpropeller, to do my part to release some well tested C++ modules.
Spin code is much more compact than C++ code.
It seems that nobody cares about speed, only code size. Ok. I disagree that Spin is way ahead of PropGCC, especially without BST's pruning functionality. Basic code size comparisons indicate that CMM is about the same size as Spin. But this is something that is hard to compare, so I'll maintain my unsupported position that CMM is comparable in size to Spin.
Spin is built for the Propeller's multicore aspects
I don't see anything different between Spin and PropGCC in this regard. Both can launch cogs, both can manage hub memory. PropGCC has more options (eg, optimization) so it seems like multicore is bolted on, but I disagree.
In regards to IDE, don't forget you can use Code::Blocks and Netbeans with PropGCC.
For all of these, "people should" statements, I've learned a basic thing Heater is getting at here: The user does what the user does, and that's generally the path of least resistance for them, and it's generally the most obvious choices.<
This also applies to customers or potential investors in whatever you are trying to build or program. Sooner or later some of them will drag in a consultant to ask questions like "What code is the operating system using?"
>I get this discussion all the time when dealing with CAD software users, either in a pre-sales mode where we want them to buy our solution, or in user mode where they have it, but they are needy in some way.<
There is nothing more frustrating than writing the perfect code and then finding that some 'enhancements' have been made(usually at one end or the other of a critical interface) that causes your code to choke.
>Recently, a UI change to the Microsoft Ribbon paradigm has caused a small uprising. So far, it's a few alphas here and there generally annoyed at losing a lot of flexibility in the UI, which they have customized of course.<
My point exactly.
>Root cause: "Let's make it touch friendly" which broke a lot of very useful options, leaving them ticked off and feeling like they got a downgrade. <
Having your software downgraded on the fly really sucks.
>Now, there is a "classic mode" for this release, to which they all moved and appear happy but worried. How long is this mode there. (One more release, but they don't really know that yet)
Some(especially younger ones) see the term 'Classic' as meaning the code your grandfather wrote in.
>In the past, I've addressed this with lots of informational things necessary to sell the new paradigm. In some cases, like the users with a few displays, it's gonna be a tough sell this time as the Ribbon Bar thing really does not offer an optimal use profile. Not looking forward to that one. In most other cases, there are just new choices and sorting through those will yield a nice, efficient, comfy workflow.<
The Design Review Board has chosen your code as the one to be rewritten. The decisions of the Design Review Board are arbitrary and final.(A very, very old joke.
>To get there, I myself a long time classic mode user am going to have to use this farking Ribbon Bar thing and figure out how to make it sing. Not looking forward to that either. But once it's done, the users will see that, see my position and start digging in. There will be some hold outs, and those people and how vocal they are will likely determine the future of classic mode.<
You can take some comfort in the knowledge that those that are kicking your 'Classic' to the gutter will be in the same situation in short order after the next few major jumps in technology available come along.
As for myself I will keep Simple IDE and make my multi-processor system work with physically separate processors each with their own EEPROM and using a shared buss. As far as I can tell Spin is close enough to C that the trouble and time of learning to use it could be better spent building a working prototype from individual processors.
Once I can snag some investment I will like get professional(not mental professional) help/guidance to study/analyze and confirm/dispel whether my separate and equal is the best solution.
"New ideas and concepts are often initially rejected simply because they are not yet common knowledge." - Some 18th century Englishman whose name escapes me at the moment.
From my point of view it is the reverse. It's hard to get anyone here to acknowledge that there might be any value an any language other than Spin. I think the smugness is on the Spin side not the C side. I have used Spin myself and acknowledge that it has many strengths. As well, I realize that C has some weaknesses and I certainly won't claim that it is the best language ever invented. My interest in C is simply that I can write a program on one computer and run it on another. I know many people here will say that there is no such thing as a portable program but it just isn't true. What is true is that most programs require a bit of effort to port, many require a fair amount of effort, and some can't be practially ported at all. For me, those are in the minority and I've been quite successful porting large programs from one machine to another with minimal changes even going from 8 bit to 16 bit to 32 bit processors. I don't get that with Spin. If I want to reuse code I've written in the past I have to completely rewrite it in Spin and it isn't always easy to map from other languages to Spin. This is why I generally choose C. If I was writing something that I knew I would never want to run on any other processor I might very well choose Spin instead. As may be obvious from my comments on Forth and Basic and various other languages, I'm a language junky and can find something I like about almost any language. I don't think smug applies.
<
David,
Every bit of what you say is truth.
I once had a professor tell me that every problem imaginable can be solved with RPG. Later on down the road another professor could not see how FORTRAN could possibly be improved on. Later still an IP professional flatly denied that using a PC to write COBOL would never come to pass.
I have this nagging thought that, since it is their(Parallax) sand box, if we want to play with their toys we must learn to speak the local lingo.
Aside from the lack of portability there is the fond hope that some day one of my grandchildren may need to tweak my code and with C I know there is gracious plenty examples already out there for them to study.
You can take some comfort in the knowledge that those that are kicking your 'Classic' to the gutter will be in the same situation in short order after the next few major jumps in technology available come along.
I'm on basically the third cycle now. Some of the people I deal with will refer to me as, "early pioneer", while others see these cycles and see me just doing the work, and often saving them time. Real newbies may well see me as old school, and I really love talking to and interacting with them. Often their priorities and how they value things is very different. It all gets rolled up into my experiences and I can find common ground. Good times! (These people really do work differently too. Interesting as all get out.)
Really, the point I wanted to make was offering up choices for users is generally good. Too many of them, or if they are hard to make turns bad, but a solid set, representative and flexible where it makes sense generally means there are ways to get people happy and productive. I think the most important realization there is actually having a base set of options where this is possible. Doesn't have to be optimal, just possible and practical and the very large majority will deal. A few will balk, and some others will go and do their own thing. (Like I'm likely to do with Sublime, no worries.)
SimpleIDE is a great program. I've used it off and on, and I think it's a great, cross-platform choice. I really like editor tools, and if I were to make a CAD analogy again, like UI / Features that are higher end, and use them, though it takes some work to do so. One CAD program I work with is cross platform. High end stuff. Seats start at high 4 figures and go up really easy from there. Runs on Mac, Windows, Linux. (spiffy!) I've got all three setup. Nobody to date in my niche has touched the Linux version, though it's a great performer and identical to the Mac version UI / UX wise.
I've had several get it up and running on the Mac, and MOTIF compared to the Windows widgets is an interesting exercise. MOTIF is as productive as Windows is today. That was not the case back in the 90's, but it is today. I find that interesting. In the 90's, you would have found me on IRIX, which has a kick butt window manager, running MOTIF programs just leaving Windows users in the dust, clicking and mousing themselves to death.
Now, those little bits of progress have generally added up! Windows 7, the fact that it doesn't really have focus follows mouse aside, is actually a damn spiffy UI. Iterations of this and that along with non-development elsewhere changes things and people don't always pick up on the changes. I do, but that's really because I've got a macro view based on what I do, where many users are micro, focused more on tasks, less on tools.
So, now I've got people who loaded a Mac native version, that did not use the native UI / Window manager, and found it made more sense to run the windows version as a virtual machine, despite the performance issues that brings to the table. If the program were Mac UI / Window manager native, they would not do this, because that is actually superior to Windows in most areas, plus the integration is there. Win-win.
Frankly, this continues to amaze me!
The MOTIF version of the program is functional, and it's often click for click equal to Windows, where Windows used to be more clicks. Why that is should be another discussion another day, but it is. Despite this, having a good UI feel actually trumps actual performance and productivity. I would not have expected this, and of all the things I've seen going around and around this merry go round, that one takes the cake! (And these basic things present now, not so present last generation, add up to a very painful lesson Microsoft is going to have to learn about Windows 8 too.) So they will have the application run like a dog and buy really expensive hardware to compensate somewhat rather than deal with something that doesn't feel as good to them. Take note of that. And mind you, these aren't old users. I'm talking top-notch, grads and 30 somethings who really know their stuff doing this.
So, back to PropTool, SimpleIDE, SPIN, C, etc...
Little things matter. They often matter a lot. And people will put up with a lot to get an overall feel they can identify with and feel good about too. Because of this, the often large amounts of development time, testing, etc... we see go into UI for various things really pays off more than people often think. It pays off, despite functional equivalency otherwise. Go and watch an experienced VI user one day. I think you will be enlightened, if you've not really gone down that road. Hint: Makes reaching for a mouse look like a crime. Seriously. Despite that seriously productive environment, good luck getting anybody today to even take a look, much less build skill, unless they are forced to.
Now there is one other thing. WHICH little things matter? A whole lot of this depends on what people imprint on. I'm old enough to imprint on command line, terminal and a variety of UI paradigms. Newer users will imprint differently, and because of that, the question starting this whole thing is a really good one to ask; namely, "Why isn't SimpleIDE promoted for SPIN?"
There are a whole pile of us who will have imprinted on PropTool. I'm one of those. When I step back and look at this like I would professionally, SimpleIDE works and it works well. Good job Steve! Had I stepped in more recently, I may very likely see PropTool as nice, but cross-platform, cross-language, is much nicer.
Positioning and offering SimpleIDE as a solid choice, cross this and that, will build mindshare for incoming people and over time, perhaps others will transition over, particularly for cross-platform reasons. I find running VM's under another OS to be a PITA generally and will use a native tool first. But there are a whole pile of us who won't do that and that's just a reality. An interesting reality. For a long time yet, those people can use PropTool in virtual environments with no worries, at least until P2.
Personally, I've mentioned Sublime. Great editor. I'm gonna eventually get all setup on Mac and do the work to make Sublime just work. It will take a while, but I think it will be worth it. That we have open tools growing and developing nicely means it's gonna be possible and practical. Sweet! That's the higher end person in me wanting a really slick UI feel. I'll pay up, because that kind of thing works well for me. That's not a slight against Simple, or anything else really. Frankly, VI offers all the spiffy editor features PropTool does and a whole lot more. It just is presented much differently, that's all. Not too many people will pay for an editor, meaning SimpleIDE will only grow in mindshare when it's presented as a solid, cross-platform, multi-language choice. Count on it.
This also means those people who really like PropTool, SPIN, etc... as originally realized for P1 are going to have imprinted on all those things and they will feel the pain of change and they may or may not be motivated to shift away. Some features will help with this and I would encourage the low hanging fruit get done for that purpose.
Give it a year or two, particularly when P2 comes out and the dynamics surrounding PropTool / SPIN will change and we are very likely to find more people running cross-platform, doing whatever they want because the open tools let them, and SimpleIDE should default to a very good, "standard" type of choice, assuming it's presented as such.
You are using MOTIF on your Linux and MAC versions of your CAD software? Goof grief. No wonder no one uses the Linux version and the Mac users use the Windows version under a VM!
"Give it a year or two...!"
It already been a year or two! That's a long time in the modern tech world.
Re: Sublime: I just watched a short video where the guy was expanding on the virtues of Sublime when doing a lot of programming. One of his key points "You hardly need to use the mouse". Amazing, after thirty years the young kids have realized what we have been saying all along, the windows, icons, mouse interface sucks for such things. Recently I have been watching a lot of you tube vids of presentations given at C++, JavaScript and other conferences. All the young wiz programmers are using Sublime...or vim!
This thread has been an interesting read.
Firstly, I wasn't aware SimpleIDE does spin. I took a quick look a long time ago and haven't kept up, and most of the discussion was on the gccforum which I rarely read.
People use what they are usedto. No needto change if it works, right.
So, mostly I use proptool. When I need extra features I use bst. On the P2, I edit in proptool, save, switch to pnut and re-read the source, then compile.
When I use C (catalina) I edit with Notepad++. Its only small changes/adds that I do here as another programmer wrotemost of it - I am not a C programmer. Again however, I do see the requirement for C on the prop.
I mostly write spin and pasm.
And I only use Windoze 7 and XP. W8 is a huge mistake for ms to rectify.
Why am I relating this - well because everyone has their favorites, languages, tools, and windoze/*nix/mac/android/ios. And they have selected this quite validly. Who are we to argue? So why try and make us/them change.
That is why IMHO SimpleIDE is important - to all of us. Steve has done a fantastic job so I need to reinvestigate using it. Its great because of cross platformsupport. If you prefer, you can still use yourfavorite editor, and then use it to do the compiling.
My point with this thread was not get people to change from Prop Tool to SimpleIDE or from Spin to C or vice versa.
Only that users of Mac and Linux (and other systems) are not being made aware of the SimpleIDE option on the Propeller product pages.
Of course if you are using your favourite editor you don't need SimplIDE at all. Just configure your editor to run propgcc or openspin and the loader from some hotkey or menu option. You can do this in vim easily. You even get Spin syntax highlighting in vim!
You are using MOTIF on your Linux and MAC versions of your CAD software? Goof grief.
Not my call. There are much better options these days. (HOOPS, QT come to mind among other things, and was used by a competetor successfully)
However that really ugly call does provide an excellent data point. People will trade 2x or more overall performance for UI elements they prefer, even when the functional work required to use them is par, or very close to par, which it is in this case.
I am pretty sure that software house did not expect that result. Ideally, they will make some changes. We shall see. You can bet I made that metric and what it means available to them. Normally, the VM performance differences aren't significant. They are for 3D CAD. Very significant, particularly when one is working with larger datasets. The larger the dataset, the worse it is.
Only that users of Mac and Linux (and other systems) are not being made aware of the SimpleIDE option on the Propeller product pages.
Yep. Point made and with some great discussion as well. I agree with you.
All the young wiz programmers are using Sublime...or vim!
Yeah baby! Like I wrote above, watching and learning from under 30 somethings is nearly always enlightening. I note this trend too. Sublime also does magic things with a mouse for those so inclined.
The test for me was a good run for a month or so. Now I miss it. Sold.
I have never known a time when MOTIF was not looked on as "old Smile". Admittedly I'm new to the Unix world. Only started with Linux in 1997.
They have had twenty years to catch up!
No need to miss sublime_text. The time limit on the free trial has been removed!
If you like it pay the guy what he asks, or get the boss to pay:)
Totally. I know I can run it as a trial as long as I would like. What I did was load it onto my old XP box, currently being used for P2 testing. Took some time to setup a basic build chain and then just used it. Needs syntax highlighting, and the usual work.
That's all still there, and I could use it, just didn't. On this latest update, I've just been editing with PropTool, saving, then building with PNUT. When I get time, I'll go and do some more Sublime work and transition over, probably on my Mac.
For this stuff, I'm the boss. And I like to pay for good software. Since it's essentially optional, I really appreciate that. It's a great program.
Yes, MOTIF is known as old Smile. Through the 90's though, it performed very well compared to many other things, including Windows. I ran another, older high-end CAD program built on it, and there simply was no real comparison to windows UI. MOTIF on a good window manager was very productive. That bar has since been crossed, but not without some custom UI work augmenting windows.
The most interesting thing about this case is the MOTIF implementation was also augmented in precisely the same way. It's literally, with only a few edge case exceptions given the right window manager settings, click for click with the Windows UI. I can't differentiate overall productivity between the two, other than overall application response times and performance, to which the MOTIF build is superior on both Linux and Mac to what a VM can deliver.
Both Linux and Mac offer more modern looking UI paradigms, but they really don't offer higher performing ones in this context. This really does come down to mere look and feel. Never had that case before! Because of what I do, I found it very interesting and I get a lot of user data. (CAD / CAM / CAE pre-sales, training, etc...)
Oh, and that should give people a sense of just how badly Microsoft and other "Hey, let's go flat design for touch at the expense of everybody else" friends are botching things right now. This cycle will prove to be both painful and entertaining!
People literally will have it run slower and not just a little slower, a lot slower and a bit less stable to have it merely look better! In the past, that was far less true.
Never mind favorite features, which is another reason to camp out on something. Another discussion altogether.
Anyway, PropTool has a look and feel that is worth a lot. This is sometimes dismissed, and I thought I would highlight how it really shouldn't be. On the flip side, if people adopt SIDE now, to your point of making sure it's a known and ready option, they will imprint on it and solidify around a cross platform, cross language tool, which is good for everybody longer term.
>Yeah baby! Like I wrote above, watching and learning from under 30 somethings is nearly always enlightening. I note this trend too. Sublime also does magic things with a mouse for those so inclined.<
A learning experience indeed!
The first 'programming' I did was in a factory and was done in 'machine code' by flipping switches and pushing buttons on the console built into the end of the processor rack. The systems being used on the test floor had a whooping 4K of memory. The test programs we used consisted of spools of punched tape that you loaded via a KSR Teletype. The actual 'processor' was a diode array that was only 256 bytes. That was the original BIOS. It was almost a bit to bit copy(note the almost) of what Big Blue was using when their machines really were BIG and blue.
That code later became known as 'basic'. When I final went to programming school it had become Basic Assembly Language or BAL for short. The UI was a stack of coding forms. What I liked about BAL at that time was the compiler run included on the right side of the printout the actual machine code. Once I knew what the compiler was doing with my code I was able to do some 'work around' and compress the code even further. One instructor noted that in every assignment my program used less memory and ran faster than all the others he had ever seen.
What I am working on presently requires just that kind of programming. A lot of close tolerance mechanical stuff has to be done with extremely tight timing. I have three modules working at present using 16 bit processors. Those modules are hard wired to each other and are not buss configured.
I am presently trying to find the best available way to cut the wires and give them RF communications of at least low MHz speed and range of at least a couple hundred yards. I have tried using separate TX and RX modules but am unable to get to 100% error free communications which has stopped me in my tracks. The worst part is that I absolutely have to have operating ability from -40 to +90 degrees C.
Now if a friendly SYSOP/WIZOP/Moderator can move this to one of the many other forums that are daunting to my 'stone age' abilities at cruising this site it would be much appreciated.
To answer your first question, I don't know the answer. But I haven't been using it, because I never got around to installing it on my new Mac.
After scanning this thread, I decided to install it and give it a fresh look from the perspective of Spin programming. I like SimpleIDE… because it opens up C programming to me.
But I have to admit that I haven't used it for Spin programming.
I don't have a problem with the concept of having to create a project. So, that's not an issue with me.
I have to say that the user interface of SimpleIDE is not at all intuitive for Spin programming. Here was my experience:
I started out creating a new project. Then I had trouble getting my_top_object.spin file into the
project. I finally got it in and then couldn't figure out how to make that my project's top object.
I closed everything out… opened my top level file (after two tries) and then tried to compile it… there were missing files, since my object files weren't located. I tried to point to them.
I tried to copy them. I tried pointing to the library in my Propeller folder. I tried linking to everything. Finally, I just copied the files.spin (in the Finder) and physically dragged them into my project folder… and everything was dandy.
Compiled and ran… slick as a whistle.
Next I tried to simulate build indexing, by saving the entire project with an index added. This didn't work as expected… only saving my top level file. When I opened the project, none of my object files were to be found.
Then I tried to explicitly save one of the object.spin files from the project and found that I had to re-enter the name to save it… which is a good source of programming errors.
These are little-bitsy-itsy tiny issues… but they contaminate the first impression of SimpleIDE… which is solid and welcome and generally friendly:)
I have to say again that whatever it was that was called "basic" it almost certainly was not the famous "BASIC" programming language from Dartmouth College.
...stuff has to be done with extremely tight timing...
...find the best available way to cut the wires and give them RF communications... range of at least a couple hundred yards.
You don't say what your timing tolerances are but my gut tells me this is impossible or at least very hard. The requirements are mutually exclusive. Anything wireless is almost certainly error prone and unreliable. You can never tell what may interfere with it.
Comments
Yes. It may be a trait inherited from my grandmother. She loved knitting and could knock out an incredible sweater during an evening of TV. I love programming in Spin and can do it while my favorite show is running on the TV.
I ran install.sh, and started simpleide and got this:
@ poul poul-S400CA: ~ $ simpleide
/ opt / simpleide / bin / SimpleIDE: error while loading shared libraries: libfontconfig.so.1: can not open shared object file: No such file or directory
@ poul poul-S400CA: ~ $
So it's not that simple yet. And when one is ready for Linux on ARM, which will be my platform of choice.
I guess I'll have to wait until it all runs from a browser.
So I stick to open spin and an editor.
Maybe it's not here, I need to ask about it, then I'm sorry.
What Linux distribution are you using?
On Debian, and probably Ubuntu, it's only a case of "apt-get install libfontconfig1" but you don't need to do that as Debian has it by default.
SimpleIDE for ARM, at least Raspberry Pi running Raspbian is here: https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-45.armv6l.raspberrypi-linux.tar.bz2
It may also work on other ARM boards if they are using Debian or a derivative like Ubuntu. I'm going to try that later today.
Openspin in the browser is being demoed here: http://a.linuxsecured.net:3000/Editor5.html
It's not much use at the moment but shows the possibility.
I'm converting to ODROID, to save power.
I'm following you with exitement. It would be nice to have something like Espruino Web IDE.
I will try with Raspi and on Odroid too.
Seems you need " apt-get install libfontconfig1:i386". No idea if that might help.
You might like a cubietruck board: http://cubieboard.org/tag/cubietruck/ now on my wish list!
The Espruino is great. We can't do something so interactive in spin of course but we can make a web based Spin editor and terminal interact with running Prop programs.
Well, my Debian is OK, no doubt Ubuntu have broken that.
This might help get 32 bit code running on 64 bit Ubuntu: http://www.maketecheasier.com/run-32-bit-apps-in-64-bit-linux/
Or I have a 64 bit SimpleIDE package here: https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-43.x86_64.zicog-linux.tar.bz2
After the first you pointed me at, I found next one's that was missing.
apt-get install libglib2.0-0:i386
apt-get install libglib2.0-0:i386
apt-get install libsm6:i386
apt-get install libxrender1:i386
apt-get install libxext6:i386
apt-get install libxt6:i386
Then it was only to open a command prompt and start simpleide and press return
If not in Project View, then select Tools, Set Project View
In Project View select Compiler Type as SPIN
Find a spin program and hit first F4 and then F11 to get it on the eeprom.
Remember to set Set Project ~ F4, or the IDE goes down.
Max baud is 115200, but I need 230400 for my PropForth, can I get that?
How about an exit button also?
The old F8 shows 'view info', I can get something like that too?
The right arrow says 'Browse (Ctrl+Left Click)' ??
It's lovely, now I can leave windoze forever.
It also works on Odroid with xubuntu.
There is lot's of Spin code (OBEX), but hardly any PropGCC code
I agree. That's why I created libpropeller, to do my part to release some well tested C++ modules.
Spin code is much more compact than C++ code.
It seems that nobody cares about speed, only code size. Ok. I disagree that Spin is way ahead of PropGCC, especially without BST's pruning functionality. Basic code size comparisons indicate that CMM is about the same size as Spin. But this is something that is hard to compare, so I'll maintain my unsupported position that CMM is comparable in size to Spin.
Spin is built for the Propeller's multicore aspects
I don't see anything different between Spin and PropGCC in this regard. Both can launch cogs, both can manage hub memory. PropGCC has more options (eg, optimization) so it seems like multicore is bolted on, but I disagree.
In regards to IDE, don't forget you can use Code::Blocks and Netbeans with PropGCC.
I don't care. Both C and and Spin are works of art, inspired by brilliant minds for different purposes, to be respected for what they are.
The question was how to make them both, especially Spin, available to Mac, Linux and other non-legacy OS users.
If nothing else we have one new happy customer, Frida, and I quote: That is big.
P.S. Frida, Not sure if you have some little niggles to work out there. Do let everyone know if you do.
(Odroid boards are small ARM boards for those who don't know them)
-Tor
David,
Every bit of what you say is truth.
I once had a professor tell me that every problem imaginable can be solved with RPG. Later on down the road another professor could not see how FORTRAN could possibly be improved on. Later still an IP professional flatly denied that using a PC to write COBOL would never come to pass.
I have this nagging thought that, since it is their(Parallax) sand box, if we want to play with their toys we must learn to speak the local lingo.
Aside from the lack of portability there is the fond hope that some day one of my grandchildren may need to tweak my code and with C I know there is gracious plenty examples already out there for them to study.
I'm on basically the third cycle now. Some of the people I deal with will refer to me as, "early pioneer", while others see these cycles and see me just doing the work, and often saving them time. Real newbies may well see me as old school, and I really love talking to and interacting with them. Often their priorities and how they value things is very different. It all gets rolled up into my experiences and I can find common ground. Good times! (These people really do work differently too. Interesting as all get out.)
Really, the point I wanted to make was offering up choices for users is generally good. Too many of them, or if they are hard to make turns bad, but a solid set, representative and flexible where it makes sense generally means there are ways to get people happy and productive. I think the most important realization there is actually having a base set of options where this is possible. Doesn't have to be optimal, just possible and practical and the very large majority will deal. A few will balk, and some others will go and do their own thing. (Like I'm likely to do with Sublime, no worries.)
SimpleIDE is a great program. I've used it off and on, and I think it's a great, cross-platform choice. I really like editor tools, and if I were to make a CAD analogy again, like UI / Features that are higher end, and use them, though it takes some work to do so. One CAD program I work with is cross platform. High end stuff. Seats start at high 4 figures and go up really easy from there. Runs on Mac, Windows, Linux. (spiffy!) I've got all three setup. Nobody to date in my niche has touched the Linux version, though it's a great performer and identical to the Mac version UI / UX wise.
I've had several get it up and running on the Mac, and MOTIF compared to the Windows widgets is an interesting exercise. MOTIF is as productive as Windows is today. That was not the case back in the 90's, but it is today. I find that interesting. In the 90's, you would have found me on IRIX, which has a kick butt window manager, running MOTIF programs just leaving Windows users in the dust, clicking and mousing themselves to death.
Now, those little bits of progress have generally added up! Windows 7, the fact that it doesn't really have focus follows mouse aside, is actually a damn spiffy UI. Iterations of this and that along with non-development elsewhere changes things and people don't always pick up on the changes. I do, but that's really because I've got a macro view based on what I do, where many users are micro, focused more on tasks, less on tools.
So, now I've got people who loaded a Mac native version, that did not use the native UI / Window manager, and found it made more sense to run the windows version as a virtual machine, despite the performance issues that brings to the table. If the program were Mac UI / Window manager native, they would not do this, because that is actually superior to Windows in most areas, plus the integration is there. Win-win.
Frankly, this continues to amaze me!
The MOTIF version of the program is functional, and it's often click for click equal to Windows, where Windows used to be more clicks. Why that is should be another discussion another day, but it is. Despite this, having a good UI feel actually trumps actual performance and productivity. I would not have expected this, and of all the things I've seen going around and around this merry go round, that one takes the cake! (And these basic things present now, not so present last generation, add up to a very painful lesson Microsoft is going to have to learn about Windows 8 too.) So they will have the application run like a dog and buy really expensive hardware to compensate somewhat rather than deal with something that doesn't feel as good to them. Take note of that. And mind you, these aren't old users. I'm talking top-notch, grads and 30 somethings who really know their stuff doing this.
So, back to PropTool, SimpleIDE, SPIN, C, etc...
Little things matter. They often matter a lot. And people will put up with a lot to get an overall feel they can identify with and feel good about too. Because of this, the often large amounts of development time, testing, etc... we see go into UI for various things really pays off more than people often think. It pays off, despite functional equivalency otherwise. Go and watch an experienced VI user one day. I think you will be enlightened, if you've not really gone down that road. Hint: Makes reaching for a mouse look like a crime. Seriously. Despite that seriously productive environment, good luck getting anybody today to even take a look, much less build skill, unless they are forced to.
Now there is one other thing. WHICH little things matter? A whole lot of this depends on what people imprint on. I'm old enough to imprint on command line, terminal and a variety of UI paradigms. Newer users will imprint differently, and because of that, the question starting this whole thing is a really good one to ask; namely, "Why isn't SimpleIDE promoted for SPIN?"
There are a whole pile of us who will have imprinted on PropTool. I'm one of those. When I step back and look at this like I would professionally, SimpleIDE works and it works well. Good job Steve! Had I stepped in more recently, I may very likely see PropTool as nice, but cross-platform, cross-language, is much nicer.
Positioning and offering SimpleIDE as a solid choice, cross this and that, will build mindshare for incoming people and over time, perhaps others will transition over, particularly for cross-platform reasons. I find running VM's under another OS to be a PITA generally and will use a native tool first. But there are a whole pile of us who won't do that and that's just a reality. An interesting reality. For a long time yet, those people can use PropTool in virtual environments with no worries, at least until P2.
Personally, I've mentioned Sublime. Great editor. I'm gonna eventually get all setup on Mac and do the work to make Sublime just work. It will take a while, but I think it will be worth it. That we have open tools growing and developing nicely means it's gonna be possible and practical. Sweet! That's the higher end person in me wanting a really slick UI feel. I'll pay up, because that kind of thing works well for me. That's not a slight against Simple, or anything else really. Frankly, VI offers all the spiffy editor features PropTool does and a whole lot more. It just is presented much differently, that's all. Not too many people will pay for an editor, meaning SimpleIDE will only grow in mindshare when it's presented as a solid, cross-platform, multi-language choice. Count on it.
This also means those people who really like PropTool, SPIN, etc... as originally realized for P1 are going to have imprinted on all those things and they will feel the pain of change and they may or may not be motivated to shift away. Some features will help with this and I would encourage the low hanging fruit get done for that purpose.
Give it a year or two, particularly when P2 comes out and the dynamics surrounding PropTool / SPIN will change and we are very likely to find more people running cross-platform, doing whatever they want because the open tools let them, and SimpleIDE should default to a very good, "standard" type of choice, assuming it's presented as such.
It already been a year or two! That's a long time in the modern tech world.
Re: Sublime: I just watched a short video where the guy was expanding on the virtues of Sublime when doing a lot of programming. One of his key points "You hardly need to use the mouse". Amazing, after thirty years the young kids have realized what we have been saying all along, the windows, icons, mouse interface sucks for such things. Recently I have been watching a lot of you tube vids of presentations given at C++, JavaScript and other conferences. All the young wiz programmers are using Sublime...or vim!
Firstly, I wasn't aware SimpleIDE does spin. I took a quick look a long time ago and haven't kept up, and most of the discussion was on the gccforum which I rarely read.
People use what they are usedto. No needto change if it works, right.
So, mostly I use proptool. When I need extra features I use bst. On the P2, I edit in proptool, save, switch to pnut and re-read the source, then compile.
When I use C (catalina) I edit with Notepad++. Its only small changes/adds that I do here as another programmer wrotemost of it - I am not a C programmer. Again however, I do see the requirement for C on the prop.
I mostly write spin and pasm.
And I only use Windoze 7 and XP. W8 is a huge mistake for ms to rectify.
Why am I relating this - well because everyone has their favorites, languages, tools, and windoze/*nix/mac/android/ios. And they have selected this quite validly. Who are we to argue? So why try and make us/them change.
That is why IMHO SimpleIDE is important - to all of us. Steve has done a fantastic job so I need to reinvestigate using it. Its great because of cross platformsupport. If you prefer, you can still use yourfavorite editor, and then use it to do the compiling.
just my 2c
Only that users of Mac and Linux (and other systems) are not being made aware of the SimpleIDE option on the Propeller product pages.
Of course if you are using your favourite editor you don't need SimplIDE at all. Just configure your editor to run propgcc or openspin and the loader from some hotkey or menu option. You can do this in vim easily. You even get Spin syntax highlighting in vim!
Not my call. There are much better options these days. (HOOPS, QT come to mind among other things, and was used by a competetor successfully)
However that really ugly call does provide an excellent data point. People will trade 2x or more overall performance for UI elements they prefer, even when the functional work required to use them is par, or very close to par, which it is in this case.
I am pretty sure that software house did not expect that result. Ideally, they will make some changes. We shall see. You can bet I made that metric and what it means available to them. Normally, the VM performance differences aren't significant. They are for 3D CAD. Very significant, particularly when one is working with larger datasets. The larger the dataset, the worse it is.
Yep. Point made and with some great discussion as well. I agree with you.
Yeah baby! Like I wrote above, watching and learning from under 30 somethings is nearly always enlightening. I note this trend too. Sublime also does magic things with a mouse for those so inclined.
The test for me was a good run for a month or so. Now I miss it. Sold.
They have had twenty years to catch up!
No need to miss sublime_text. The time limit on the free trial has been removed!
If you like it pay the guy what he asks, or get the boss to pay:)
That's all still there, and I could use it, just didn't. On this latest update, I've just been editing with PropTool, saving, then building with PNUT. When I get time, I'll go and do some more Sublime work and transition over, probably on my Mac.
For this stuff, I'm the boss. And I like to pay for good software. Since it's essentially optional, I really appreciate that. It's a great program.
Yes, MOTIF is known as old Smile. Through the 90's though, it performed very well compared to many other things, including Windows. I ran another, older high-end CAD program built on it, and there simply was no real comparison to windows UI. MOTIF on a good window manager was very productive. That bar has since been crossed, but not without some custom UI work augmenting windows.
The most interesting thing about this case is the MOTIF implementation was also augmented in precisely the same way. It's literally, with only a few edge case exceptions given the right window manager settings, click for click with the Windows UI. I can't differentiate overall productivity between the two, other than overall application response times and performance, to which the MOTIF build is superior on both Linux and Mac to what a VM can deliver.
Both Linux and Mac offer more modern looking UI paradigms, but they really don't offer higher performing ones in this context. This really does come down to mere look and feel. Never had that case before! Because of what I do, I found it very interesting and I get a lot of user data. (CAD / CAM / CAE pre-sales, training, etc...)
Oh, and that should give people a sense of just how badly Microsoft and other "Hey, let's go flat design for touch at the expense of everybody else" friends are botching things right now. This cycle will prove to be both painful and entertaining!
People literally will have it run slower and not just a little slower, a lot slower and a bit less stable to have it merely look better! In the past, that was far less true.
Never mind favorite features, which is another reason to camp out on something. Another discussion altogether.
Anyway, PropTool has a look and feel that is worth a lot. This is sometimes dismissed, and I thought I would highlight how it really shouldn't be. On the flip side, if people adopt SIDE now, to your point of making sure it's a known and ready option, they will imprint on it and solidify around a cross platform, cross language tool, which is good for everybody longer term.
A learning experience indeed!
The first 'programming' I did was in a factory and was done in 'machine code' by flipping switches and pushing buttons on the console built into the end of the processor rack. The systems being used on the test floor had a whooping 4K of memory. The test programs we used consisted of spools of punched tape that you loaded via a KSR Teletype. The actual 'processor' was a diode array that was only 256 bytes. That was the original BIOS. It was almost a bit to bit copy(note the almost) of what Big Blue was using when their machines really were BIG and blue.
That code later became known as 'basic'. When I final went to programming school it had become Basic Assembly Language or BAL for short. The UI was a stack of coding forms. What I liked about BAL at that time was the compiler run included on the right side of the printout the actual machine code. Once I knew what the compiler was doing with my code I was able to do some 'work around' and compress the code even further. One instructor noted that in every assignment my program used less memory and ran faster than all the others he had ever seen.
What I am working on presently requires just that kind of programming. A lot of close tolerance mechanical stuff has to be done with extremely tight timing. I have three modules working at present using 16 bit processors. Those modules are hard wired to each other and are not buss configured.
I am presently trying to find the best available way to cut the wires and give them RF communications of at least low MHz speed and range of at least a couple hundred yards. I have tried using separate TX and RX modules but am unable to get to 100% error free communications which has stopped me in my tracks. The worst part is that I absolutely have to have operating ability from -40 to +90 degrees C.
Now if a friendly SYSOP/WIZOP/Moderator can move this to one of the many other forums that are daunting to my 'stone age' abilities at cruising this site it would be much appreciated.
To answer your first question, I don't know the answer. But I haven't been using it, because I never got around to installing it on my new Mac.
After scanning this thread, I decided to install it and give it a fresh look from the perspective of Spin programming. I like SimpleIDE… because it opens up C programming to me.
But I have to admit that I haven't used it for Spin programming.
I don't have a problem with the concept of having to create a project. So, that's not an issue with me.
I have to say that the user interface of SimpleIDE is not at all intuitive for Spin programming. Here was my experience:
I started out creating a new project. Then I had trouble getting my_top_object.spin file into the
project. I finally got it in and then couldn't figure out how to make that my project's top object.
I closed everything out… opened my top level file (after two tries) and then tried to compile it… there were missing files, since my object files weren't located. I tried to point to them.
I tried to copy them. I tried pointing to the library in my Propeller folder. I tried linking to everything. Finally, I just copied the files.spin (in the Finder) and physically dragged them into my project folder… and everything was dandy.
Compiled and ran… slick as a whistle.
Next I tried to simulate build indexing, by saving the entire project with an index added. This didn't work as expected… only saving my top level file. When I opened the project, none of my object files were to be found.
Then I tried to explicitly save one of the object.spin files from the project and found that I had to re-enter the name to save it… which is a good source of programming errors.
These are little-bitsy-itsy tiny issues… but they contaminate the first impression of SimpleIDE… which is solid and welcome and generally friendly:)
Rich
Looking forward to autocomplete working with Spin, as I get older my memory is not what it used to be.
One nice feature would be multiple editor windows so you could open two files side by side and tile them.
Lee
This board https://www.isee.biz/products/igep-processor-boards/igepv2-dm3730 will give you a nice 700MHZ ARM processor with lots of RAM,
USB, ethernet, UARTs and WIFI communication. It operates from -40 to 85 Centigrade.
Ken: Good reminder.
Steve: Let me know when you get to Washington DC. There is a steak and beverage of your choice waiting for you.