Vous avez littéralement jamais vu ou utilisé des tableaux du tout? Nous les utilisons tout le temps, en plus des listes. Nous n'utilisons généralement pas Java, mais nous utilisons beaucoup d'autres langages qui dessinent des similitudes évidentes.
Entre les tableaux et les listes, l'un est plus léger et, en plus, plus précis, tandis que l'autre a plus de fonctionnalités. En règle générale, en programmation, quand il y a deux types similaires qui sont essentiellement divisés de la sorte, vous devriez opter pour le plus léger, sauf si vous avez réellement besoin du plus sophistiqué. En plus de réduire les frais généraux, cela permet de mieux contrôler la quantité d'encombrement et d'état dans le programme et en particulier dans son code . Si quelque chose ne va pas pendant le test, vous avez moins de lieux à regarder; et plus important encore dans le cas de tableaux vs listes, les gens ont une meilleure idée de la portée limitée de l'utilisation que vous en faites et de ce que vous essayez de faire.
Et oui, d'un point de vue académique, il y a la raison supplémentaire d'enseigner les bases aux étudiants. Cependant, cela va un peu plus loin. Les tableaux et les listes sont un bon exemple de types plus volumineux souvent construits simplement au-dessus, et souvent tout simplement, autour d'instances sous-jacentes de types plus légers. Même lorsque les listes ne comportent pas de tableaux sous-jacents, elles se comportent extérieurement comme elles le font. Enseigner à une personne ce qu'est une liste consisterait en partie à lui apprendre ce qu'est un tableau.
Je pouvais voir que cela devenait peut-être hors de contrôle dans un langage tel que C ++, où les tableaux ne pouvaient en principe pas être plus dépouillés qu’ils ne le sont, mais dans les langages de niveau supérieur, ils sont presque des listes à part. S'ils répondent parfaitement à vos besoins dans une situation donnée, pourquoi devriez-vous utiliser autre chose?