Don’t Use a Non-Existent Language to Learn Programming

Karen Shao
3 min readMay 22, 2021
Photo by Mitchell Luo on Unsplash

Are you taking a beginner level computer science course in university or learning the basics of how to code outside of school? If you are, make sure that you’re being taught a programming language that exists to avoid these three issues I came across:

(Side note: block code can be okay sometimes too, more on that in another article.)

1. Using the wrong terminology.

One of the biggest problems I faced when transitioning to learning about Java and C# was with the terminology I had learned.

An example of a graph.

I remember having a conversation with my brother about an assignment of mine in which I had to write a function that navigated a graph, but all that I got out of it was a one-sided conversation in which I spent most of the time explaining the different parts of my code that I was referring to incorrectly. I had described it as a “map” of different “points” (as opposed to a graph and vertices), and considering that mapping is a term that already exists with a completely different meaning, it felt like there was a language barrier despite us both talking in English. Picking up the wrong terminology ends up setting you back even more once you start learning common programming languages because everyone else knows what’s going on while you’re stuck searching through a library for ages trying to relearn all of the terms.

2. Not using enough comments or using comments as if they are part of the code.

When I took my first course with a non-existent programming language, I remember being unable to write comments as I wanted. As a general rule set by the instructor, each line of code was not supposed to exceed a set number of characters, and comments served as something that was checked for marks. For example, when using accumulators (it was functional programming, which is already a weird enough place to start without it being a non-existent language), we were required to write down the purpose of each one in comments, but nothing else.

Why is this a problem? Well, whenever I wanted to check a past assignment, it ended up with me having to spend 30 minutes re-reading my code and trying to remember exactly what was going through my head at the time, because I couldn’t clarify any of what I wrote down in a comment. Additionally, trying to read someone else’s solution for the same problem was extremely frustrating since of course the code wouldn’t be formatted the same way and we would choose different names for different variables, with no comments to help explain any of it.

3. Lack of resources online.

If you get stuck on an assignment or need to look up a very specific error, good luck. You won’t find anything at all! Every good programming language should have its own documentation to help you figure out what everything means, but with a non-existent one, chances are it either won’t really exist or may have terminology that is very different from what other people are used to.

--

--

Karen Shao

Computer Science Student at the University of British Columbia (also studying music on my own)