There’s always something to think about in the world of Small Basic and one topic likely to emerge is ‘How Long should I use Small Basic before taking on a Big language?’
It’s a subjective topic and certainly depends on the individual’s outlook and objectives. None the less the question was asked, thoughts were exchanged and here’s a list.
If your objectives include using it as an introductory language to programming with a view to learn larger languages then these thoughts maybe helpful.
Before leaping into a BIG language:
Qualitative Consideration
Before leaping into a BIG language you will benefit from finding out about, using properly, and developing a good understanding of:
- Statements, comments and Readability
- Objects, operations and properties
- Variables and constants
- Branching – conditional and discretionary
- For, If Else ElseIf, While, Goto and Calling
- Iteration and Loops
- Asynchronous Events, Handlers and Callbacks
- User input and interaction
- Arrays and Stacks
- File input and output, local and remote
- String Manipulation
- Animate Sprites and Collision detection
- Incremental Development, Testing and Software Build
- Testing and debugging
- Designing and some high level planning
- Structure, Optimisation and Reusable code
You could also explore a bit of:
- Parallel Programming, Security and Focus
These concepts are used in other languages. Small Basic gives you a great opportunity to understand them.
Quantitative Consideration
It would be negligent to say chronologically how long you should stay exclusively with SB. Critical thinking and an innovative learning map on your part might be suitable here.
Maybe as long as it takes to check all these boxes off? Maybe this is too many boxes?
The following list could help derive a personal time-line:
- Finish working through the Curriculum
- Study some wiki’s that are relevant to you
- Be competent to Solve the Monthly Challenges
- And be able to answer a good proportion of forum questions.
My story is I’ve just spent 1yr and 4 months learning about this stuff and really enjoyed it. I’ve also just started to learn C#, dividing my time 75% C# and 25% SB.
When leaping into a BIG language:
Take a Horse and Cart
My approach to this is to begin learning the language and while learning that language you learn how to program with it. This is always consciously putting the horse before the cart. The 2 move in tandem but you always learn language features before you learn how to program with them. This could be debated semantically on the principle of learning by doing but that would obscure the point.
The Point is
This can be a useful approach as it’s easy to expect that once you’ve become proficient with SB then you can jump into a larger language and start producing similar programs with as much ease.
Not the case! It’s a new and bigger language that may take a different approach to doing the things mentioned above.
This methodical approach may protect your morale against the frustrations that can result from an expectant approach.
Take a Bit of SB with you before you go
Learning to approach programming can be a big take away from SB as well. You’ve learnt how to learn a language and how to program with it. So do the same just be aware that the Big language has lots more stuff to learn.
Take your Social A-Game
One other very important feature of the SB project is Social. It’s a welcoming community style environment to learn how talk with other programmers, share your code and collaborate.
Social Media can be confronting at times but hopefully being among fellow beginners and enthusiasts this is minimised and a useful skill can be learnt and developed.
If you do take a social slap and your feathers get ruffled sometimes stepping back and observing the behaviour of others can help, or take a break. The
community does its best to be supportive and to foster a civilised environment.
To Recap
So there’s plenty you can think about as you determine and approach graduation. Getting a checklist together can be helpful. There are some core concepts that are common to programming and SB makes learning them as easy as can be.
Goal kicking is fun. A personalised timeline could be derived using quantitative considerations.
Learning how to approach programming scenarios, including how to learn a new language, is also a great take away from SB.
Finally, this blog post is a subjective analysis. By no means exhaustive or absolute. If you have any questions or thoughts you want share on this then you can always leave a comment or visit the forum.
Thank you to:
GoToLoop, Nonki Takahashi and outbyone for sharing their thoughts on this topic on this forum thread: how-long-should-i-use-small-basic-as-a-learning-language It’s worth a look because some great points were raised that aren’t covered here. This post does not attempt to express their thoughts.