Haremos una pequeña comparación en la forma en la que puedes usar el ciclo for en cada uno de estos lenguajes de programación.

Esta comparación es con propósitos educativos, si vas comenzando en mundo de la programación es bueno que conozcas los detalles básicos de algunos de los lenguajes de programación más ampliamente usados.

Comenzaremos por Java, la estructura básica de la sentencia for es la siguiente:

//Estructura de la sentencia for básica
for (inicialización; terminación; incremento) {
    sentencias
}

Desde luego el bloque de código anterior no compilaría, es sólo una descripción general y en realidad es una estructura que siguen muchos lenguajes cuya sintaxis han heredado del lenguaje de programación C. Un ejemplo real es el siguiente:

public class CicloFor {
    public static void main(String args[]){
        for (int i = 0; i < 10; i++) {
            System.out.println("valor de i: " + i);
        }
    }
}

Como seguramente has notado, es necesario que dentro de la sentencia for, existan tres sentencias más que establecen lo siguiente:

  • Inicialización – Que en el ejemplo es la variable i con un valor inicial int i =0
  • Terminación – El ciclo for se ejecuta mientras i es menor que 10
  • Incremento – Donde el valor de i cambia mientras la sentencia de terminación no se cumpla con i++

El ciclo for en Golang es similar al de Java, pero en su sentencia se omiten algunos caracteres:

package main
import "fmt"

func main() {
	for i := 0; i < 10; i++ {
		fmt.Println("valor de i: ", i)
	}
}

En Go no ha sido necesario incluir los paréntesis, ya que sus creadores han decidido omitirlos y basta con saber que las sentencias de inicio, terminación e incremento se encuentran entre la palabra for y el corchete que abre el bloque del ciclo.

Veamos ahora el ciclo for con Python.

for i in range(10):
    print("valor de i: ", i)

Python es el campeón a la hora de minimizar la cantidad de código que se requiere escribir.

En Python, se especifica la sentencia for, una variable y el rango en el cual esa variable estará cambiando y automáticamente sabrá cuando detenerse. Como puedes ver no es necesario agregar las sentencias de terminación e incremento. El compilador sabe que el valor de i, irá de 0 a 9 con la ayuda de la función range.

Además de que en Python no es necesario crear un método o función main, tampoco es necesario usar corchetes que abren y cierran. El compilador sabe que el bloque del for que se ejecutará, es el que se encuentre desplazado por dos espacios o un tabulador adicional al que tiene la sentencia for.

El resultado al ejecutar el código en todos los casos es similar al siguiente:

valor de i:  0
valor de i:  1
valor de i:  2
valor de i:  3
valor de i:  4
valor de i:  5
valor de i:  6
valor de i:  7
valor de i:  8
valor de i:  9

En Java existen otras variantes de la sentencia for, en Python algunas otras, y en Go sólo es esa.

Estos ejemplos ilustran los estilos de construcción de cada lenguaje, pero no es lo único que debes considerar a la hora de crear aplicaciones.

Java es un lenguaje interpretado al igual que Python, lleva tiempo en el mercado y está un poco más optimizado que Python, existen para este lenguaje una cantidad inmensa de bibliotecas o librerías que te facilitarán muchos otros aspectos del desarrollo de software, en Python también existen muchas herramientas y sigue creciendo.

Python, por su sencillez, permite hacer prototipos de aplicaciones, algoritmos o ejemplos de código mucho más rápido que en los otros lenguajes.

Golang es el nuevo del grupo, aunque la cantidad de caracteres que requerirás para crear el mismo algoritmo está entre Java y Python, se destaca por ser un lenguaje que al ser compilado genera archivos ejecutables, (Java y Python son interpretados). Su desempeño puede ser mucho más rápido y se está volviendo el favorito en soluciones donde sea necesario optimizar el rendimiento.

Esperamos pronto hacer algunas otras comparativas.