GO es la nueva propuesta de Google para incursionar en otro campo más que le quiere arrebatar a Microsoft: Los lenguajes de programación. GO es el lenguaje de programación de Google y entre sus más destacadas características se encuentra el hecho de ser de código abierto, a diferencia del lenguaje de Microsoft.

GO proviene de la fusión de varios lenguajes de familias de donde desciende, entre ellos el afamado lenguaje C. Aún asi incorpora elementos de Python (recordemos que es lenguaje preferido de Google, además que el creador de este lenguaje,, trabaja también alli), así como de la familia de Pascal/Modula/Oberon entre otros programas dinámicos.
Dado que han pasado 10 años en los que no se ha creado un nuevo leguaje de programación, Google considera que es el momento de dar el gran salto pues, según ellos mismos afirmaron en una conferencia de presentación, el mundode la web y la computación ha cambiado dramáticamente en esos últimos años, pero los lenguajes de programación no han evolucionado al mismo ritmo.
Sin embargo Google no solamente pretende el diseñar un lenguaje de programación que sea bastante eficiente, sino que desea que este lenguaje sea usado masivamente por miles de desarrolladores en la creación de aplicación web y de software a nivel mundial. A continuación el video donde Google da a conocer el lenguaje GO.
Aqui Google detalla en una presentación donde se exponen algunas características de este nuevo lenguaje GO da click en la liga a continuación para ver el video.
Video Aquí
Y si perteneces a la comunidad de programadores y no deseas perder más tiempo, entonces puedes comenzar revisando el tutorial que han preparado en la página oficial: http://golang.org/doc/go_tutorial.html y el manual de instalación. También revisar el enlace oficial de la página de GO siguiente al final del post.
Enlace: GoLang.org

Vía usejquery nos enteramos de esta colección publicada en Six Revisions de técnicas y efectos de animación con JQuery, en la semana estaré probando cada uno de ellos, pero se los dejo para que también los vayan probando e implementando, hay unos realmente impresionantes y últiles.
Les dejo uno que me pareció muy interesante, los demás los pueden ver directamente en la página de Six Revisions, viene tutorial y demo
Para el Demo da click sobre la Imagen
Los archivos que presento a continuación fueron los creados en clase, si presentan un bug favor de reportarlo en los comentarios.
Estos programas son en vb.Net sobre el Proyecto Mono, si deseas saber más acerca de este proyecto y ver algunos buenos ejemplos puedes visitar el blog de Enrique Aguilar.
clsMateria.vb
Option Explicit On
Option Strict On
Imports System
Namespace ServiceAlumnos
Public Class clsMateria
Inherits ServiceAlumnos.DataAbstractionLayer
Public Sub New()
MyBase.New
End Sub
Private _matricula As Integer
Private _materiaID As String
Private _Nombre As String
Private _Calificacion as Integer
Public Property Matricula () As String
Get
Return _matricula
End Get
Set (ByVal value as String)
_matricula = value
End Set
End Property
Public Property MateriaID () As String
Get
Return _materiaID
End Get
Set (ByVal value as String)
_materiaID = value
End Set
End Property
Public Property Nombre () As String
Get
Return _Nombre
End Get
Set (ByVal value as String)
_Nombre = value
End Set
End Property
Public Property Calificacion () As Integer
Get
Return _Calificacion
End Get
Set (ByVal value as Integer)
_Calificacion = value
End Set
End Property
Public Overrides Sub Read(ByVal dr As MySql.Data.MySqlClient.MySqlDataReader)
_materiaID = dr("MateriaID")
_Nombre = dr("Nombre")
_Calificacion = dr("Calificacion")
End Sub
End Class
End Namespace |
clsAlumnos.vb
Option Explicit On
Option Strict On
Imports System
Imports System.Data
Imports System.Collections.Generic
Namespace ServiceAlumnos
Public Class clsAlumno
Inherits ServiceAlumnos.DataAbstractionLayer
Public Sub New()
MyBase.New
End Sub
Public Sub New(ByVal _cnnMySQL As MySql.Data.MySqlClient.MySqlConnection)
MyBase.New(_cnnMySQL)
End Sub
Private _materiaDetails As New List (Of clsMateria)
Private _matricula As Integer
Private _nombre As String
Private _apellidos As String
Public Property Matricula() As Integer
Get
Return _matricula
End Get
Set(ByVal value As string)
_matricula = value
End Set
End Property
Public Property Nombre() As String
Get
Return _nombre
End Get
Set(ByVal value As string)
_nombre = value
End Set
End Property
Public Property Apellidos() As String
Get
Return _apellidos
End Get
Set(ByVal value As string)
_apellidos = value
End Set
End Property
Public ReadOnly Property MateriaDetails() As List(of clsMateria)
Get
Return _materiaDetails
End Get
End Property
Public Overrides Sub Read(ByVal dr As MySql.Data.MySqlClient.MySqlDataReader)
_matricula=dr("Matricula")
_matricula=dr("Matricula")
_nombre=dr("Nombre")
_apellidos=dr("Apellidos")
Dim strSQL As String = "SELECT * FROM Materias WHERE Matricula = " & _matricula
Dim cnn As New MySql.Data.MySqlClient.MySqlConnection("Data Source=localhost;Initial Catalog=Escuela;User Id=root;Password=kalabaza")
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(strSQL,cnn)
Dim drReader As MySql.Data.MySqlClient.MySqlDataReader=cmd.ExecuteReader()
While drReader.Read()
Dim objMateria As New clsMateria()
objMateria.Read(drReader)
_materiaDetails.add(objMateria)
end While
drReader.Close
cnn.Close
End Sub
End Class
End Namespace |
clsDAL.vb
Option Explicit On
Option Strict On
Imports System
Imports System.Data
Imports MySql.Data.MySqlClient
Namespace ServiceAlumnos
Public MustInherit Class DataAbstractionLayer
Protected cnnMySQLConnection As MySqlConnection
Public Sub New ()
MyBase.New()
End Sub
Public Sub New (ByVal _cnnConnection As MySqlConnection)
cnnMySQLConnection=_cnnConnection
CheckStatusConnection()
End Sub
'Definicion de Metodos Abstractos
Public MustOverride Sub Read(ByVal _drDataReader As MySqlDataReader)
Public Overridable Sub SetConnection(ByVal _cnnConnection As MySqlConnection)
cnnMySQLConnection=_cnnConnection
CheckStatusConnection()
End Sub
Public Sub ExecuteNonQuery(ByVal cmdCommand As MySqlCommand, ByRef errError As String)
If cnnMySQLConnection IsNot Nothing Then
Dim tscTransaction As MySqlTransaction = cnnMySQLConnection.BeginTransaction
try
cmdCommand.Connection=cnnMySQLConnection
cmdCommand.Transaction=tscTransaction
cmdCommand.ExecuteNonQuery()
tscTransaction.Commit()
Catch exMySQL As MySqlException
errError="Data Provider: MySQL Server" & vbCrlf & "Numero del Error" & exMySQL.Number & vbCrLf & _
"Descripcion del Error: " & exMySQL.Message
tscTransaction.RollBack()
Catch ex As Exception
errError = "Origen de Error: " & ex.Source & vbCrLf & "Descripcion del Error: " & ex.Message
Finally
cnnMySQLConnection.Close()
cnnMySQLConnection.Dispose()
End Try
End If
End Sub
Protected Sub CheckStatusConnection()
If cnnMySQLConnection IsNot Nothing Then
If cnnMySQLConnection.State=ConnectionState.Closed Then
cnnMySQLConnection.Open()
End IF
End If
End Sub
End Class
End Namespace |
Webservice
Option Explicit On
Option Strict On
Imports System
Imports System.Web
Imports System.Web.Services
Imports System.Collections.Generic
Namespace ServiceAlumnos
Public Class ServiceAlumno
Inherits System.Web.Services.WebService
<webMethod()> _
Public Function GetAlumnos() As clsAlumno()
Dim objAlumnos As New List(Of clsAlumno)
Dim strSQL As String = "SELECT * FROM Alumno"
Dim cnn As New MySql.Data.MySqlClient.MySqlConnection("Data Source=localhost;Initial Catalog=Escuela;User Id=root;Password=kalabaza")
cnn.Open
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(strSQL,cnn)
Dim drReader As MySql.Data.MySqlClient.MySqlDataReader=cmd.ExecuteReader()
While drReader.Read()
Dim objAlumno As New clsAlumno()
objAlumno.Read(drReader)
objAlumnos.Add(ObjAlumno)
end While
drReader.Close
cnn.Close
End Function
End Class
End Namespace |
Y si te da flojera copiar el código aquí esta el rar de la solución: ServiceAlumnos