{"id":634,"date":"2009-11-11T11:40:55","date_gmt":"2009-11-11T16:40:55","guid":{"rendered":"http:\/\/eaprende.com.mandril.avnam.net\/blog\/?p=634"},"modified":"2009-11-11T12:37:54","modified_gmt":"2009-11-11T17:37:54","slug":"el-nuevo-lenguaje-de-programacion-go-de-google","status":"publish","type":"post","link":"https:\/\/www.eaprende.com\/blog\/2009\/11\/11\/el-nuevo-lenguaje-de-programacion-go-de-google\/","title":{"rendered":"El nuevo lenguaje de programaci\u00f3n GO de Google."},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-642\" style=\"margin: 5px;\" title=\"go-logo-black\" src=\"http:\/\/eaprende.com.mandril.avnam.net\/blog\/wp-content\/uploads\/2009\/11\/go-logo-black.png\" alt=\"go-logo-black\" width=\"220\" height=\"77\" \/>Y una vez m\u00e1s <strong>Google <\/strong>nos sorprende, con un proyecto que dar\u00e1 mucho de que hablar, apuestan a algo bastante importante y de mucha responsabilidad, un nuevo lenguaje llamado <strong>GO<\/strong>. Esta es de c\u00f3digo abierto y se basa en la familia de programaci\u00f3n de C pero con elementos de Python y la familia de Pascal, Modula y Oberon.<\/p>\n<p>El gigante Google espera que su lenguaje tenga r\u00e1pida aceptaci\u00f3n en Internet y por los desarrolladores claro est\u00e1. Las razones que justifican el desarrollo se basa en que a lo largo de 10 a\u00f1os no ha surgido nuevos sistemas de programaci\u00f3n en comparaci\u00f3n con la nube computacional que s\u00ed ha sufrido grandes cambios, y con esta apuesta, ellos pretenden equilibrar los cambios para ello incluyeron grandes, buenos e importantes rasgos de otros lenguajes y lo adaptaron a <strong>GO<\/strong>.<\/p>\n<p>Desde mi punto de vista, todo lo que Google \u201ctoca\u201d va por el camino de convertirse en un \u00e9xito total, creo que para este lenguaje lo depara una buena y perdurable vida, pues he visto algo de su c\u00f3digo, orientado a objeto y bien estructurado; empecemos a tomarlo como alternativa de desarrollo, pero tambi\u00e9n creo que esperaremos un buen tiempo para que los Hostings lo soporten, y m\u00e1s aun que haya abundante documentaci\u00f3n, y m\u00f3dulos desarrollados como lo existen para Python y PHP por ejemplo. Estemos atentos al avance de <strong>GO<\/strong>.<\/p>\n<p><object width=\"425\" height=\"344\" data=\"http:\/\/www.youtube.com\/v\/wwoWei-GAPo&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1\" type=\"application\/x-shockwave-flash\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowScriptAccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/wwoWei-GAPo&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1\" \/><param name=\"allowfullscreen\" value=\"true\" \/><\/object><\/p>\n<p><strong><span style=\"color: #800000;\"><br \/>\nAnalisis de los Lenguajes que estan \u00abcompactados\u00bb en GO.<\/span><\/strong><\/p>\n<p><strong style=\"font-size:20px\">C<\/strong><br \/>\nSe trata de un lenguaje d\u00e9bilmente tipificado de medio nivel pero con muchas caracter\u00edsticas de bajo nivel. Dispone de las estructuras t\u00edpicas de los <span class=\"mw-redirect\">lenguajes de alto nivel<\/span> pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar c\u00f3digo en ensamblador con c\u00f3digo C o acceder directamente a <span class=\"mw-redirect\">memoria<\/span> o <span class=\"mw-redirect\">dispositivos perif\u00e9ricos<\/span>.<\/p>\n<p><strong style=\"font-size:20px\">Python<\/strong><\/p>\n<p>Es un lenguaje de programaci\u00f3n multiparadigma. Esto significa que m\u00e1s que forzar a los programadores a adoptar un estilo particular de programaci\u00f3n, permite varios estilos: programaci\u00f3n orientada a objetos, programaci\u00f3n estructurada y programaci\u00f3n funcional. Otros muchos paradigmas m\u00e1s est\u00e1n soportados mediante el uso de extensiones. Python usa tipo de dato din\u00e1mico y <span class=\"mw-redirect\">reference counting<\/span> para el manejo de memoria. Una caracter\u00edstica importante de Python es la resoluci\u00f3n din\u00e1mica de nombres, lo que enlaza un m\u00e9todo y un nombre de variable durante la ejecuci\u00f3n del programa (tambi\u00e9n llamado ligadura din\u00e1mica de m\u00e9todos).<br \/>\nPython permite dividir el programa en m\u00f3dulos reutilizables desde otros programas Python. Viene con una gran colecci\u00f3n de m\u00f3dulos est\u00e1ndar que se pueden utilizar como base de los programas. Tambi\u00e9n hay m\u00f3dulos incluidos que proporcionan E\/S de ficheros, llamadas al sistema, sockets y hasta interfaces a <span class=\"mw-redirect\">GUI<\/span> (interfaz gr\u00e1fica con el usuario) como Tk, GTK, Qt entre otros.<\/p>\n<p><strong style=\"font-size:20px\">Pascal<\/strong><\/p>\n<p>Pascal se caracteriza por ser un lenguaje de programaci\u00f3n estructurado fuertemente tipificado. Esto implica que:<\/p>\n<ol>\n<li>El c\u00f3digo esta dividido en porciones f\u00e1cilmente legibles llamadas <em>funciones o procedimientos<\/em>. De esta forma <em>Pascal<\/em> facilita la utilizaci\u00f3n de la <em>programaci\u00f3n estructurada<\/em> en oposici\u00f3n al antiguo estilo de <em>programaci\u00f3n monol\u00edtica<\/em>.<\/li>\n<li>El <em>tipo de dato<\/em> de todas las variables debe ser declarado previamente para que su uso quede habilitado.<\/li>\n<\/ol>\n<p><strong style=\"font-size:20px\">Modula-3<\/strong><\/p>\n<p>Es un lenguaje de programaci\u00f3n imperativo, estructurado y modular, concebido como el sucesor de Modula-2.<\/p>\n<p>Las principales caracter\u00edsticas del lenguaje son su simplicidad y la seguridad, adem\u00e1s de conservar la potencia de los lenguajes de programaci\u00f3n de sistemas.<\/p>\n<p><strong style=\"font-size:20px\">Oberon<\/strong><\/p>\n<p>Oberon puede considerarse una evoluci\u00f3n de Modula-2 con un soporte completo de orientaci\u00f3n a objetos. De este lenguaje y de sus antecesores hereda buena parte de la sintaxis y de la filosof\u00eda. Su creador siempre ha intentado simplificar los lenguajes sin que por ello se pierda en potencia. Tambi\u00e9n est\u00e1 dise\u00f1ado con la seguridad en mente: tiene chequeos de rango en <em>arrays<\/em>, <span class=\"mw-redirect\">recolector de basura<\/span> y es fuertemente tipado. Sin embargo, por su intento de simplicidad carece de enumeraciones y enteros restringidos en rango, los cuales pueden implementarse como objetos.<\/p>\n<p>La sintaxis de orientaci\u00f3n a objetos de Oberon no se parece a la de otros lenguajes m\u00e1s populares como C++ o Java, pero s\u00ed guarda similitud con la de <span class=\"mw-redirect\">Ada 95<\/span>.<\/p>\n<p><span class=\"new\">Oberon<\/span> es tambi\u00e9n el nombre de un sistema operativo, escrito en este lenguaje y para este lenguaje. Oberon se ha portado a otros sistemas (incluyendo a <span class=\"mw-redirect\">Windows<\/span> y sistemas Unix) e incluso se puede compilar en <span class=\"new\">c\u00f3digo de bytes<\/span> para la <span class=\"mw-redirect\">m\u00e1quina virtual de Java<\/span>. Tambi\u00e9n existe un proyecto para crear un compilador para la <span class=\"new\">plataforma .NET<\/span>.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>Temas relacionados.<\/strong><\/span><\/p>\n<p>Un lenguaje de programaci\u00f3n es <strong>fuertemente tipado<\/strong> si no se permiten violaciones de los tipos de datos, es decir, dado una variable de un tipo concreto, no se puede usar como si fuera una variable de otro tipo distinto a menos que se haga una conversi\u00f3n. No hay una \u00fanica definici\u00f3n de este t\u00e9rmino. Un lenguaje que no es fuertemente tipado se dice que no est\u00e1 tipado.<\/p>\n<p><strong style=\"font-size:20px\">Ada<\/strong><br \/>\nEs un lenguaje de programaci\u00f3n orientado a objetos y <span class=\"mw-redirect\">fuertemente tipado<\/span> de forma est\u00e1tica que fue dise\u00f1ado por Jean Ichbiah de <span class=\"new\">CII Honeywell Bull<\/span> por encargo del Departamento de Defensa de los Estados Unidos. Es un lenguaje multiprop\u00f3sito, orientado a objetos y <span class=\"mw-redirect\">concurrente<\/span>, pudiendo llegar desde la facilidad de Pascal hasta la flexibilidad de C++..<\/p>\n<p>Fue dise\u00f1ado con la seguridad en mente y con una filosof\u00eda orientada a la reducci\u00f3n de errores comunes y dif\u00edciles de descubrir. Para ello se basa en un tipado muy fuerte y en chequeos en tiempo de ejecuci\u00f3n (desactivables en beneficio del rendimiento). La sincronizaci\u00f3n de tareas se realiza mediante la primitiva <span class=\"mw-redirect\">rendezvous<\/span>.<\/p>\n<p>Ada se usa principalmente en entornos en los que se necesita una gran seguridad y fiabilidad como la defensa, la aeron\u00e1utica (Boeing o Airbus), la <span class=\"mw-redirect\">gesti\u00f3n del tr\u00e1fico a\u00e9reo<\/span> (como <span class=\"new\">Indra<\/span> en Espa\u00f1a) y la industria <span class=\"mw-redirect\">aeroespacial<\/span> entre otros.<\/p>\n<p>Recopilaci\u00f3n: <strong>Fabi\u00e1n<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Y una vez m\u00e1s Google nos sorprende, con un proyecto que dar\u00e1 mucho de que hablar, apuestan a algo bastante importante y de mucha responsabilidad, un nuevo lenguaje llamado GO. Esta es de c\u00f3digo abierto y se basa en la familia de programaci\u00f3n de C pero con elementos de Python y la familia de Pascal, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[],"tags":[],"_links":{"self":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/634"}],"collection":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/comments?post=634"}],"version-history":[{"count":9,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/634\/revisions"}],"predecessor-version":[{"id":636,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/634\/revisions\/636"}],"wp:attachment":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/media?parent=634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/categories?post=634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/tags?post=634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}