How to Remember So Many Programming Languages
Tags: instructions, aboutme, intermediate, languages
Published: 2022-02-05 08:01:34

---
title: How to Remember So Many Programming Languages
published: true
date: 2022-01-04 18:27:34 UTC
tags: Instructions,aboutme,intermediate,languages
canonical_url: http://wasi-master.github.io/blog/2022/01/05/how-i-remember-so-many-programming-languages/
---

If you saw my previous post on how I learn new programming languages you may be wondering how (or even if) I remember all these programming languages, now this is a valid question as the saying goes *"Jack of all trades and master of none though oftentimes better than master of one"*. That's exactly what I am gonna discuss today

<!-- more -->

## About the saying...

> _Jack of all trades and master of none though oftentimes better than master of one_

From Wikipedia: "Jack of all trades, master of none" is a figure of speech used about a person who has dabbled in many skills, rather than gaining expertise by focusing on one.

Read this [wikipedia article](https://www.wikiwand.com/en/Jack_of_all_trades,_master_of_none) to learn more.

This is the same for me to some extent, I know a bunch of programming languages but I would not say I am a master of any of them other than Python. I can say that in other languages I know enough to do simple tasks, things like Data Types, Variables, Keywords, Logical and Arithmetical Operators, If else conditions, Loops, Arrays, Functions. But just knowing that isn't gonna make you a master in any language.

## So what do I need to become the master

### Standard Library

The first thing is to learn the standard library it has and what you can do with those. For example the [python standard library documentation](https://docs.python.org/3/library/) contains more than 200 libraries (Run `help('modules')` in repl) and the [node.js built-in module list](https://www.w3schools.com/nodejs/ref_modules.asp) has more than 25. There are stuff like [stringprep](https://docs.python.org/3/library/stringprep.html), [rlcompleter](https://docs.python.org/3/library/rlcompleter.html), [tabnanny](https://docs.python.org/3/library/tabnanny.html), [reprlib](https://docs.python.org/3/library/reprlib.html), [linecache](https://docs.python.org/3/library/linecache.html), [imghdr](https://docs.python.org/3/library/imghdr.html), [fileinput](https://docs.python.org/3/library/fileinput.html), [contextvars](https://docs.python.org/3/library/contextvars.html), [mmap](https://docs.python.org/3/library/mmap.html) are just to name a few that are unheard of in normal day to day coding.

### 3rd party libraries

Another thing to know to become a master is 3rd party libraries, these are not officially made by the language developers.

For python things like requests, pylint/flake8/pep8, numpy, pandas, Django/flask, Pillow, matplotlib

### Being able to make (almost) anything

You should be able to code stuff easily as long as it isn't based on other things such as mathematics.

## What about you?

I would say I am a "master" in python and nothing else really, I do sure know a lot of stuff but I would not consider myself a master in most of those. Even then there are things that I still don't know and am discovering regularly in python. I often see myself searching google for stuff in other languages since I forget them but googling shouldn't be seen as a bad thing. The main purpose is to make something. Things I use frequently are things I remember and things I don't use frequently, I often forget.

> To be able to forget means sanity.
> \- Jack London, The Star Rover

## What about me?

So if you want to remember stuff you have to practice. Once I had stopped using python for a month and after that, I had to try to remember some stuff and search google because I forgot them. Practice makes perfect.