I think that should go for even an advanced programmer: no point in overcomplicating something which could lead to an error (if missed, due to the overcomplicated coding).
Here's an anecdote of my experience with an Array:
A while back I switched from Array, to List.
With the Array, I was using the Redim statement every-time there was an addition to the Array. The array consisted of over 110,000 words loaded from a text file, each word loaded and added to the list, one by one. The first time I ever ran this, the whole process took over 4 minutes. I then switched to multi threading and brought the time down to less than 50 seconds. The final change was moving to lists (where each element was added, using ".ADD(...)". This brought the load time down to 2 seconds!
What I found (rightly or wrongly), was that the Redim statement (I was using VB.NET, at the time), was killing the performance. Apparently, Redim creates a completely new Array (with the specified size, in the Redim statement). It then copies the existing Array, to the new array. Every-time you use Redim, a new Array is created. Do this 110k+ times, with Arrays of size (100K+) and you can understand why it took so long.
Had I used Lists from the get go, I would never have had this performance problem and saved a lot of time. For beginners, Lists are definitely easier to manage.
Anyway, I think we are digressing and I doubt that OP even cares what we are talking about now....I'm out!