Hola de nuevo, en esta entrada escribiré acerca del lenguaje de programación GO de la compañia google.
Resumí sobre los aspectos que considero importantes sobre este lenguaje.
- GO es un lenguaje de programación relativamente nuevo, apareció el año pasado.
- Está inspirado el lenguaje C, aunque también incluye algunos elementos de Python, así como de Pascal entre otros.
- Sus diseñadores mas importantes son Robert Griesemer, Rob Pike y Ken Thompson.
- El paradigma de programación es imperativo y concurrente.
- Está diseñado para resolver problemas para aprovechar al máximo los procesadores de múltiples núcleos, así como para navegadores Web y para la programación orientada a objetos.
- Actualmente solo se puede compilar en los SO de Linux y Mac.
- La compañía Google, crea este lenguaje pretendiendo ser eficiente para nosotros como futuros programadores.
Aqui les dejo el link del manual "Learning GO!"
El Compilador.
Bueno pues yo batalle un poco en instalar el compilador y al final lo he logrado, aqui les pongo los pasos que yo hice para instalarlo en ubuntu.
Primero tienes que poner en el terminal.
gedit ~/.bashrc
Se te abre un archivo al cual le tienes que poner estas lineas.
export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/bin
export PATH=$PATH:$GOBIN
Nota que en la tercera linea, puede ser cambiado según la arquitectura de tu procesador, si es amd64 o arm, para mi computadora era el 386.
Guardas el archivo y pones esto en el terminal
source ~/.bashrc
Ahora creamos un directorio
mkdir $GOBIN
Ahora vas instalar Mercurial que es el cliente para controlar las versiones.
sudo apt-get install mercurial
Instalas estos paquetes.
sudo aptitude install bison gcc libc6-dev ed
Descargas
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
luego compilas lo descargado
cd $GOROOT/src
./all.bash
Al finalizar deberá decir
— cd ../test
0 known bugs; 0 unexpected bugs
Pero a mi computadora, me aparecía 1 known bugs, según investigué ese numero varia por la versión.
Ahora ya haz instalado el compilador, para probarlo puedes hacer un pequeño programa como el conocido hola mundo!
package main
import “fmt”
func main() {
fmt.Printf(“Hola mundo!!\n”);
}
Para compilar lo unico que tienes que hacer es abrir la terminal y poner
8g hola.go
luego
8l hola.8
después para ejecutar
./8.out
nota que el numero 8 puede cambiar segun la arquitectura de computadora.
amd64 = 6.
386 = 8.
arm = 5.
y tendras la salida en el terminal con el texto "Hola mundo!".
Ejemplo en lenguaje GO
Cuenta longitud de una cadena y la serie fibo en GO
package main
import "fmt"
func main() {
cadena := "Esta..es..una..prueba..GO!"
fmt.Printf("La cadena: \n%s\nTiene una longitud: %d\n", cadena, len([]byte(cadena)))
var a int
var b int
var c int
b = 0
c = 1
fmt.Printf("Ahora va la serie fibo :)...\n")
for n := 0; n < 20; n++ {
a = b + c
c = b
b = a
fmt.Printf("%d ,", a)
}
}
Aqui les dejo el link de el código fuente
Aqui les dejo tambien el link del sitio web de GO, pueden encontrar mucha información.
También les dejo un vídeo de la presentación del lenguaje, incluso pueden ponerle subtítulos en español
Aqui les dejo tambien el link del sitio web de GO, pueden encontrar mucha información.
También les dejo un vídeo de la presentación del lenguaje, incluso pueden ponerle subtítulos en español
Roberto :)
Muy interesante tu publicación compañero. Sólo que quisiera saber que pasa con el compilador en los procesadores Intel.
ResponderEliminarAhora bien, en parte se fundamenta en el lenguaje C, el cual usaba su preprocesador “#include”. En este nuevo lenguaje, ¿cuál viene siendo ese preprocesador?
Además, note algo interesante en el código que incluiste. ¿A qué se refiere lo de import “fmt”? ¿Qué se importa ahí? Eso es en cuestión de preguntas.
Y respecto a este lenguaje, es cierto lo que afirmas al decir que Google “pretende” lanzar un lenguaje más eficiente. ¿A qué me refiero?, que no podemos saber cuando un lenguaje en verdad lega a ser eficiente sin antes que tenga cierto tiempo y aplicación útil en el mundo de la programación.
Aqui también me viene un pensamiento sobre los lenguajes de programación que están actualmente. Considero que cada lenguaje a salido para cubrir las necesidades que se presentan y que los lenguajes que estaban en existencia en ese lapso de tiempo, no cubren las expectativas. Por lo que me hace concluir que Google hizo lo mismo, pero la pregunta sería: ¿qué necesidad es la que ya no se cubre actualmente con los lenguajes que tenemos?
Ahora bien, Google es una compañía muy fuerte. Es posible que eso ayude mucho en la colocación de este nuevo lenguaje, junto con la colaboración de quienes lo utilicen, ya que eso hará que lo mejoren en determinado momento, supongo yo, claro.
Pero en fin, me agrado la información. Muy buena la aportación sobre la materia. Saludos.
Hola! Muy bien Roberto, mira para empezar, en la pregunta de los procesadores de Intel, puedes utilizarlo, a lo que se refiere con 386, amd64 o arm es según la implementación de el conjunto de instrucciones de tu procesador amd64 = x86-64, que por ejemplo, en una computadora tengo Core 2 duo y utiliza este tipo de arquitectura, en este caso compile en una hp mini que tiene intel atom, utiliza el conjunto de instrucciones x86, por eso utilice 386 y el arm, utiliza la arquitectura ISA.
ResponderEliminarEl equivalente en GO a #include seria import "fmt" que es, por así decirlo, la librería de entrada y salida.
Las ventajas de GO según como he leído y comenté al principio de la publicación es que está diseñado para aprovechar los procesadores de múltiples núcleos,cosa que cuando por ejemplo C++, que le lleva casi 20 años, pues no se aprovecha eficientemente y en cuestión de hardware está cambiando constantemente, aunque tampoco podemos predecir el futuro y decir que se va a mantener, la verdad creo que depende mucho según para lo quieres utilizar y si trabaja bien para ello.
Roberto:)
Muy bien. Te pongo tres por el reporte y uno por participación.
ResponderEliminar