Oh no, my school is going to teach MS SmallBasic!

I started a Python programming club in my school, but then I was horrified to hear that the school is thinking about becoming a Microsoft academy and wants to use SmallBasic to deiver the programming bit of its GCSE Computer Science course.

It seems silly to teach a language that won't run on the RPi when there are lots of Open Source languages that they could use.

Has anyone actually tested it? I (briefly) looked into it and wouldn"t really be a good option with our security as it opens a command prompt and creates and executes a random .exe file. Of course you can get round that with disconnected admin access machines, dual boot or virtual xp ...

Personally I think that the whole thing is being looked at in the wrong way. Back in the day Basic was a real language found on most computers both home and business, many a school kid went on to use and program games and other software that then lead them on to more advanced things. What kept them interested is they could make something that was useful, something that they could share with their friends.

Today basic is not used for anything, giving kids a 'educational' programming environment that is not used in real life is not going to lead to an ongoing interest. I would rather see HTML5 and Javascript used as it is something that is used in the real world, it means that kids can make something that they can share with everyone, it can be shared put on-line, shared on facebook and will work on their Raspberry Pi, home PC, smartphone and just about anything that has a modern browser. It has none of the security issues of languages that give access to the lower levels of the OS. For those children that want to go further and start experimenting at the lower levels then the Raspberry Pi is an excellent option as they can mess with it and break it and not cause headaches for the teaching staff.

Yes Yes, I know people will argue that whatever programming language that is used will teach the basic understanding of the logical paths in programming but that doesn't mean that any language is as good as another. I learnt to programme on Sinclair basic and had to unlearn the whole idea of line numbers and the like when moving to languages like C and more recently having to drop the procedural programming methodology completely in favour of object orientation and the separation of logic from interface with an MVC model. At least something like HTML5, CSS, Javascript starts off with the idea that the layout is done in CSS and the functionality is performed in javascript.

"basic is not used for anything". . .I think you need to take a reality check. Just because is not flavour of the month doesn"t mean its disappeared. . . If nothing else its alive and well as vba in ms office.

Personally I think that the whole thing is being looked at in the wrong way. Back in the day Basic was a real language found on most computers both home and business, many a school kid went on to use and program games and other software that then lead them on to more advanced things. What kept them interested is they could make something that was useful, something that they could share with their friends.

But I learned BASIC in school before it was used for anything. It was a pure teaching language. It was also probably less powerful than this SmallBasic. One statement per line, only GOSUBs and GOTOs, no WHILE, no string functions.

My argument in favour of Python is that BASIC does not teach the more advanced data structures, and may not teach proper object orientation. But unlike in my day, it does now teach structured programming.

So while I had to relearn a lot when I got to university and encountered Pascal (another pure teaching language at the time), BASIC was still a worthwhile thing to learn, and it would be more worthwhile now than it was then.

Smallbasic also appears to be free as in beer, so kids can use it at home and share it with their friends, albeit on their Microsoft Windows PCs.

In the fall of 1977 you rented Financial Modeling Language Time on Mainframes over dialup phone lines using keyboard/printer terminals (like the Decwriter). This was expensive.

Then the Altair 8080b came out on the CPM operating system with Altair Basic (which was written by Paul Allen and Bill Gates) . With this one could write financial models that helped float Hospital Revenue Bonds. You had floppy drives. You had keyboard input. You had printer output. You had a CPU with program memory that ran program logic.

If you knew how to manually calculate the Financial model and you knew how to program in Basic then you could produce the Financial model for thousands of dollars less than using the time sharing system.

Now change history and give me Python as the language (assuming it could even run on the Altair 8080b -- which it would not). I still have to know how to write the Financial Model. I still have to know what variables are ... how to get input from the keyboard and from the files on the floppy disk into the variables... how to produce and format the output.

I could write that program in any number of languages today; but the output would look the same. 5x3 is still 15.

Learning to program is also about learning about files, key events and mouse events and sensor and network events and screen pixel control and.....

"Today basic is not used for anything, giving kids a 'educational' programming environment that is not used in real life is not going to lead to an ongoing interest."

BASIC is used by many people, for many things. My own BASIC is used by countless people, and our user forum has more than 5 thousand members.

I don't even think it's necessarily a good idea to teach a popular languages to kids unless that language is fun and interactive. I was offended when my local high school programming teacher proudly explained that he was using a college course to teach Java, and then he had the nerve to say that "they wouldn't be able to cover enough material for the students to do anything interesting." What a waste. BASIC certainly would have been better than Java in that case.

So, teach them BASIC, and Python, and Forth, and so on. But make it fun.

I've used SmallBasic for the last two years to teach programming in high school. It works fine. It's free. Most of my students don't have electricity at home. Less than 10% have computers. So, my first challenge was just teaching basic keyboarding skills. We started with a typing program and Scratch. We added SmallBasic and GameMaker 8.1. We've had a lot of fun along the way.

SmallBasic is the 'gateway drug' to Visual Studio. I won't ever have time to teach VS, my job is actually to teach sciences. But, before my life in Haiti, I was a VB6 guy. Most of my students will never go to college, but I want to share the joy of programming with them. I don't have a classroom budget, so free is good. I also have very little time, so I'm not in a position to 'try it until I figure it out' like I used to be. I'm loving the idea of Python on Pi, but until the setup/configuration of even the environment (path variables? really?) gets distilled down to the shiny and 'ready to go' stage teachers are still gone lean toward products like SmallBasic. It's useful for teaching the basics AND it's easy to setup/maintain and it doesn't look intimidating to students.

SmallBasic hasn't had an update since July of 2011 and that more than anything else worries me as a teacher. I NEED the strong and active Pi community to make teaching Python on the Pi possible.

sabridges wrote:I also have very little time, so I'm not in a position to 'try it until I figure it out' like I used to be. I'm loving the idea of Python on Pi, but until the setup/configuration of even the environment (path variables? really?) gets distilled down to the shiny and 'ready to go' stage teachers are still gone lean toward products like SmallBasic.

I last edited the path variable on my Windows PC a week ago, and I've been on holiday for a week.The Pi will get the sort of support you need. At the moment it's looking a bit scary because you are looking at the first rough draft. When you teachers get your input into the process and work is done to implement what you need, then it will get much less confusing.My father was a builder, so I am used to seeing houses in various states of being built or being extended or re-modelled. It quite surprised me to realise that many people are rather disturbed to see their homes with the floor boards removed or with holes in the walls and exposed brickwork. The Raspberry Pi is in a similar state now; all the major work has been done, but we are waiting for the last few parts that the builder's merchant has on order, and we're waiting for the home-owner to choose the lights and decide where he wants the sockets, so we're not quite ready to put the floor-boards back and finish the plastering. At the moment, to the untrained eye, it looks a bit of a mess, but to the trained eye, almost everything is in place and the job can be finished up very quickly and very simply.

If i were you i will be happy that the school will teach you MS smallbasic, Ive been in MIS / IT department for 6 years and honestly we use MS as our main software but there are some instances that LINUX , python and some open source system always solve our problem. i suggest never afraid of MS rather take it a challenge, but never stop believing in the power of the open source