Red de conocimiento informático - Espacio del host - ¿Realmente necesitamos el lenguaje Go?

¿Realmente necesitamos el lenguaje Go?

¿Realmente nuestro mundo necesita otro lenguaje de programación estilo C? Obviamente, Google lo ha pensado durante mucho tiempo. En 2009, tomó prestada la canción de los Ramones "Hey! Ho! Let's Go" y lanzó oficialmente el lenguaje Go. Ahora el equipo de desarrollo del lenguaje Go ha desarrollado la primera versión estable del lenguaje, a la que llaman Go 1. Están impulsando este lenguaje al mundo, con la esperanza de que la gente lo use para "desarrollar productos y trabajos de software robustos". Entonces, ¿cuál es el uso actual de este idioma? Primero repasemos qué es el idioma Go y qué impulsó a Google a decidir lanzar dicho idioma. Según las "Preguntas frecuentes" del lenguaje Go, han pasado más de diez años desde el nacimiento de ese "importante lenguaje de programación a nivel de sistema". Durante este tiempo, el mundo de la informática ha cambiado mucho. Los talentosos empleados de Google están profundamente decepcionados con los distintos lenguajes disponibles actualmente. Deben elegir entre "compilación rápida, ejecución rápida o programación simple". "Ningún lenguaje de programación convencional, como C, C, Java, Python, etc., puede proporcionar todas las funciones que desean los empleados de Google. Por lo tanto, los ingenieros de Google comenzaron a desarrollar el lenguaje Go en 2007. Las "Preguntas frecuentes" dicen esto: El lenguaje Go "pertenece básicamente a la familia de lenguajes C" en términos de sintaxis básica, pero ha absorbido "muchas ideas" de la familia de lenguajes Pascal, y algunas ideas provienen de otros lenguajes, pero para los programadores, debe considerarse como uno. Un lenguaje completamente nuevo, un lenguaje de programación diseñado con el concepto de "hacer que los programadores sean más eficientes, hacer que la programación sea más eficiente, al menos hacernos más eficientes y hacer que la programación sea más divertida". ..? Entonces, ¿para qué sirve el lenguaje Go? Según Rob Pike, un conocido ingeniero de software de Google y uno de los diseñadores del lenguaje Go, se utiliza para desarrollar "software a gran escala". Software desarrollado por muchos programadores juntos, y el ciclo de desarrollo es largo, y admite servicios de red de computación en la nube: en resumen, es software del lado del servidor. El lenguaje Go permite a los programadores desarrollarse rápidamente y, a medida que el software continúa creciendo, les resulta más fácil mantenerlo y modificarlo. Combina la eficiencia de los lenguajes compilados tradicionales con la facilidad de uso y la expresividad de los lenguajes de scripting. "(Como ex miembro del equipo de desarrollo de Unix en Bell Labs, Pike tiene un conocimiento considerable del software del sistema). Pero para otros tipos de software, el lenguaje Go es igualmente fácil de usar. Por ejemplo, pregunté a los usuarios del lenguaje Go en Google , recibió una respuesta de Douglas Fils, que está experimentando con varios lenguajes, dijo que a veces desarrolla algunas aplicaciones web, la mayoría de las cuales están en la plataforma Java Virtual Machine (JVM), "por lo que, naturalmente, Java es la más utilizada". . Recientemente comencé a experimentar con más lenguajes, como Scala y Groovy. He desarrollado bastante en Groovy y acabo de terminar un gran proyecto en Groovy/Grails. También busqué Ruby on Rails/Python (marco de Python) e hice algunas cosas con ellos. "Dijo que desarrolló una interfaz web para trabajar con recursos de datos usando una versión temprana del lenguaje Go. Pero desafortunadamente. "Las bibliotecas y la sintaxis de Go en ese momento dificultaron el desarrollo. También experimenté con node.js y, en enero, mi atención se centró por completo en node.js". Node.js, dijo Fils, era popular, "y aunque me gustó, su mecanismo de bucle de eventos de un solo subproceso y la no -El modelo de programación de bloqueo no me sienta bien. Además, todo tiene que utilizar funciones de devolución de llamada de Javascript, lo cual no me gusta. "Obviamente, no es un fanático de JavaScript.

La sintaxis y la estructura del lenguaje Go, por otro lado, "todavía son muy concisas". Cuando la sintaxis y la estructura del lenguaje Go se estabilizaron y se lanzó Go 1, sintió que debía regresar y reescribir su lenguaje Go. programa. Esta vez, recordó por qué quería usar Go para desarrollar en primer lugar. Debate sobre el lenguaje Go Fils dijo que en Java, muchas cosas requieren ciertas rutinas de plantilla, lo cual es muy molesto. Dijo que Scala y Groovy eran mejores, pero seguían siendo un problema. Go se siente como un lenguaje de escritura dinámica, dijo Fils, pero la escritura estática no es tan obvia en Go como lo es en Java. La gestión de recolección de basura de Go Language es mucho mejor que la de JVM. Esto es especialmente cierto en comparación con lenguajes dinámicos como Groovy. Fils dijo en los comentarios que Go es muchas veces más rápido que otros idiomas. Funciona rápido sin afectar la capacidad de carga. El tiempo que lleva compilar es muy corto y se puede compilar durante el desarrollo, como un lenguaje dinámico, lo más rápido posible. Finalmente dijo que trabajar con Go es mucho más interesante que usar Node.js, Java o lenguajes basados ​​en Java, Ruby on Rails, etc. Cuando desarrollo aplicaciones en la plataforma JVM, siempre me siento más como un administrador de sistemas que como un desarrollador. Quiero modificar el espacio del montón, quiero estudiar el equilibrio de carga o problemas de memoria u otros problemas de administración de recursos. Con Go, no necesito pensar en esto. Lo desarrollo, compilo, pruebo, ejecuto, implemento y lo disfruto mucho. Tenga en cuenta que no a todos les gusta Go. Puede echar un vistazo a la revisión de Shaneal Manek del sistema de recolección de basura de Go y las comparaciones entre scripting y lenguajes compilados. ¿Puede el lenguaje Go generalizarse? ¿Cuáles son tus expectativas? Según Stephen O'Grady de RedMonk, todavía es muy joven para el lenguaje Go. Por lo general, los programadores se dividen en dos bandos: aquellos que dan la bienvenida a la convergencia de lenguajes de bajo nivel y lenguajes de scripting/recolector de basura, o aquellos que se oponen a ella. Para estos últimos, no sorprende que sean firmes defensores del lenguaje C. Existe mucha controversia en torno al lenguaje Go, lo cual no es sorprendente, como ocurre con cualquier idioma. Lo sorprendente es que el lenguaje Go ha ganado una tracción considerable entre los programadores. O'Grady colocó a Go en el segundo nivel de la clasificación de lenguajes de programación de RedMonk en febrero. Pero, dijo, considerando lo joven que es Go, "incluso este logro es bastante impresionante". Google ha lanzado una versión estable de Go y admite su implementación en la aplicación de lenguaje Google App Engine, lo que traerá más atractivo al lenguaje Go. Se necesita tiempo para determinar si el lenguaje Go puede convertirse en un lenguaje "convencional". Sin embargo, parece que hay muchas empresas además de Google que también están interesadas en este lenguaje, como por ejemplo empresas como Engine Yard. Los programadores que no están satisfechos con los lenguajes existentes actualmente probablemente estén esperando ver el lenguaje Go. Si está utilizando el lenguaje Go o ha incursionado brevemente en él antes, debe tener en cuenta que la versión 1 de Go introduce bastantes cambios. Sin embargo, a partir de Go 1, los cambios en el idioma Go seguirán sus especificaciones. Según un desarrollador del lenguaje Go, “Tal vez en algún momento lancemos la especificación Go 2, pero antes de eso, los programas escritos en el lenguaje Go no serán compatibles con futuras versiones de Go 1 (Go 1.1, Go 1.2, etc.). .) Todo se ejecuta correctamente. "¿Alguna vez ha desarrollado algún proyecto utilizando el lenguaje Go?