Choosing to learn with the Propeller vs Basic Stamp
W9GFO
Posts: 4,010
I think the Propeller is going to be attracting more and more beginners. It is not uncommon to read a post where someone describes what they want to do then asks if the Basic Stamp is appropriate. Much of the time the response is that the Propeller is the way to go. I have moved away from the Basic Stamp because my goal is something that it cannot do. However, I certainly have not mastered PBasic. Never the less I have made a commitment to learning the Propeller. I chose the Propeller because I am impressed by and supportive of Parallax's educational philosophy. When researching microcontrollers I have found no one that even comes close to their level of dedication to making the world of programming and robotics accessible to the common person.
Everything that I have learned about computers, programming and robotics is self taught. That means zero time spent in computer science classes and zero time earning a living with anything to do with programming. This is not the case with many (most?) of you on the Propeller forum. I am happy to post my newbie questions here, but I wonder how the more experienced of you will feel about your forum being filled with beginner questions. At times it feels to me that there is an attitude of 'if you have to ask maybe you shouldn't be here'. Which is probably true in some cases, maybe my case. A Forum for people new to programming who chose the Propeller to learn on would be great in my opinion.
I predict that there will be a steady increase of Propeller newbie questions, largely because of people like myself.
Everything that I have learned about computers, programming and robotics is self taught. That means zero time spent in computer science classes and zero time earning a living with anything to do with programming. This is not the case with many (most?) of you on the Propeller forum. I am happy to post my newbie questions here, but I wonder how the more experienced of you will feel about your forum being filled with beginner questions. At times it feels to me that there is an attitude of 'if you have to ask maybe you shouldn't be here'. Which is probably true in some cases, maybe my case. A Forum for people new to programming who chose the Propeller to learn on would be great in my opinion.
I predict that there will be a steady increase of Propeller newbie questions, largely because of people like myself.
Comments
Radioshack has a new full-bore CEO. Christmas is just around the corner.
You're right, there will be more "newbie" questions. One of the things that happens a lot in all the forums (fora?) is that beginners ask the "how do I do?" question before they work through the examples and the tutorials, etc. It's really hard to slow down, slog through what seems to be watered down stuff that's too simple in what it does, then go back to whatever excited you in the first place. Doing just that makes a big difference and many of the "newbie" questions become answered. As we get more Education Kit tutorials and the first introductory texts are published, we'll be able to refer people to those. Perhaps we need a "sticky thread" with the title "IF YOU'RE NEW TO THE PROPELLER ... READ THIS FIRST!" and it discusses and links to what's already available for beginners. For the Stamps, there's already the Stamps in Class tutorials.
Mike
Too often however I have the impression that something is asked out of lazyness or an unmendable depth of ignorance. RTFM is the first thing that often comes to mind.
But I am aware that not everyone is able to buy e.g. And
When Pythagorus left Greece and started his community in Italy... the community had a rule... you couldn't speak for 5 years.
The problem with this approach is that by the time you construct your understanding you have already forgotten what is wrong with it.
I would agree... with "If you are new to the Propellr... try reading this first."
But what happens when they do that ... and just give up, because that isn't how their brains handle information?
Then we never hear from them.
Rich
The idea is for newcomers to "read this first". I would expect that the first message would generally describe what many people go through in learning a new thing like the Propeller (or Stamp or SX or ...) and how methodically learning the basics is very useful and, often in the long term, much more productive of time and energy than they might think ... followed by some suggested basics and where to find them. One of the statements in the "read this first" section would need to be some guidelines for using the forums like:
We're mostly volunteers here and this is done in our "spare time".
Be polite.
Say what you think you know and what you're trying to do.
Be sure to tell us what you've tried so far.
Don't expect much if you ask someone to do your work for you.
Our "job" is to help explain and clarify things, maybe give another way of looking at a problem.
Don't whine if you can possibly help it. It isn't seemly and most of us have no control over how things work.
Those that seem to have control over "things" often have much less control than you think they have.
Don't include long, complicated programs in your messages if you can possibly help it. My eyes cross just thinking about it.
... Either put them as an attachment or try to pare them down to their essentials.
The subject line is for a capsule summary of what the thread is about, use it appropriately ... pleas for help are counterproductive
... Most of us do this because we think we might be of some use to people here
... We've all struggled through learning at some point or another.
Post Edited (Mike Green) : 8/9/2007 6:16:41 PM GMT
And... I think what stops some from asking questions is that they feel like they don't know how... simple guidelines would encourage PROPer exchanges.
I know nothing about the Hydra book. I do know that the Hydra is of little interest to me because what I want to do with the Propeller is completely different.
A fear of reading and learning new things holds back many, myself included.
I'll have another look.
Graham
Collective memory can sometimes recall where the newby question in question has been answered specifically that is more helpful than reference to the manual or a FAQ in general and a lot easier than starting over. But I agree, it is a pleasure to help people who are genuinely interested in becoming self oriented but it is painful when, what did deSilva say, "something is asked out of lazyness or an unmendable depth of ignorance".
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com
We are not going to start a new forum, no bunny slopes·here, you have to learn to ski the double black diamond with the rest of us, and if you fall down we'll pick you back up.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Post Edited (Paul Baker (Parallax)) : 8/9/2007 8:21:14 PM GMT
Terry Pratchett, The Truth
back here to fix spelling, but adding this is irresistable tip:·Categorizing the forum's·questions/answers·can be this easy:
Pick and engage in the appropriate levels for you.
Post Edited (Fred Hawkins) : 8/11/2007 2:31:26 AM GMT
With the Prop we'd simply write the routines to do each and startup a new cog! 3 things at once, all done!
So much simplier,
Martin
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
StampPlot - GUI and Plotting, and XBee Wireless Adapters- Close out on Adapters!
Southern Illinois University Carbondale, Electronic Systems Technologies
That's a good point. With Stamps and SXs (and PICs and AVRs, etc.) we spend so much time and effort trying to make seemingly simple things happen and have to sometimes go through fits to make it work on a processor without enough memory or registers or where several things have to happen at the same time and we have to use interrupts or intersperse two functions (like reading sensors and outputting servo pulses every 20ms). With the Prop, there's enough memory for more things (never enough for everything) and different things can each have their own processor to do them (and the code can look like they're separate functions. There's also Spin which is high enough level to not worry about the idiosyncracies of the machine instructions, yet allows you to do almost anything you can do with assembly.
Mike
I feel similar wrt explaining computers. To the mases computers are just witchcraft! Convincing them it is not witchcraft is difficult. It does not help to show them how to control one or the other aspect themselves. They will just think: "Ah, now I am in command of witchcraft", still stumbling in front of the simplest issues.
But there are people understanding how a transistor works (a FET at least), and TTL gates. Alas, there is no direct road from transistors to the behavior of modern operating systems and high level script languages any longer. The Manchester MARK-1 would be the most perfect machine for education, despite its idiosyncratic code (it used self modifying code for sure )
The Propeller comes next!
Of course you have to leave out counters and video support for the elementary part, but all other features - including the instruction pipe (or what I think how it works at least) - can be expained and understood very close to basic electronics and logic!
For educational purposes even the Propeller's size restrictions are a good thing. There are always size restrictions. The earlier you learn to live with them , the better.
No, I was simply making a generalization why my gut tells me Sping is easier. I'd have no problem with people starting out in Spin if it makes things easier to understand the basics and do interesting things. In programming, the main concepts to get down are I/O, variables, conditionals along with the particular languages syntax and commands. Higher order concepts, such as arrays and such can come later. Starting simple but with excitement will surely draw more into the field and increase their confidence and minimizing frustration.
-Martin
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
StampPlot - GUI and Plotting, and XBee Wireless Adapters- Close out on Adapters!
Southern Illinois University Carbondale, Electronic Systems Technologies
Anybody interested in developing a good foundation in programming concepts should check it out. If you can approach your programming along the lines outlined above, you'll see a big move away from focusing on the low-level details to a much higher-level system-based approach.
The question is, what you want to learn.
When it is to create "good" programs, primarily concerned with algorithms, using microcontrollers certainly is not the first choice..
The only stupid question is usually the one you don't ask... i noticed about half the majority doesn't have a formal edu with respects to EE... and most that are EE's (even novice like myself) have some difficulty in one are or another with parallel proccesing, for me, the learning curve with the prop i believe is less than one with the BS2. I find it less difficult to make an object to do something of lower level, and have a higher level program control it, rather than what Mike was saying some posts ago about worrying about interupting your code to refresh a pulse to a servo. Stick with the prop! i'm about to begin tooling with prop ASM, i just may be able to understand that easier, who knows. But the whole parallel proccessing/object oriented programming seems alot less of a learning curve than serial programming. It's just alot less bug-riddled with the prop.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
E3 = Thought
http://folding.stanford.edu/·- Donating some CPU/GPU downtime just might lead to a cure for cancer! My team stats.
Be careful about generalizing about algorithms.· The Propeller is a microcontroller and is used for very different things than the typical mid-range controller (like those used in a router for example) or a laptop or desktop.· Timing is very important and fine control of bit-level I/O is often vital where these are often of little importance in non-controller applications.· In programming, the language should mirror the hardware·tools available and the types of applications, but add a level of abstraction that helps in implementing reliable, understandable software.· Spin is not an ideal tool nor is C or some Pascal variants, but they're better than Lisp or Smalltalk for this type of platform even though there have been implementations of both for small platforms like the PalmOS.
Edit:
The background for my remark was: You should not expect to enter the "king's road" to computer science by using a Propeller! It has advantages and drawbacks.
In education it is most important to ask "How can we catch the attention of the students and keep up their interest?" So "hands-on electronics" is fine! However it will leave the too co-operating teacher with playing children!
In the long run, you have to learn calculus, configuration management, "sorting and searching", computing worst case timing behaviour, consider temperature, longevity, and power consumption....
You can stay playing of course...
Post Edited (deSilva) : 8/11/2007 10:39:06 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
E3 = Thought
http://folding.stanford.edu/·- Donating some CPU/GPU downtime just might lead to a cure for cancer! My team stats.
While I agree that these are programming concepts that need to be learned, I think that many times they are taught in the wrong context. In other words, they are taught in such a way that people consider them to be the end goal in learning to program, but they aren't.
I guess the best analogy that I can think of is that of block diagrams vs. schematics. Block diagrams are simply higher level abstractions of the same system represented by the schematics. However, each gives a different view of the system, and if you could "peer" into a block (say power supply), you would see the lower-level interctions of the individual components.
So how does this fit in with Spin? Basically, Spin objects are the equivalent of the diagram block. When you are designing a Spin-based software "system" (aka "program"), you can think of it in terms of object interactions. When you peer into (or create) the individual objects, you can think of them in terms of the loops and syntax contained therein.
The same applies to any language that allows you create such abstractions - even PBasic provides subroutines. Not every language allows the same richness of abstractability, but my main point is that the overall concepts here are applicable to the smallest or largest system. And while a microcontroller won't prepare somebody to be a Windows/Unix/Mainframe software developer, it's still the same concepts. I'm fairly certain that the Propeller can do stuff that the pioneers of computer science couldn't come close to doing on the platforms they were using.