¿Qué es el idioma GO? ¿Cómo deberíamos aprender?
Go language es un nuevo lenguaje de programación lanzado por Google que puede reducir la complejidad del código sin perder rendimiento de la aplicación. Rob Pike, ingeniero jefe de software de Google, dijo: Desarrollamos Go porque la dificultad del desarrollo de software durante los últimos 10 años ha sido frustrante.
Go es el segundo lenguaje de programación lanzado por Google en 2009. En julio de 2009, Google lanzó el lenguaje Simple, que es un lenguaje BÁSICO utilizado para desarrollar aplicaciones de Android.
El 10 de enero de 2010, hora de Beijing, el lenguaje Go ganó el Premio Anual TIOBE 2009. Este premio se otorga al lenguaje de programación con mayor crecimiento de cuota de mercado en 2009.
Rob Pike, ingeniero de software senior de Google, dijo: "Go me permite experimentar una eficiencia de desarrollo que nunca antes había experimentado". Pike dijo que, al igual que el C o C actual, Go es un lenguaje de sistema. Explicó: "Puedes usarlo para un desarrollo rápido y también es un lenguaje compilado real. La razón por la que lo abrimos ahora es porque creemos que ha sido muy útil y poderoso".
2007 , Google comenzó a desarrollar Go como un proyecto de 20 años, lo que permitía a los empleados dedicar el 20% de su tiempo fuera de su propio trabajo para invertir en el proyecto. Además de Parker, otros ingenieros de Google también son miembros del proyecto.
Pike dijo que la velocidad de ejecución del código Go compilado es muy cercana a la del lenguaje C, y la velocidad de compilación es muy rápida, como si se usara un lenguaje interactivo. Ninguno de los lenguajes de programación existentes está optimizado específicamente para procesadores multinúcleo. Go es un lenguaje escrito por ingenieros de Google para este tipo de programas. No está diseñado para principiantes en programación, pero aprender a utilizarlo tampoco es muy difícil. Go admite la orientación a objetos y tiene características como cierres verdaderos y reflexión.
En términos de curva de aprendizaje, Parker cree que Go es similar a Java y que los desarrolladores de Java deberían poder aprender Go fácilmente. La razón por la que Go se lanza como un proyecto de código abierto es para brindarle a la comunidad de código abierto la oportunidad de crear mejores herramientas para trabajar con el lenguaje, como complementos en Eclipse IDE.
Go no se utiliza en ninguna de las aplicaciones web lanzadas públicamente por Google, pero Google ha desarrollado varios proyectos internos utilizando este lenguaje. Parker dijo que es demasiado pronto para decir si Go tendrá un impacto en el próximo sistema operativo Chrome de Google, pero Go puede usarse con Native Client. Dijo que "Go permite que las aplicaciones se ejecuten perfectamente en el navegador". Por ejemplo, usar Go puede implementar Wave de manera más eficiente, tanto en el front-end como en el backend.
Go tiene dos compiladores al mismo tiempo, uno es Gccgo basado en GCC y el otro es un conjunto de compiladores (6g y 8g) para computadoras x64 de 64 bits y x86 de 32 bits respectivamente. Actualmente, Google está desarrollando su soporte para chips ARM y dispositivos Android. Parker dijo: "El problema con los teléfonos Android es que nunca hemos tenido un coprocesador matemático".