¿Cuánto tiempo se tarda en aprender Go (Go language)?

Casi no hay tiempo en absoluto! Adjuntaré algunos recursos en la parte superior aquí para usted:

Un tour de Go (tour oficial de Go en su sitio web)

Una Introducción a la Programación en Go (Quizás la mejor guía para nuevas personas que aprenden Go y la programación. Escrito por Caleb Doxsey, quien ha escrito y realizado varias charlas sobre Go por unos años. Puede descargarlo en formato pdf desde la página principal)

Cree una aplicación web con Golang · GitBook (un libro de 314 páginas que le guiará a través de la creación de una aplicación web completa en Go. Más avanzado, pero dominar lo que hay en este libro a través de la práctica diaria puede convertirlo en un ninja de codificación. Se trata de algunos de los más importantes Conceptos, desde la concurrencia (locura buena en Go), redes y bases de datos.

Go es creado por Google y es mi primer lenguaje de programación verdadero. Había empezado a aprender Python, Ruby e incluso C, pero tenía poca o ninguna motivación. No fue hasta que empecé a concentrarme realmente y probar Go que empecé a aprender a hacer algo real: el programa.

Te enseña a ser intencional. No desperdicie variables, y escriba limpio para que otros programadores puedan entenderlo. Se lee fácilmente y le permite crear paquetes reutilizables únicos para usted.

Mi primer programa que me hizo sentir realizado fue un pequeño programa que calcularía Celsius a Fahrenheit, o viceversa. ¡En realidad corrió! y fue solo alrededor de 40 líneas de código sin mis comentarios personales. Go también compila su código y lo ejecuta, lo que significa que lo convierte en binario (básico 1 y 0) para que su computadora lo comprenda. Esto significa que habrá un pequeño tiempo de espera antes de que su programa se pruebe y se ejecute, pero luego puede incorporarse en un programa completo con un solo comando: “ir a construir {nombre de archivo}”. Dentro de 30 minutos, después de leer el libro de Caleb, fue capaz de enviar este programa de cálculo a mi compañero de cuarto (también en una Mac, pero su código puede construirse para CUALQUIER sistema operativo) y podría ejecutarlo inmediatamente en su terminal. Go está hecho para aquellos que quieren:

  • No solo para aprender a programar, sino también para darse cuenta de cómo se comunica con su computadora (conceptos difíciles que pueden ser valiosos en la industria). Go le permite ajustar los valores / ubicaciones de la memoria, usar punteros y
  • Para escribir código corto y reutilizable que se puede utilizar para crear aplicaciones / servidores / juegos / algoritmos / etc impresionantes. El cielo es el límite con lo que Go puede hacer. Conozco algunos proyectos en Github que tienen un solo archivo “.go”, pero proporciona unas 10-15 funciones que podrían beneficiar tanto a los programadores individuales como a los equipos. Ese podría ser tu código!
  • Para aprender un idioma que está ganando gran tracción en la industria. He leído en varios lugares que ya es enorme en China, y está ganando popularidad en las Américas muy rápidamente.
  • Para aprender una sintaxis que recuerda a lenguajes como C y Python combinados. Go ofrece la posibilidad de hacer declaraciones simples o explícitas, por lo que todo depende de usted y de cómo desea ver su código.

Ahora que estoy aprendiendo más conceptos de programación intrínsecos, mi objetivo es hacer que mi programa de cálculo de temperatura sea más corto y más eficiente. Mi objetivo es aplicar este método a todos los programas que hago para asegurarme de que estoy programando teniendo en cuenta la legibilidad y la eficiencia; Dos cosas para las que Go es primo

Algunos proyectos actualmente escritos en Go son:

  • Etéreo
  • Estibador
  • Kubernetes (la plataforma de contenedores del futuro)
  • Revel (framework web)

Ir también viene con algunas herramientas de kick-ass ! Ejecutar “go fmt {filename}” en el terminal automáticamente:

  1. Comprueba si el código tiene algún error.
  2. Vuelva a formatear y espacie el código según las preferencias de Go, para que se vea mejor para el usuario final y compile mejor.

Podrías escribir rápidamente el código desordenado y “ir a buscar” lo limpiaría completamente para lucir mejor y se estructuraría como si lo hubiera escrito un veterano.

Definitivamente échale un vistazo. Como programador por primera vez he estado divirtiéndome con el lenguaje. Todos los días me aseguro de escribir al menos un programa después del trabajo para ayudarme a aprender. No importa lo malo o torpe que sea, mi objetivo es conseguir algo que funcione, incluso si solo lo hago para recordar las variables y cómo declararlas correctamente.

¡Disfrutar!

Me temo que arruinaré un poco la fiesta y diré que te llevará al mismo tiempo que con cualquier otro lenguaje moderno de recolección de basura en su mayoría imperativo: Java, C #, JavaScript, Python, Kotlin, por nombrar solo algunos. Probablemente será menor que la mayoría de los idiomas de PF, como Scala o Haskell, y los lenguajes no-GC, como C / C ++. Aún así, estamos hablando de unos pocos meses, no días, como algunos pueden hacerte creer.

Hay algunas razones por las que Go no es más simple que la mayoría de los otros idiomas:

  1. La documentación de Go indica que al reducir el número de palabras clave en el idioma, el idioma es más fácil de aprender. Si eso fuera cierto, todos aprenderían Brainfuck. No es necesario recordar de memoria todas las palabras clave en el idioma. Pero deberían estar ahí cuando los necesites. No estoy seguro de cuántos son conscientes de la palabra clave strictfp en Java. Sin embargo, no hace que Java sea más difícil que Go.
  2. Go usa CSP como su único patrón de concurrencia. ¿Quieres cancelar un goroutine o establecer un tiempo de espera para él? Esté preparado para escribir muchos códigos propensos a errores. Si desea concurrencia con una curva de aprendizaje fácil, busque en Kotlin.
  3. Al ser un lenguaje de sistema, Go tiene punteros y los punteros son un montón de desorden.

Aprender lo básico tomará de 1 a 2 semanas. Luego, los detalles y trucos reales te llegarán después de 3 a 6 meses. Y entonces, estarás aprendiendo continuamente.

Ir es simple, sí, pero hay muchos demonios en sus detalles.

Estoy publicando guías visuales para aprender Go, es posible que desee revisar: Learn Go Programming.

Puedes comenzar a escribir código de buena calidad en 2 semanas. Después de un mes de uso, tendrá una sensación extraña: por qué no comenzó a aprenderlo antes.

Vaya – ¡increíble! Buena suerte )

El tiempo necesario para aprender un idioma depende de una persona a otra. Pero si eres un experto en un lenguaje de programación de back-end como Java, Python, Php, C, entonces será muy fácil para ti. Entonces, si desea cubrir los aspectos básicos de Golang, tomará alrededor de 10 a 15 días para que se familiarice con el Golang.

El básico incluye configuración del entorno, tipo de datos, bucles de toma de decisiones, sector, rango, mapas, punteros, función, interfaz, manejo de errores, manejo de archivos .

Pero go es conocido por su técnica de manejo de concurrencia, por lo que también se debe leer sobre Goroutines que se usan para la concurrencia como hilos en Java.

Si tienes un buen conocimiento práctico de C the Go debería ser bastante fácil. Tomé una clase de sistemas distribuidos y obtuve bastante dominio durante el curso de esa clase. También trabajé en un proyecto personal en Go the summer after. Me imagino que no tomará mucho tiempo … dependiendo de su nivel actual de comprensión, el nivel de comprensión que espera alcanzar y la cantidad de tiempo y esfuerzo que está dispuesto a ofrecer. Con un proyecto en el que trabajar y cierta determinación, esperaría ser competente en unos pocos meses.

El doble de tiempo para aprender Ruby, Python y Elixir. Y no me refiero individualmente. Quiero decir que puedes aprender los tres en mucho menos tiempo que aprendiendo Golang. Hay muchas cosas no estándar sobre Go. No aprecio las convenciones de formato en Go. Honestamente creo que es feo como lenguaje. Tampoco es el lenguaje más eficaz y eficiente.

Es genial para desarrollar herramientas de CLI, y he visto muchas buenas en GitHub. Las cosas más simples son fáciles con Go, pero en realidad construir aplicaciones con ellas puede ser desalentador.

Creo que el lenguaje Shell y Ansible son lo suficientemente buenos para la mayoría de mis necesidades. Ojalá Golang fuera más convencional.

He estado aprendiendo GoLang durante aproximadamente la segunda semana, y por lo que he aprendido, Go es un lenguaje simple pero muy poderoso.

Para responder a la pregunta:

Si vienes de X-language e hiciste alguna o poca programación antes, te llevará un mes aprender el idioma. Sin embargo, si no está familiarizado con la programación, tardará un mínimo de 6 meses en dominar el uso del lenguaje.

Go es un lenguaje muy simple con pocos conceptos para aprender. Si tiene alguna experiencia previa en programación, puede aprenderla en unas semanas. Sin embargo, tiene una enorme biblioteca estándar y si desea dominar el idioma, debería poder usar al menos algunas de las bibliotecas importantes y tomará algún tiempo.

Como tiene experiencia previa en programación, debe poder aprender Go en poco tiempo.

Yo sugeriría A Tour of Go or Go Resources (libro gratuito de caleb doxey) para aprender.

¡Todo lo mejor!

Un día. Lo digo en serio. He tenido desarrolladores junior que nunca han usado Go antes de corregir errores simples en el código de Go en menos de una hora. Eso debería decir algo sobre su simplicidad.

Tomará mucho más tiempo para dominar. Llamemos a eso años. ¿Pero ser productivo? Muy poco tiempo.

Fue amor a primera vista para mí. Los primeros días pasé por los titorials oficiales. En cuestión de días pude codificar. La comunidad es muy fuerte y se obtienen muchos materiales en línea. Ya ha pasado un mes y creo que nuestra relación se está fortaleciendo. Pero creo que tomará muchos meses dominarlo (también lo hará cualquier idioma) pero planeo mejorar en eso.