I use several different programming languages. Whenever I switch between languages, there’s always an adjustment time in my head. For some reason, whenever I switch from C# to Python with NumPy, it always takes me about an hour to start thinking fully in Python. In particular, it always takes me time to recall Python/NumPy array initializations.

One of the causes of this is that C# has basically two ways to instantiate an array:

There are several implications. One is that I prefer programming languages that have sparse feature sets — I prefer to know everything about a small language. For example, the np.zeros() function is redundant in a sense because you can get the same effect using np.full(fill_value=0.0).

Another implication is the high cost of context switching when programming. It costs time and effort to switch languages (for example, working with C# on Monday, Wednesday, Friday, and with Python on Tuesday, Thursday). Or doing programming from 9:00 AM to 11:00 AM, then switching over to email tasks, then switching back to programming.