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

Comments (7)
  1. anonymouscommenter says:

    Nice posting

  2. I'm curious if anyone agrees with Liam about Java versus C#.


  3. anonymouscommenter says:

    Liam, in Oct 2012, you posted a reply to StackOverflow's "LastModified Date of URL" question. I've just posted another "answer" which shows how the document.lastModified date/time can be displayed by the page. It can be done with standard html via Javascript, or .shtml via SSI-comments, or php via php-coding. I've also explained why most people see current-date, and how to get around that problem. If this sparks your curiosity, and you review my "solution", feel free to contact me:

  4. anonymouscommenter says:

    Hmmmmm…  Better to concentrate and understand one language throroughly before moving on to others – you may find that the 'roots' have similarities when you further explore

  5. anonymouscommenter says:

    What makes you sure that your approach is the correct one?

  6. Teacher, it's debatable. This is the only text-based language created for kids and learners. The other languages either focus on symbol coding, block coding, paragraph editing, pseudo-coding to instruct game characters, or programs that are for adults but justified as usable by kids and learners.

    To dig deeper on that concept, we got interviews from 49 kids, age 8-13. These kind of testimonies exist for non text-based coding programs, but not actual programming languages like Small Basic.

    In short, it works. It teaches real programming to kids and learners, age 8 and up. And it does an amazing job at it.

    The EV3 extension also opens up Lego Mindstorms robotics.

Comments are closed.

Skip to main content