Pregunta a programadores…

¿Está realmente tan mal no utilizar el espacio [0] de una matriz? Sobre todo en aplicaciones de escritorio que no se gastan muchos datos y no hace falta optimizar nada!

Club de gente que empieza a utilizar los arrays siempre desde 1. ¿Alguien es también de este club? xD

Posted in

4 comentarios


  1. Hace una década yo programaba en VB, y no me gustaba que los arrays comenzaran en 0, así que utilizaba la instrucción «OPTION BASE» con el que hacía que los arrays comenzarán en 1.

    Hoy en día programo casi todo en PHP, con lo que importa un bledo si los arrays van numerados o no… ya que con el estupendo abanico de funciones de arrays que tiene PHP pues como que casi nunca utilizo el indice directamente. Por no hablar de los arrays asociativos, claro.

    Es más, actualmente, en la mayoría de lenguajes de programación los arrays se recorren mediante bucles tipo Foreach.

    Es muy fácil hacer una programación sin tener en cuenta desde qué número comienza un array… pero hay casos muy engorrosos como AutoIt, que tiene algunas funciones que utilizan el primer elemento del array (el 0) para indicar el número de elementos contenidos (sin contar el 0, claro). Esto es nefasto porque:
    0. El array ya no es homogéneo al no ser todos sus miembros del mismo tipo
    1. No permite utilizar bucles tipo Foreach para recorrer el array (o se tiene que crear un código bastante feo e ineficiente).
    2. Es innecesario porque ya tienes instrucciones tipo count o ubound que te dan dicho dato

    En fin, para un post que haces corto voy yo y te pego pedazo tocho ;D

    Saludos


  2. Se agradece la info 🙂

    No sabía yo que Visual Basic llevase eso… eso significa que realmente no soy la única persona que lo hace! xD

    Sobre PHP, nunca me he puesto a utilizarlo sin índices. Sé que existe, pero por costumbre nunca lo he hecho 🙂

    Y desconocía AutoIT… Lo más que había usado era VBS…
    Me lo guardo para investigármelo, que más de una vez me va haciendo falta 🙂


  3. Yo en visual basic si utilizo una matriz normalmente la hago empezar en


  4. Yo en visual basic si utilizo una matriz normalmente la hago empezar en 1 por evitar errores futuros, imaginese que se quiere guardar los datos de un recorset en una matriz a traves de un if , tendriamos que descontar una posicion al puntero para que no de error, Imaginese
    si empezase por matriz(0)
    for i=1 to rs.count-1
    matriz(i-1)= rs(1)

Comments are closed.