Un lenguaje de programacion siempre va dirigido hacia un Ingeniero de software o a un desarrollador de software pero no siempre esta enfocado a estos perfiles profesionales; es decir un empresa que define un giro debe saber y conocer que no se puede realizar una interfaz en un software enfocado al lenguaje de plataforma de servidores.
Un inversionista debe y tiene que conocer de forma general si piensa invertir en minar monedas virtuales que el lenguaje de Visual Basic no sirve para generar minería de Criptomonedas, aquí hablamos un poco de Golang.
Golang es un lenguaje de programación de código abierto creado por Google. Su enfoque principal es la productividad, algo esencial para quien actúa con sistemas multiplataforma.
Popularmente conocido como Go, el lenguaje se diferencia de los demás por ser compilado y altamente escalable. Un enfoque que facilita la creación de softwares simples, confiables y eficientes. Podría ser el lenguaje del futuro.
Go cuando se lanzó pertenecia a una startup fintech se pretendía introducir algo de concurrencia en los servidores y resolvió ese problema muy bien.
Go como todo inicio se sabe que no funciona tan bien en el lado del cliente y se recomienda no utilizarlo para crear una aplicación de escritorio aunque se puede hacer, pero Go definitivamente está más centrado en el servidor.
Microsoft está usando Go internamente para potenciar piezas de la infraestructura de Azure, como AKS [Azure Container Service] y puede usar Go para realizar llamadas al SDK de Azure y aprovisionar servicios e infraestructura.
Usa Azure en microservicios como Escale servicios y subsistemas individuales en función de las necesidades de recursos sin necesidad de escalar horizontalmente toda la aplicación. Empaquete una mayor densidad de servicios en un solo host mediante el uso de un orquestador de contenedores como Azure Kubernetes Service (AKS) o Red Hat OpenShift en Azure.
Y esto proporciona un enfoque de elegir el método de implementación, el lenguaje, la plataforma de microservicios y el modelo de programación preferidos para cada servicio. Las API de microservicios para el consumo interno y externo, y administra los problemas transversales, como la autenticación, la autorización, la limitación, el almacenamiento en caché, la transformación y la supervisión con Azure API Management.
Como ya sabemos que la AI o la inteligencia artifical esta constituida por procesos y estructuras de de información de acceso rapido para analizar y este lenguaje es adecuado para este tipo de proposito.Debido a su practicidad Go es ampliamente utilizado en el mundo de la inteligencia artificial y la ciencia de datos, además de ser muy popular para aplicaciones basadas en la nube.
Go cuenta con métodos y estilo de programación orientado a objetos, la variedad de posibilidades que ofrece Go a la hora de trabajar con interfaces ya revela un enfoque diferente al de otros lenguajes de programación no tan modernos. Las interfaces hacen que el código sea más flexible y escalable.
Cuando se programa en Go en vez de requerir un tipo de interfaz en particular, éste te permite especificar el tipo de interfaz únicamente cuando lo requiera para la ejecución de un comportamiento esperado.
¿Dónde se aplica Go?
Y esta es la parte en que se esta aplicando GO por ejemplo el Flujo de operaciones de solicitud de Key Vault con autenticación. La autenticación de Key Vault se produce como parte de cada operación de solicitud en Key Vault. Una vez recuperado el token, se puede reutilizar en las llamadas posteriores. Ejemplo del flujo de autenticación:
- Un token solicita autenticarse con Azure AD, por ejemplo:
- Un recurso de Azure, pongamos, una máquina virtual o una aplicación de App Service con una identidad administrada se pone en contacto con el punto de conexión de REST para obtener un token de acceso.
- Un usuario que inicia sesión en Azure Portal mediante un nombre de usuario y una contraseña.
- Si la autenticación con Azure AD se realiza correctamente, se le concede un token de OAuth a la entidad de seguridad.
- Una llamada a la API REST de Key Vault mediante el punto de conexión (URI) de Key Vault.
- El firewall de Key Vault comprueba los siguientes criterios. Si se cumple algún criterio, se permite la llamada. En caso contrario, se bloquea la llamada y se devuelve una respuesta prohibida.
- El firewall está deshabilitado y el punto de conexión público de Key Vault es accesible desde la red pública de Internet.
- El autor de la llamada es un servicio de confianza de Key Vault, lo que le permite omitir el firewall.
- El autor de la llamada aparece listado en el firewall por su dirección IP, red virtual o punto de conexión de servicio.
- El autor de la llamada puede conectar con Key Vault mediante una conexión de vínculo privado configurada.
- Si el firewall permite la llamada, Key Vault llama a Azure AD para validar el token de acceso de la entidad de seguridad.
- Key Vault comprueba si la entidad de seguridad tiene el permiso necesario para la operación solicitada. En caso contrario, Key Vault devuelve una respuesta prohibida.
- Key Vault realiza la operación solicitada y devuelve el resultado.
Ejecutar Go en un hardware moderno, mediante contenedores o en máquinas virtuales, puede resultar en una grata experiencia. Go se creó originalmente en el intento de reemplazar lenguajes de alto rendimiento populares como Java y C ++. Hoy en día, Go se utiliza para desarrollar una amplía variedad de aplicaciones relacionadas con plataformas de infraestructura.
Instalación
Para programar usando Golang, solo necesitas instalar su compilador. Las distribuciones más recientes de Linux ya lo traen en su sistema de gestión de paquetes. Windows y Mac tienen distribuciones binarias del paquete Golang disponibles para descarga e instalación. Y para programar usando Golang, solo necesitas instalar su compilador. Las distribuciones más recientes de Linux ya lo traen en su sistema de gestión de paquetes. Windows y Mac tienen distribuciones binarias del paquete Golang disponibles para descarga e instalación.
Go permite hacer y/o desarrollar:
- Inteligencia Artificial
- Sitios web
- Web scraping
- Apps
- Algunos ejemplos de editores para codificar en Golang son:
- VS Code
- Atom
- Vim
- GoLand.
Principales características
Tiene un performance por su tipo de compilado en lenguaje de máquina con una compilación rápida, que a primera vista, da la impresión de estar trabajando con un lenguaje interpretado, como JavaScript.
Golang también es utilizado para asunto es Data Science (Ciencia de Datos) y permite programación funcional, soporta funciones anónimas y las de primera clase.
En el caso de la programación orientada a objetos, podemos decir que no utilizar clases, pero sí estructuras. Es decir, es posible aplicar los conceptos de la orientación a objetos en Golang, pero de una forma diferente. A esta manera los programadores le llaman Go Way.
Golang también cuenta con una biblioteca estándar completa. El programador encuentra prácticamente todo lo que necesita, como búsquedas HTTP, análisis de Jason y criptografía.
¿Cuáles son las desventajas de Go?
A pesar de que sus diferenciales resulten muy atractivos, Golang no soporta sobrecarga de funciones, lo cual puede limitar su uso y cuenta con un pequeño número de paquetes si lo comparamos con otros lenguajes, como Node.js y Ruby. Esta desventaja es interesante, ya que por el hecho de que su biblioteca tenga tantas características, la mayor parte de las veces el soporte de terceros termina siendo innecesario.