Small Basic Interview - Liam McSherry (C#, C++, D, & Small Basic)

Welcome to our first interview where we interview folks from the Small Basic community! We're starting with the winner of our contest to write Small Basic articles on TechNet Wiki.

Liam's Profile

Liam McSherry's avatar


Who are you, where are you, and what do you do? What programming languages do you use?

Well, my name is Liam McSherry. I live in Edinburgh, Scotland, near the city centre. I am a programmer and web designer, although a lot of the software I write is never released (I have fairly high standards for my own software).

At the moment, I use C#, C++, and D as my programming languages of choice. However, I do have experience in a wider variety of languages. From memory, these are Python, Ruby, F#, C, PHP, JavaScript, Visual Basic 5, x86 Assembly, and Java.


Tell us about your history with Small Basic. How did you learn about it? What have you learned? How has it helped you grow?

Where I saw Small Basic, I cannot remember. However, at the time I had no experience in programming, and Small Basic seemed as good as place as any to start. I did so, and found it a nice way to ease into more complicated languages.

I quickly progressed on to the more mature languages, first trying Java and finding it not entirely to my liking, but then finding C#. While the two are similar, C# just felt better to me, so I looked things up about it, found resources for it, and taught myself the language.

While I still use C#, I have also "broadened my horizons," so to speak, to the aforementioned languages above.

Small Basic helped me because it helped an interest in how computers work grow, and taught me some basic concepts of programming that did make it easier to move on to more advanced languages. I would recommend it to anyone who wants to get started.


What are your Small Basic projects right now?

At the moment, I have few Small Basic projects. While I could use the language if I needed to, I seldom program in it.

Current Small Basic projects would be the extension I wrote at the start of October (I still need to update that), and the extension manager I proposed to the community. The latter of which is in a prototype state, but I have put it on hold due to a lack of interest by extension developers.


What is Small Basic for? Who is it for?

Small Basic, as you would expect, is a rather basic language. However, this should not discourage those who are looking into it. In my opinion, it is a great tool for teaching the basics of programming.

It is simple enough for almost anyone to understand, while allowing for a fairly powerful application if you really get into it. As well as this, it is also one of the few learning-oriented languages I have seen to include the capability for both command-line and GUI-based programs.


What are your top 3 favorite Small Basic extensions?

The extensions that I would consider my favourites would be the following, in descending order: Oskariok's Data Extension, it is a great extension providing a lot more functionality; LitDev's extensions, as they provide a lot of functionality as well as full source code, which will be a great learning aid to those who wish to develop extensions; and Gungan37's Joystick/Game Controllers extension, as it provides functionality to further improve the games created by the Small Basic community.


What can people do to help get Small Basic into educational systems?

Speak to your teachers.

I know it may be a daunting prospect, to suggest what teachers should be teaching, but if you present yourself correctly, you should be fine. In my experience, teachers will be interested in what you have to say, and you should speak to the head of that department in your school.

If you are not in a high school, but in a Primary school, you should speak to the management team.

Ask either the department head or the management team if you can speak to them about an idea, prepare a presentation if you wish, and just tell them what Small Basic is, and why you think it would be an improvement over what they are teaching at the current time.

However, be careful how you word your speech. You shouldn't outright insult the teachers or their course, rather you should provide evidence as to why it is not as good. Here's an example: rather than "The current course is stupid, and old", you could say "The current course does not provide a steady ease into programming that many students would deal better with, and the language being taught, while perfectly fine as an example, does not introduce modern concepts to the students."

Take care to do your research, however, as the language they are teaching may not be that old.

- Liam




Thank you to Liam!

Ask Liam any more questions in the comments below.

And let me know who I should interview next!

   - Tall Basic Ed