style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Lenguajes JVM

Otros lenguajes para la JVM (Groovy, Scala, Clojure, etc)

Kotlin: otro lenguaje más para la JVM

Les comparto la noticia del anuncio del pasado 19 de julio del nuevo lenguaje de programación enfocado en la JVM y desarrollado por Jetbrains.

http://hackerdou.com/?p=732

Scala: Parte 2

Los primeros pasos en Scala
Como había comentado en mi post anterior sobre el lenguaje Scala, mi pretensión es contribuir "paso a paso" con algunas de las cosas importantes de este lenguaje, discutiendo conceptos relevantes y algo de código para ilustrar esos conceptos.
Creo que es necesario aprender a caminar con pasos firmes para después correr, y por esa razón me voy despacio explicando cada cosa en su momento.
Casi todos los libros y tutoriales de Scala aconsejan comenzar con el intérprete de Scala y "oyendo" a los que saben voy a hacer lo mismo, aunque también me gustaría "saltar del REPL a programas completos. Esa forma me ha ayudado a entender el lenguaje, aunque debo confesar que aun me falta mucho por aprender y que bueno que sea así pues evito el aburrimiento.
El REPL (Read Eval Print Loop) es un shell interactivo que compila código de Scala y retorna el resultado (o el tipo) de manera inmediata. Espero que todos los que leen esto ya tengan en su máquina a Scala y puedan interactuar con el intérprete a medida que leen esta notas.
Definamos algunas variables en el REPL:

scala>val mensaje = "Hola Java Mexico"

Traductor Java Zone

Seguimos sacandole jugo a las apis de Google XD, desarrollamos un sencillo programa para mostrar el funcionamiento de la api de google translate.

Codigo Clase Principal

package clases;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.UnsupportedLookAndFeelException;
import com.google.api.translate.Language;
import com.google.api.translate.Translate;

public class Principal extends JFrame {

    JTextArea txtorigen,txtdestino;
    JComboBox comboorigen, combodestino;
    JButton btntraducir;
   
    public Principal(){
       
        try {
             UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
            } catch (ClassNotFoundException e) {
             e.printStackTrace();
            } catch (InstantiationException e) {

Scala: Parte 1

En este sitio se han discutido algunas de las cosas del lenguaje Scala, todas ellas muy interesantes y que han llamado la atención de los participantes en esta comunidad.

Tengo la intención de escribir varios artículos sobre este lenguaje de manera “disciplinada” lo que quiere decir comenzar desde el principio, aunque seguramente repetiré algunas de las cosas que ya se han dicho aquí. Eso no es traumático: a veces conviene leer lo que varios dicen sobre lo mismo.

Seguramente va a suceder que los posts queden “algo” extensos: pongo el parche antes que salga el grano, aceptando cualquier crítica al respecto y a otras cosas que pueda escribir aquí.

Comienzo entonces con una introducción al lenguaje. Para algunos será “pan comido” para otros será carbohidrato por digerir.

Scala es un lenguaje escalable
Scala es bautizado con ese nombre para precisamente decir que se inventa un lenguaje escalable.

Sobre invokeDynamic en Java 7

Nota Esta es una sobresimplificación, para más detalles ver el link al final.

Una cosa que viene en Java 7 esa si seguro es la instrucción invokeDynamic que si bien no será posible usar desde Java mismo, dará un boost sorprendente para todos los lenguajes dinámicos que corren sobre la JVM ( cuando sean portados claro ).

A manera de resumen y como una sobresimplificación ( que conste ):

Cuando Groovy, JRuby, Jython y otros lenguajes con tipeo dinámico invocan un método sobre la JVM hacen algo como esto:

def veamos( objeto )
    objeto.salvar()
end

Invocan al método salvar() pues... dinámicamente, al vuelo, siempre y cuando el objeto sea de una clase que tenga ese método. Si no lo tiene pues nomás truenan en runtime y ya.

La forma más fácil de entender como se invoca ese métod dinámicamente es pensar en algo similar a lo siguiente en Java:

Method m = objeto.getClass().getMetodo("salvar");
m.invoke( objeto );

Programación orientada a objetos para novatos

Principios de programación Orientada a Objetos

Presentación de Ryz en el HackerRoomMx ( vie. 27 mayo 2011 8 p.m. )

Después de casi un mes de atraso derivado entre otras cosas que mi disco duro voló, por fin he decidido hacer una presentación del lenguaje de programación Ryz que llega al fin a su pre-pre-pre-Alpha release.

En esta presentación hablaré sobre las características del lenguaje y algunos aspectos sobre su origen, estado actual y siguientes pasos. Habrá claro algún ejemplo para que no sea todo teórico.

En esta presentación no hablaré sobre la implementación, en parte porque da pena y en parte porque no es la idea ( para no desilusionarse tan rápido ) Pero si no nos corren pues podemos quedarnos ahí un rato programando :)

Importante Esta es una versión pre-pre-pre-alpha y como tal tiene muchisimas "areas de oportunidad" :P, quedan advertidos.

La cita es el siguiente viernes 27 de mayo 2011 a las 8 p.m. en el mismísimo HackerRoom:

Rio Volga 80, Mezzanine 2-A
Col. Cuauhtemoc
Mexico, DF 06500

Atte:

Oscar Reyes de la Cruz
@OscarRyz
@ryz_language

Programando en Visual Basic 6 sobre Java: Jabaco

Si ya sé muchos odian VB, pero me llamó la atención este programa.

Es demasiado parecido al original VB6, salvo algunas diferencias, la más importante es que corre sobre la máquina virtual de java (necesitas instalarla antes de usarlo).

Conserva muchos de los controles clásicos como Text, List, Combo, etc. Puedes crear archivos .bas, clases, y controles.

Creo que hasta corre más rápido que el original (según yo). Tiene las mismas estructuras de control como:

  • For..Next
  • If..Then..Else
  • While...Wend
  • Select Case...

Puedes enlazar tus programas a cualquier base de datos, convertir los proyectos de VB6 a Jabaco.

Algunos ejemplos.

1. Un login muy sencillo (sin BD)

Public Sub Command1_Click()
Dim nombre, clave As String
nombre=Trim(Text1.Text): clave=Trim(Password1.Text)
If nombre = "" Or clave = "" Then
MsgBox "Usuario y/o clave no deben" & vbCrLf & "ser campos vacíos", vbCritical, "Aviso del
sistema"

Else
If nombre = "admin" And clave = "4321" Then
Form1.Close
Else
MsgBox "Usuario y/o clave " & vbCrLf & "no coinciden", vbCritical, "Aviso del sistema"

Vaadin

commin soon

Ceylon: El proyecto secreto de RedHat que ha mantenido a Gavin King muy ocupado

Hace mucho tiempo, Gavin King anuncio en su blog que se iba a retirar a trabajar a un proyecto secreto que le llevaría bastante tiempo. Este lunes ha hecho un sneak peek de dicho proyecto: El proyecto Ceylon.

Aqui pueden ver muchos de los detalles de las presentaciones de Gavin King en el QCon Beijing http://blog.talawah.net/2011/04/gavin-king-unviels-red-hats-top-secret.html

Y tambien ya hay entrada en la wikipedia http://en.wikipedia.org/wiki/Ceylon_Project Revisen al final de la entrada, hay unos PDFs que uso Gavin para presentarlo, no tienen desperdicio

Creo que RedHat se esta equivocado mucho con este proyecto. Se han tardado 2 años en hacerlo y dicen que a finales de año estará listo el compilador. Existen muchos lenguajes para la JVM como Groovy, Scala, Clojure, etc. que tienen mucha mas masa critica de usuarios y desarrolladores. No hace falta otro lenguaje, menos aún con lo horrible que es Ceylon.

¿Necesitamos otro lenguaje? ¿Gavin King olvido como hacer proyectos (Hibernate fue muy exitoso por ser abierto, Ceylon ha sido desarrollado a piedra y lodo)?

Distribuir contenido

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">