What about pfth? Is that still supported? I ported that to the P2 quite a while ago as an early experiment.
pfth is an ANSI compliant Forth. While it can be demonstrated to work on the Propeller, it seems that it bogs down a bit. Dave Hein did a lot to optimize it in PASM. But TachyonForth and PropForth focus less on a compliant Forth, and more on getting the performance that the Propeller is capable of delivering.
I suspect there is a similar tug of war going on in Basic.
The bottomline is that anyone that uses the Propeller 1 or 2 needs to accept learning what it is... regardless of what language they program in.
pfth is an ANSI compliant Forth. While it can be demonstrated to work on the Propeller, it seems that it bogs down a bit. Dave Hein did a lot to optimize it in PASM. But TachyonForth and PropForth focus less on a compliant Forth, and more on getting the performance that the Propeller is capable of delivering.
I suspect there is a similar tug of war going on in Basic.
The bottomline is that anyone that uses the Propeller 1 or 2 needs to accept learning what it is... regardless of what language they program in.
I guess it depends on what type of code you're writing. If you're writing a generic algorithm then a portable language that follows a standard is probably best since you can reuse your code on different platforms. However, if you're writing code that needs the best possible performance and is tied to the hardware it is controlling then something tuned to the hardware is best. I think there is a place for both types of languages. However, I will usually choose a portable language if it has the necessary performance and try to limit my use of hardware or platform specific code for critical inner loops.
Never underestimate Basic, still around in many forms today.
I could never understand why it was never introduced along with the prop as either interpreted or compiled to native binary.
I would have thought that this was a logical path from the Basic Stamp, and while there are many who love/hate Spin this introduced an unnecessary learning curve as most have some knowledge of Basic.
Anyway those are my thoughts, agree/disagree as you will.
With that in mind I am in the process of making an IDE for PropBasic which is in my opinion is a brilliant solution and a pity it has not received some official recondition.
As discussed with Bean the IDE will provide what I hope will be exiting features that will provide an enjoyable and productive coding experience.
With that in mind I am in the process of making an IDE for PropBasic which is in my opinion is a brilliant solution and a pity it has not received some official recondition.
Can you clarify what an IDE for PropBasic means exactly, as IDE can mean many things.
To some, it is an editor, maybe with Syntax highlighting, and some batch calls.
To others it can include a full language simulator, with watch variables, and download and even ICE features...
A propensity to scoff at BASIC must be, in part, culturally inspired. It certainly isn't because it is useless, or anything like that.
Perhaps. In my case it comes from having to learn BASIC as first language back in technical college. Banging it out on a teletype connected to some mainframe in another city. Then of course there were the BASICs you got on all those 1980's 8 bit computers. All those line numbers, no lables, and gotos and gosubs. Not much fun to use. Not exactly useless but they didn't help very much.
Of course BASIC has grown up over the years and aquired features from proper languages. And there are BASIC compilers to get away from the tediously slow interpreters of years gone by.
I think the biggest contribution to computing by BASIC was the fact that smart Smile schoolboys could walk into a shop and type a two line program into a C64 or whatever was on display that printed out some obscene message in an endless loop. Then have fits and giggles watching people as they noticed it. Some of those smart arses then got hooked on computing and programming.
I think the biggest contribution to computing by BASIC was the fact that smart Smile schoolboys could walk into a shop and type a two line program into a C64 or whatever was on display that printed out some obscene message in an endless loop.
pfth is an ANSI compliant Forth. While it can be demonstrated to work on the Propeller, it seems that it bogs down a bit. Dave Hein did a lot to optimize it in PASM. But TachyonForth and PropForth focus less on a compliant Forth, and more on getting the performance that the Propeller is capable of delivering.
The last thing I want to do is discuss Forth on this forum, but I want to correct one error in your comment. It is true that Tachyon is very fast, and is a good implementation of machine Forth on the Prop. However, PropForth is not any faster than pfth, and in fact, pfth outperformed PropForth on the benchmarks that I tested. PropForth is neither a machine Forth nor an ANS-compliant Forth. I understand that most of the Forth world doesn't care about standards and portability, but it's crucial if you want to port large Forth applications with minimal changes.
@jmg Can you clarify what an IDE for PropBasic means exactly, as IDE can mean many things.
To some, it is an editor, maybe with Syntax highlighting, and some batch calls.
To others it can include a full language simulator, with watch variables, and download and even ICE features...
@SARG from above thread..
I'm asking again to mods to stick this topic. I hope to get an answer. The 7 years of developing of FBdebugger seems to be a good reason.....
I use FreeBasic and FBIDE and it is wonderful but..
Here again (in the above forum) is an example of a person 'SARG' developing software and having as far as I can see, a vocal user base of about six? I might be wrong but it always seemed to be the same few who interacted with SARG to find bugs etc. And he practically had to beg after 7 years development to have it made into a 'sticky'.
I wonder if we are vocal enough in showing our appreciation of these stalwarts of the free tool providers.
Take Beans work - tirelessly striving to give people like me a simple entry to the prop and really - what thanks does he get?
Thanks to Propbasic, I've dusted off my Chameleon and used it in anger for the first time in the eighteen months or so that I've had it, because learning yet another way of writing uselful code was beginning to hurt. I think struggling with the 'sintax' of 'C' (arduino) was the last straw.. having multiple ways of doing the same think fizzing in my brain and trying to decide which to use is just too much. I have to say I do admire those people who can real off eight or nine languages that they use - I'm not one!
PropBasic ts a great learning tool
eg take Beans VGA.lib - written in PropBasic
' This code generates 320x240 pixel (40x30 text) 4 color VGA display
soooo easy to read - like pseudo code
no white space
nicely aligned
commented where needed
kids stuff - and I'm a big kid I admit it......
look at the pasm it produces..... often not too different.... very educational
So producing interesting projects on a new processor, without having to re-learn (too much) is really great.
Its definitely usable with say Geanie, bst and I think propellant - I'm still trying to work out what is going on behind the scenes.
I would like to use notepad++ but cant figure it out.
It would be nice to have the text editor, syntax testing, highlighting, formatting, assembler, terminal etc in one tool, a debugger would be the icing on the cake - but I have to say I've never used one (debugger), I usually find ways using the serial terminal, vga display, 'scope, (whatever is available / needed) to see what is going wrong
Anyway, I certainly hope this does not die, and even better is available for the prop2
Thanks Bean.... and any others that make this possible.
I look forward to working with Batang on an IDE, but would still like to get it into the "official" propeller IDE (I guess that is SimpleIDE now).
Terry, we'd like the same to occur, but we have only one engineer (Steve D.) working on Simple IDE. Our priorities right now are to (1) evolve SIDE for Learn.parallax.com's C educational program; and (2) integrate Spin/ASM support. I really don't know how the inside of SIDE works, and if it would be easy to support other languages in a plug-in kind of model.
One other alternative is that you consider a fork of SIDE for PropBASIC with Batang. I'm sure this could cause some consistency loss among the versions, among other issues, but could provide a familiar look and feel for people.
Just thinking out loud here, and I don't want to divert jazzed on a major project right now. He's got a summer full of work right now. . .I really don't like the development tool side of this business (grrrrr).
The last thing I want to do is discuss Forth on this forum, but I want to correct one error in your comment. It is true that Tachyon is very fast, and is a good implementation of machine Forth on the Prop. However, PropForth is not any faster than pfth, and in fact, pfth outperformed PropForth on the benchmarks that I tested. PropForth is neither a machine Forth nor an ANS-compliant Forth. I understand that most of the Forth world doesn't care about standards and portability, but it's crucial if you want to port large Forth applications with minimal changes.
My apologies Dave, I didn't realize the pfth had outperformed PropForth. And porting large Forth applications with minimal changes is another good value.
I just feel strongly that the Propeller needs a good interpreted language for some situations - Forth or Basic might both do well. For me, Forth is a lot of fun.
One other alternative is that you consider a fork of SIDE for PropBASIC with Batang
Hi Ken,
Whilst that was an idea I once considered we all have our paradigms about what a tool should do.
With that in mind I am putting in some features that will make this ideal to entry level users and these features would lead to significant feature creep from SIDE and thus a loss in consistency.
Case in point, pins can be defined with a pin editor rather than hand coded etc, see included image.
Anyway I am about 75% complete and plan to have a beta release in the next couple of weeks (subject to commercial work load of course).
Anyway prior to that I will start a thread related to it with a feature list in the next days.
Never underestimate Basic, still around in many forms today.
I could never understand why it was never introduced along with the prop as either interpreted or compiled to native binary.
I would have thought that this was a logical path from the Basic Stamp, and while there are many who love/hate Spin this introduced an unnecessary learning curve as most have some knowledge of Basic.
Just from a business and marketing standpoint forgetting for the moment the technical stuff, language wars, etc., one can make that argument, though it's mostly an academic one now.
With that in mind I am in the process of making an IDE for PropBasic which is in my opinion is a brilliant solution and a pity it has not received some official recondition.
As discussed with Bean the IDE will provide what I hope will be exiting features that will provide an enjoyable and productive coding experience.
Cheers.
I look forward to seeing the end result. Good luck!
Whilst that was an idea I once considered we all have our paradigms about what a tool should do.
With that in mind I am putting in some features that will make this ideal to entry level users and these features would lead to significant feature creep from SIDE and thus a loss in consistency.
Case in point, pins can be defined with a pin editor rather than hand coded etc, see included image.
Anyway I am about 75% complete and plan to have a beta release in the next couple of weeks (subject to commercial work load of course).
Anyway prior to that I will start a thread related to it with a feature list in the next days.
Anyway I am about 75% complete and plan to have a beta release in the next couple of weeks (subject to commercial work load of course).
What you shared looks really nice, and I didn't realize you'd been making such progress. The interface looks fantastic, and I concur that no single tool can effectively serve all languages and customers.
In the past, Parallax had a very successful relationship with Terry around SX BASIC. We distributed this as part of our SX-Key IDE for several years and it enabled a number of customers to quickly achieve their projects.
I'm also a fan of BASIC, and I'm not about to put that language to bed once and for all. I've volunteered for the last year at a middle school and high school, and I have seen many reasons to use the BASIC Stamp as a first introduction to microcontrollers. I haven't used PropBASIC yet, and now I'm learning C. As soon as I understand enough about one language to use it, it seems there's another one.
If there's a place you can point me to learn about PropBASIC (maybe this thread?) I'd enjoy that. I don't know your plans for supporting Mac, for example. And are you using Roy's compiler? These details could make a PropBASIC interface very popular.
If there's anything we can do from here to help you just let it be known.
The last thing I want to do is discuss Forth on this forum, but I want to correct one error in your comment. It is true that Tachyon is very fast, and is a good implementation of machine Forth on the Prop. However, PropForth is not any faster than pfth, and in fact, pfth outperformed PropForth on the benchmarks that I tested. PropForth is neither a machine Forth nor an ANS-compliant Forth. I understand that most of the Forth world doesn't care about standards and portability, but it's crucial if you want to port large Forth applications with minimal changes.
I'll chime in long enough to say that this agrees with my experience. While I never used pfth, I have experimented with both PropForth and TACHYON. PropForth seems closer to a "standard" Forth (ie, what you find in texts like "Starting Forth" and "The Complete Forth") but is not very fast, rather slow in fact. TACHYON, on the other hand, deviates quite a bit more but is blazing fast. I see PropForth as more of a learning tool and TACHYON more as something for getting work done in a Forth-like, interpreted environment. Of course, it's not all one way or the other, and you could use each for the other purpose, with some restrictions.
I imagine that Forth developers more concerned with things like standards and portability are using SwiftX or MPE Forth.
The Pin labels (label that defines the pin function name in code) can be viewed as a graphic with the chip outline (all packages).
This graphic can be printed or saved as an image.
When you define a Pin label in the editor the label is reflected in the graphic, I may add color to the graphic pins to show pins defined as inputs or outputs.
Very cool! Keep this up and people will want THEIR favorite language in YOUR editor!!
I'm language agnostic since I can't use any effectively. Your sneak peaks are very impressive and the little time I played with PropBasic were also impressive and rewarding!
The Pin labels (label that defines the pin function name in code) can be viewed as a graphic with the chip outline (all packages).
This graphic can be printed or saved as an image.
When you define a Pin label in the editor the label is reflected in the graphic, I may add color to the graphic pins to show pins defined as inputs or outputs.
Cheers
These snapshots look very nice. Will this be a cross-platform IDE or will it be tied to Windows?
Sweet. What about drag-n-drop peripherals? The idea is to define device drivers and pin connections for the given language. The community provided some ICONs here.
Ken
I can't believe you mentioned "BASIC Stamp 3" !!!! LOL
You just started the rumor mill. Be prepared...
Ken, how do you feel about an updated version of PropBasic that makes it easier to write programs, but who's output does not help learn PASM ?
That is what will happen if I implement expression evaluation. You will be able to use more than one math operator on a line, also you can use math operators with the commands. But users will not really be able to learn from the compiler output.
Ken
I can't believe you mentioned "BASIC Stamp 3" !!!! LOL
You just started the rumor mill. Be prepared...
Ken, how do you feel about an updated version of PropBasic that makes it easier to write programs, but who's output does not help learn PASM ?
That is what will happen if I implement expression evaluation. You will be able to use more than one math operator on a line, also you can use math operators with the commands. But users will not really be able to learn from the compiler output.
Bean
I feel very good about such an idea. If you're using BASIC, like many of our customers, then you are using it because you don't want to use PASM. Perhaps you want to learn PASM, but that's not the primary reason to use BASIC and wouldn't be a requirement if you asked me this question before you lead me to a possible reply. If I choose BASIC I'm doing it to get the job done quickly, to share the Propeller with people who use the BASIC Stamp, but not to learn PASM. For learning PASM the resources have recently grown - Harprit's book, JonnyMac's columns and our reference material is starting to fill in the missing pieces.
I'm sure that on these forums you will get a different answer than the one I provided above, which is to use BASIC because you like it, because it's quick to code, or because you know it. Crowd-sourcing a feature set among the talented people on this discussion forum would inevitably lead to making "seeing and learning PASM" as a requirement. But would they be the primary users, or are they interested in pushing every tool to a state of penultimate usefulness in speed, capability and functionality? Engineers can't resist the vast possibilities that can be added for free sometimes. 80:20 rule applies here, especially if that 20% creates lots of engineering work.
It could be a very useful bridge from PBASIC to move a customer from BASIC Stamps to Propeller. But you need to look at the C tutorials we're putting out, too.
First thought that comes to mind are the middle school students I instruct in programming. I think the C examples with hamburger buns (braces) and syntax might be a bit thick for them at this early stage, but BASIC could be very easy for them after their session on PBASIC with LEDs, motors, and a sensor.
Thinking out loud can get me in trouble, but here's another thought. Imagine seeing the C tutorials have with side-by-side BASIC accompanying code examples (or PASM, or?). I'm nowhere near bringing this up internally at this stage, but I wouldn't rule out us having some involvement one way or another in supporting a BASIC Propeller language. I don't want us drawing lines in the sand about what we support or recognize, and would be happy to host the tools, compilers, examples on our site. How to remunerate the developers might be another story until we have a successful P2 fab push, but we're open in this way.
Was there an answer to the operating system questions posed to Batang?
The next SPIN may well have inline PASM capability if Chip's latest comments on it are any indication. That will prove to be a great way to learn PASM in small snippets.
Comments
pfth is an ANSI compliant Forth. While it can be demonstrated to work on the Propeller, it seems that it bogs down a bit. Dave Hein did a lot to optimize it in PASM. But TachyonForth and PropForth focus less on a compliant Forth, and more on getting the performance that the Propeller is capable of delivering.
I suspect there is a similar tug of war going on in Basic.
The bottomline is that anyone that uses the Propeller 1 or 2 needs to accept learning what it is... regardless of what language they program in.
I could never understand why it was never introduced along with the prop as either interpreted or compiled to native binary.
I would have thought that this was a logical path from the Basic Stamp, and while there are many who love/hate Spin this introduced an unnecessary learning curve as most have some knowledge of Basic.
Anyway those are my thoughts, agree/disagree as you will.
With that in mind I am in the process of making an IDE for PropBasic which is in my opinion is a brilliant solution and a pity it has not received some official recondition.
As discussed with Bean the IDE will provide what I hope will be exiting features that will provide an enjoyable and productive coding experience.
Cheers.
Can you clarify what an IDE for PropBasic means exactly, as IDE can mean many things.
To some, it is an editor, maybe with Syntax highlighting, and some batch calls.
To others it can include a full language simulator, with watch variables, and download and even ICE features...
It could be worth taking a look at ?
http://www.freebasic.net/forum/viewforum.php?f=8
Of course BASIC has grown up over the years and aquired features from proper languages. And there are BASIC compilers to get away from the tediously slow interpreters of years gone by.
I think the biggest contribution to computing by BASIC was the fact that smart Smile schoolboys could walk into a shop and type a two line program into a C64 or whatever was on display that printed out some obscene message in an endless loop. Then have fits and giggles watching people as they noticed it. Some of those smart arses then got hooked on computing and programming.
I my case it was TRS80's
Cheers
I can only say wait and see at this time.
Cheers
I believe Propbasic deserves more attention.
Massimo
For me, Nascom, UK101, Triton, Research machines, later BBC Micro....
Dave
I use FreeBasic and FBIDE and it is wonderful but..
Here again (in the above forum) is an example of a person 'SARG' developing software and having as far as I can see, a vocal user base of about six? I might be wrong but it always seemed to be the same few who interacted with SARG to find bugs etc. And he practically had to beg after 7 years development to have it made into a 'sticky'.
I wonder if we are vocal enough in showing our appreciation of these stalwarts of the free tool providers.
Take Beans work - tirelessly striving to give people like me a simple entry to the prop and really - what thanks does he get?
Thanks to Propbasic, I've dusted off my Chameleon and used it in anger for the first time in the eighteen months or so that I've had it, because learning yet another way of writing uselful code was beginning to hurt. I think struggling with the 'sintax' of 'C' (arduino) was the last straw.. having multiple ways of doing the same think fizzing in my brain and trying to decide which to use is just too much. I have to say I do admire those people who can real off eight or nine languages that they use - I'm not one!
PropBasic ts a great learning tool
eg take Beans VGA.lib - written in PropBasic
' This code generates 320x240 pixel (40x30 text) 4 color VGA display
soooo easy to read - like pseudo code
no white space
nicely aligned
commented where needed
kids stuff - and I'm a big kid I admit it......
look at the pasm it produces..... often not too different.... very educational
So producing interesting projects on a new processor, without having to re-learn (too much) is really great.
Its definitely usable with say Geanie, bst and I think propellant - I'm still trying to work out what is going on behind the scenes.
I would like to use notepad++ but cant figure it out.
It would be nice to have the text editor, syntax testing, highlighting, formatting, assembler, terminal etc in one tool, a debugger would be the icing on the cake - but I have to say I've never used one (debugger), I usually find ways using the serial terminal, vga display, 'scope, (whatever is available / needed) to see what is going wrong
Anyway, I certainly hope this does not die, and even better is available for the prop2
Thanks Bean.... and any others that make this possible.
Dave
Terry, we'd like the same to occur, but we have only one engineer (Steve D.) working on Simple IDE. Our priorities right now are to (1) evolve SIDE for Learn.parallax.com's C educational program; and (2) integrate Spin/ASM support. I really don't know how the inside of SIDE works, and if it would be easy to support other languages in a plug-in kind of model.
One other alternative is that you consider a fork of SIDE for PropBASIC with Batang. I'm sure this could cause some consistency loss among the versions, among other issues, but could provide a familiar look and feel for people.
Just thinking out loud here, and I don't want to divert jazzed on a major project right now. He's got a summer full of work right now. . .I really don't like the development tool side of this business (grrrrr).
Ken Gracey
My apologies Dave, I didn't realize the pfth had outperformed PropForth. And porting large Forth applications with minimal changes is another good value.
I just feel strongly that the Propeller needs a good interpreted language for some situations - Forth or Basic might both do well. For me, Forth is a lot of fun.
Hi Ken,
Whilst that was an idea I once considered we all have our paradigms about what a tool should do.
With that in mind I am putting in some features that will make this ideal to entry level users and these features would lead to significant feature creep from SIDE and thus a loss in consistency.
Case in point, pins can be defined with a pin editor rather than hand coded etc, see included image.
Anyway I am about 75% complete and plan to have a beta release in the next couple of weeks (subject to commercial work load of course).
Anyway prior to that I will start a thread related to it with a feature list in the next days.
Cheers
I look forward to seeing the end result. Good luck!
What you shared looks really nice, and I didn't realize you'd been making such progress. The interface looks fantastic, and I concur that no single tool can effectively serve all languages and customers.
In the past, Parallax had a very successful relationship with Terry around SX BASIC. We distributed this as part of our SX-Key IDE for several years and it enabled a number of customers to quickly achieve their projects.
I'm also a fan of BASIC, and I'm not about to put that language to bed once and for all. I've volunteered for the last year at a middle school and high school, and I have seen many reasons to use the BASIC Stamp as a first introduction to microcontrollers. I haven't used PropBASIC yet, and now I'm learning C. As soon as I understand enough about one language to use it, it seems there's another one.
If there's a place you can point me to learn about PropBASIC (maybe this thread?) I'd enjoy that. I don't know your plans for supporting Mac, for example. And are you using Roy's compiler? These details could make a PropBASIC interface very popular.
If there's anything we can do from here to help you just let it be known.
Ken Gracey
I imagine that Forth developers more concerned with things like standards and portability are using SwiftX or MPE Forth.
The Pin labels (label that defines the pin function name in code) can be viewed as a graphic with the chip outline (all packages).
This graphic can be printed or saved as an image.
When you define a Pin label in the editor the label is reflected in the graphic, I may add color to the graphic pins to show pins defined as inputs or outputs.
Cheers
I'm language agnostic since I can't use any effectively. Your sneak peaks are very impressive and the little time I played with PropBasic were also impressive and rewarding!
Sweet. What about drag-n-drop peripherals? The idea is to define device drivers and pin connections for the given language. The community provided some ICONs here.
Here is a more recent thread discussing a stand-alone editor. Such an editor could produce a source file for a given language and methodology regardless of the development environment.
Best regards.
--Steve
Agreed with others - very nice. Have the same questions as others about support for Mac/Linux platforms.
BASIC Stamp 3?
Ken
I can't believe you mentioned "BASIC Stamp 3" !!!! LOL
You just started the rumor mill. Be prepared...
Ken, how do you feel about an updated version of PropBasic that makes it easier to write programs, but who's output does not help learn PASM ?
That is what will happen if I implement expression evaluation. You will be able to use more than one math operator on a line, also you can use math operators with the commands. But users will not really be able to learn from the compiler output.
Bean
I feel very good about such an idea. If you're using BASIC, like many of our customers, then you are using it because you don't want to use PASM. Perhaps you want to learn PASM, but that's not the primary reason to use BASIC and wouldn't be a requirement if you asked me this question before you lead me to a possible reply. If I choose BASIC I'm doing it to get the job done quickly, to share the Propeller with people who use the BASIC Stamp, but not to learn PASM. For learning PASM the resources have recently grown - Harprit's book, JonnyMac's columns and our reference material is starting to fill in the missing pieces.
I'm sure that on these forums you will get a different answer than the one I provided above, which is to use BASIC because you like it, because it's quick to code, or because you know it. Crowd-sourcing a feature set among the talented people on this discussion forum would inevitably lead to making "seeing and learning PASM" as a requirement. But would they be the primary users, or are they interested in pushing every tool to a state of penultimate usefulness in speed, capability and functionality? Engineers can't resist the vast possibilities that can be added for free sometimes. 80:20 rule applies here, especially if that 20% creates lots of engineering work.
It could be a very useful bridge from PBASIC to move a customer from BASIC Stamps to Propeller. But you need to look at the C tutorials we're putting out, too.
First thought that comes to mind are the middle school students I instruct in programming. I think the C examples with hamburger buns (braces) and syntax might be a bit thick for them at this early stage, but BASIC could be very easy for them after their session on PBASIC with LEDs, motors, and a sensor.
Thinking out loud can get me in trouble, but here's another thought. Imagine seeing the C tutorials have with side-by-side BASIC accompanying code examples (or PASM, or?). I'm nowhere near bringing this up internally at this stage, but I wouldn't rule out us having some involvement one way or another in supporting a BASIC Propeller language. I don't want us drawing lines in the sand about what we support or recognize, and would be happy to host the tools, compilers, examples on our site. How to remunerate the developers might be another story until we have a successful P2 fab push, but we're open in this way.
Was there an answer to the operating system questions posed to Batang?
The next SPIN may well have inline PASM capability if Chip's latest comments on it are any indication. That will prove to be a great way to learn PASM in small snippets.