## mht.wtf

A blog about computer science, programming, and whatnot.

# Confusing Words for a Beginner

June 18, 2020

As people are arguing over what to call the default `git` branch, I started thinking about other words in programming that I now take for granted but that I also remember being very confusing and/or strange when starting out. Instead of reading more internet arguments, I figured I’d try to write about some of these words instead.

## Int

Short for integer. Makes sense now, but didn’t make much sense when I first encountered it; in my native language they’re just called whole numbers. Luckily, the word isn’t similar to any other word that I knew and could confuse it with.

## Float and Double

This was very confusing when I first encountered it in CheatEngine back in the day. Float means a decimal? Why does it float? At this point I was picturing a life buoy floating in wavy water. And Double is just the same? But more exact? Oh it’s bigger? Then shouldn’t Float be called Single?

(This was even more confusing when I tried to read up on it as in my native language a “decimal number” refers to a real number that is not an integer, like `1.2`, and not a number written in the decimal system, nor the parts after the decimal separator `.2`, which, according to Wikipedia are two interpretations of “decimal number”.)

## String

This was a big one, because in my mind a string was what’s on a guitar. I might have heard “pearls on a string”, but probably hadn’t heard about “a string of pearls”1, since only the latter really points to anywhere near what we call Strings in programming today. Why do we even call it a String? Is it because we have characterse neatly in a row? Isn’t things in a row what Arrays are? This is still rather confusing, and I’ve simply come to accept that String means Text.

Can new programming languages please stop calling Text for String?

## Print

As in printing something to the screen. I think this was mainly confusing because in my native language we have borrowed the verb “to print”, but it is exclusively used for a physical printer. Hopefully you can appreciate my relief2 when after running my first Hello World, which I think was in Java, Windows didn’t complain that I didn’t have a printer connected.

## Argument

You know, as in a parameter3! Not as in reasoning, convincing, or fighting! Why would you think that?

## Function

I’m not really sure that I was ever confused about this, but I still think it’s a bad name for when you really mean a procedure. However, the word function is way easier to write since you don’t have the tricky `c e d` sequence. It’s even easier to pronounce.

## Void

This was actually a good word, since it meant nothing to me.