Today's Small Basic Interview is with LitDev! I've gotten a lot of requests to interview Steve, so here we are! He is a Microsoft Community Contributor (MCC). LitDev is the primary moderator of the Small Basic forums. He hosts the Challenges of the Month. Here's the list of blog posts that have featured his challenges. Here is an example of the monthly challenges: the December Challenge forum thread. LitDev has also pinged me to get more support in moderating the forums, and his efforts ultimately led me to help out in this community.
Let's get started with the interview...
Who are you, where are you, and what do you do? What programming languages do you use?
I am Steve and live in Scotland. I work in the capital city Edinburgh for a small software company that develops software for the oil and gas industry.
The program I develop is used to model fluid flow under the ground. In addition to the flow of water, oil and gas in the rocks and wells, it models the effects of temperature, chemistry and geo-mechanics. As oil is produced the pressure falls and often water is injected to maintain the pressure. The injected water will usually be at a lower temperature and have different chemistry and may contain other chemicals like polymers, which together can affect the way the oil is produced. The work is very varied with lots of different physics, chemistry and mathematics which are my main interests. Programming is just one of the tools we can use to help understand how different physical processes interact.
Most of the calculations are done using Fortran which is not so different to Small Basic, but good for large mathematical problems where speed is important. I also use C++ for the interface and some C#. I have a basic knowledge of other languages, but the principals are much the same; so when you know one, others are easy to use.
I have 3 children and 2 of them are 11 and 12, the perfect age for Small Basic.
Tell us about your history with Small Basic. How did you learn about it? What have you learned? How has it helped you grow?
I first came across Small Basic nearly 4 years ago when there was a small advert for it in Visual Studio when it was in fairly early stages of development (Version 0.2 I think) by Vijaye Raji at Microsoft.
I first started programming when I was about 14 using a Sinclair Spectrum computer in the early 1980s and Small Basic immediately reminded me of the fun I had then trying to get the most out of a fairly simple machine and programming language.
I really liked the idea of a proper language that was simple to get started with and could provide the environment for a new generation to experience the fun I had when I was young. I also saw it as an ideal way to lead new programmers into the larger and more complex languages available today. Because Small Basic is actually quite slow it requires programmers to create efficient and well-structured programs. To get the most out of it you need to work quite hard and have a good understanding of how it works; for me this is a plus and reminds me of the challenges of working with early computers.
I got a lot of satisfaction writing small programs with Small Basic and trying to get it to do new things as well as helping new programmers and encouraging their enthusiasm, as well as my own children. The imagination and dedication of users inspired me to help out as much as I could.
What is Small Basic for? Who is it for?
Small Basic is for anyone (young or old) who is just interested in 'how it works'. I think that there is so much technology that we use every day, and most people have very little idea how it works, and have no idea how much imagination is required and how much satisfaction can come from being creative with computers.
I think it is particularly important that children get the opportunity to learn something about a very important part of how our society works. Even if they don't become programmers, they should have an opportunity to see how imaginative and fun it can be not just using technology, but knowing how it works. This includes programming, but also physics and mathematics.
On what Small Basic programs and extensions have you collaborated with other community members? What was that experience like?
I especially like some forum questions where there is a series of questions and replies over a period of time on the same topic. Sometimes they have been programming questions and sometimes physics type questions. Trying to understand what someone is thinking and trying to explain in different ways how to approach a problem is the most satisfying. This is especially true when it is a user that has been around for a while and you get to know them a bit, and you can see their skills and knowledge increasing.
What are your favorite Small Basic programs?
My favourite programs are those that surprise me. Sometimes they are just a full working program 'out of the blue' like SokoCute which is probably the most polished program ever written in SmallBasic, or just an imaginative use of some feature. Recent examples include some of the graphical challenges recently by Nonki Takahashi and NaochanON.
I also like programs that look like they should work but don't with strange or obscure bugs I haven't seen before. Even more rarely there are programs that look like they shouldn't work but do, I remember one where the Timer Event was used to effectively create a multi-threaded parallel program for sorting numbers!
Basically I like little puzzles and the Small Basic forum users give me a constant supply of these.
What are your favorite Small Basic extensions?
My favourite extension is the Fremy extension. There is so much interesting stuff in it. Originally it was open source and gave a lot of insight into how Small Basic could be interacted with in interesting ways. Its methods are quite advanced and not so well documented, but there are so many possibilities opened by it.
Recently there has also been a crop of new extensions which show that people are thinking beyond Small Basic which I think is important. I see Small Basic as just the starting point or 'stepping-stone' to experimenting with other languages which could be too intimidating and hard to start without first getting the basics with Small Basic.
Who has impressed you in the Small Basic community, and why?
Over the years several programmers have impressed with their imagination and it is satisfying to see them develop and move on. I am particularly impressed by some of the younger developers - there have been many, but the current crop of 10-13 year olds is exceptional.
Also the Small Basic community is very interactive and most help answer and show their projects as well as asking questions.
What can people do to help get Small Basic into educational systems?
The main problem is that teachers don't know about it, so let them know. Learn a little and show them what you have done.
Most schools seem to use Scratch and Kodu. While these are fine programs, for me they try to get children's attention by very rapid development of pretty graphics by fitting bits of a jig-saw together. When I started programming it was the ability to create something out of nothing and understand how the whole thing worked that I enjoyed. It isn't really the end product, but the process of using imagination and developing skills to do it that is really where the fun is. Small Basic captures this aspect perfectly.
One last thought, girls don't seem to be as attracted to programming as boys, so perhaps there is more that could be done here - maybe interview a female next time.
Please ask LitDev any additional questions in the comments below!
- Tall Basic Ed