Go el nuevo lenguaje de programacion de Google

11 11 2009

gogopher

bueno como los chicos de Google no esta quietos nunca han decidido lanzar su propio lenguaje de programación llamado GO que supuestamente  combina la seguridad y rendimiento de C++ con la velocidad de un lenguaje dinámico como Pythony es Open Source

Este extecto lo saque de Genbeta

Con este lenguaje Google espera ofrecer una buena herramienta para trabajar en entornos con multiprocesadores y un modo fácil de ponerse a programar con la orientación a objetos y con las ventajas de tener, por ejemplo, el garbage collector para que no tengamos problemas de memoria. Podemos ver un ejemplo del aspecto del código de Go con el código típico del Hola Mundo:

package main

import “fmt”

func main() { fmt.Printf(“Hello, 世界\n”)
}

En la web oficial ya están disponibles tutoriales y documentación para los que se animen empiecen a probar sus proyectos en este nuevo lenguaje. La mascota de Go es una ardilla terrestre llamada Gordon (en inglés el animal es un Gopher… Go, Gopher, Gordon).

 

bueno a mi perecer es algo parecido a Vala que es un leguaje de programacion creado por la gente de Gnome que hace casi lo mismo pero en ves de basarse en la pare dinamica de Pyhton como lo hace Go ellos toman como modelo al C-Sharp

Ejemplos de código

Un simple programa «Hola mundo»:


void main () {
print («Hola mundo\n»);
}

Un ejemplo un poco mas complejo, con algunas de las características de orientación a objetos:

class Sample : Object {
void run () {
stdout.printf («Hola mundo\n»);
}

static void main (string[] args) {
var sample = new Sample ();
sample.run ();
}
}


Vía | TechCrunch
Sitio oficial | Golang
Vídeo | Youtube

 

 





FatELF: binarios universales para Linux

25 10 2009

FatELF es nuevo formato de archivo que permite «embeber» múltiples archivos binarios ELF (Executable and Linkable Format) para diferentes arquitecturas en un solo archivo mucho más fácil de distribuir. Básicamente, es el equivalente para Linux de lo que en Mac OS X se conoce como Universal Binary, un archivo ejecutable que incluye las versiones compiladas para PowerPC y x86 de una determinada aplicación, lo que le permite ejecutar nativamente en ambas arquitecturas sin un impacto negativo en la performance.

Sólo algunos de los beneficios anunciados que FatELF traería a Linux incluyen:

  • Ya no será necesario que las distribuciones tengan descargas separadas para varias plataformas.
  • Ya no será necesario tener directorios /lib, /lib32 y /lib64 separados.
  • Ya no será necesaria la librería de compatibilidad ia32.
  • Soporte para binarios de 32 y 64 bits en un sólo archivo.
  • Se podrá distribuir un único archivo que funcione en Linux y en FreeBSD.

Y no menos importante, el proyecto de FatELF cree que este concepto podría usarse para facilitar una transición progresiva de la plataforma de 32 bits a la de 64, de una forma similar a como Apple lo hizo muy exitosamente de PowerPC a Intel en todas sus Macs gracias a sus propios binarios universales.

Para demostrar FatELF hay una imágen ISO de 1.8 Gb de una máquina virtual de VMWare con Ubuntu 9.04, que debería ser capaz de ejecutarse igual de bien con VMWare Workstation, VMWare Player o VMWare Fusion en Linux, Mac OS X o Windows.

yo espero que con esto tambien venga con una opcion para compilado manual de archivos,m asi seria una forma mejor de tambien ver ciertos pasos que se realiza como cuando ejecutas un archivo en tar.gz pero solo es una opnion y aparte que sea compatible para sistemas agenos a linux y bsd como (windows y mac os y las ramas de los solaros)





Para los que les gusta el .Net pero no windows Mono 2.4 y MonoDevelop 2.0 anunciados oficialmente

13 04 2009

Mono 2.4

Mono es la implementación libre de la plataforma .NET de Microsoft para sistemas Linux/Unix, Windows y otros más específicos como iPhone y Nintendo Wii. En el caso de Linux ha ayudado a crear aplicaciones nativas complejas como Gnome-Do o Banshee sin tener que lidiar con lenguajes como C/C++ o Java.

El fundador y líder del proyecto Miguel de Icaza, quien también es el fundador de GNOME, anuncia en su blog la disponibilidad simultánea de la versión 2.4 de Mono y la versión 2.0 de MonoDevelop, el entorno de desarrollo integrado libre basado en Mono.

Los cambios en Mono 2.4 se pueden ver en sus notas de lanzamiento y cubren areas de compatibilidad y rendimiento. Entre otras mejoras, aquí destacamos:

  • Mejoras en el soporte de SIMD : La máquina virtual de Mono permite acceder a operaciones SIMD desde un lenguaje de alto nivel como C#. Las operaciones SIMD se utilizan para realizar calculos en paralelo dentro del procesador en un solo paso, su uso por excelencia es la manipulación de vectores y/o matrices, una de las funciones críticas de aplicaciones multimedia. Este soporte fue agregado en Mono 2.2 y ha sido mejorado en esta nueva versión. Con este tipo de funcionalidad Mono se transforma en una real alternativa para la programación de videojuegos.
  • Mejoras en el manejo de hebras : Hasta hace poco se tenía que recargar el sistema mediante polling para implementar operaciones con hebras de una forma independiente de la plataforma. Se ha cambiado por un nuevo diseño en donde esta técnica que consume recursos adicionales se ha eliminado.
  • Mejoras en sistemas multi-core : Cuando se usa una máquina virtual como en .NET y Java, una de las operaciones costosas es la recolección de basura, que se encarga de eliminar de la memoria todos los objetos que ya no se estén usando. Mono 2.4 habilita por omisión un mecanismo de recolección de basura que aprovecha la disponibilidad de multiples core’s en un procesador.
  • Soporte de sitios web precompilados. El Runtime de Mono ahora permite ejecutar sitios web que han sido precompilados por Visual Studio o la herramienta aspnet_compiler. Esto abre la puerta a poder ejecutar sitios web que han sido programados con otros lenguajes o características que aun no están disponibles en Mono.

MonoDevelop 2.0

En forma simultánea se anuncia el lanzamiento oficial de MonoDevelop el entorno de desarrollo integrado o IDE basado en Mono.

Las mejoras en esta versión son numerosas y pueden verse en forma completa en sus notas de lanzamiento. Aqui destacamos:

  • Debugger integrado : El debugger de MonoDevelop tiene todas las características que se esperan en un IDE, pero no sólo se puede usar con aplicaciones Mono, sino que también soporta aplicaciones nativas a través de una integración con gdb (GNU Debugger).
  • Soporte de autocompletado para C# 3.0
  • Soporte de Vala : ahora el poder de MonoDevelop también puede ser disfrutado por los programadores de Vala. Se trata de un lenguaje de programación de alto nivel que genera código en C, es una forma efectiva de utilizar todo ecosistema que hay para C pero sin tener que sufrir las limitaciones y dificultades de este lenguaje.
  • Mejor soporte de ASP.NET : MonoDevelop 2.0 es compatible con proyectos creados en Visual Studio y Visual Web Developer 2008. Además hay mejoras en el autocompletado del editor y un examinador del DOM (Document Object Model)
  • Nuevo editor de texto : El editor GtkSourceView estándar de GNOME ha sido reemplazado por un nuevo editor escrito completamente en C#. La idea es que este nuevo editor pueda ser desarrollado en forma más ágil y por más colaboradores en comparación al editor original escrito en C.

Bonus Track : Qyoto

Lo siguiente no tiene relación directa con este lanzamiento, pero si aún estás leyendo este artículo es mejor que vayas por un café, porque esto no te lo puedes perder.

Al ser Mono un proyecto muy cercano a GNOME, fue natural tener a GTK# como toolkit libre para implementar interfaces gráficas con Mono. En ese entonces, la alternativa de usar el toolkit Qt, componente fundamental de KDE, el competidor directo de GNOME en el area de escritorios libres para Linux, tenía el inconveniente de contar con un esquema de licenciamiento que dificultaba la creación de aplicaciones libres y comerciales con una teórica mezcla de C# y Qt.

Recientemente Trolltech, los creadores de Qt, fueron adquiridos por Nokia y en un movimiento que soprendió a muchos decidió cambiar la licencia de Qt a LGPL, una licencia más flexible que abre las puertas para poder combinar Qt con otros piezas de software que tengan otro tipo de licenciamiento, y de paso elimina cualquier restricción de crear aplicaciones libres y comerciales con Mono y Qt.

Qyoto es un binding para usar el toolkit Qt4 en aplicaciones Mono y ya han aparecido aplicaciones interesantes con esta mezcla, como es Synapse, una plataforma de mensajería instantánea avanzada, y por supuesto existe QyotoDevelop, una extensión para MonoDevelop creada por el mismo autor de Synapse para facilitar el desarrollo de aplicaciones Qt+Mono en MonoDevelop.

una aplicación Qt en Mono





Sam Ruby, gurú del código abierto, podría fichar por Microsoft

14 03 2009

«El director de la Fundación Apache, Sam Ruby, que lleva desde 1981 en IBM, ingresará próximamente en la plantilla de Microsoft según ha revelado el mismo Ruby en su blog. No es el primer gran desarrollador de código abierto que engrosa la plantilla del gigante del software propietario, aunque es curioso que Ruby haga el anuncio antes de recibir la oferta formal y de decidir si acepta o no, aunque por sus comentarios todo indica que engrosará la amplia plantilla de Microsoft.»





Construir y escalar aplicaciones en Rails: lecciones aprendidas

25 02 2009

«Vía Hacker News leo Building and Scaling a Startup on Rails: 12 Things We Learned the Hard Way, que repasa las dificultades se encontró el autor construyendo una aplicación web con rails y hacer que respondiera apropiadamente en su crecimiento. Algunos son lógicos, como buscar las consultas más lentas, y otros más llamativos, como usar memcached en una fase tardía del ciclo de vida de la aplicación. Muchos de los consejos son válidos también para otros entornos de desarrollo.»