sábado, 16 de enero de 2016

Cursos de Java por gente que no sabe Java


Link al vídeo
https://twitter.com/jsrdriguez/status/688791152267513857

ESTO PASA CUANDO NO SABES JAVA y TE PONES A DAR CURSOS :D
Posted by Carlos Mollapaza on Sábado, 16 de enero de 2016

Vídeo aquí https://www.facebook.com/carlosmollapaza/videos/725669387532518/

domingo, 18 de octubre de 2015

Groovy: uso de"with"

En los lenguajes dependientes de la JVM encontramos varias peculiaridades que no llaman la atención. Y Groovy no se queda atrás. 

Tenemos esta clase en Java:

class Cliente {
    private String nombre;
    public Cliente(){}

    public void setNombre(String nombre){
         this.nombre=nombre;
   }  

   public String getNombre(){
      return nombre;
   }
}

Y ahora en Groovy:

class Cliente{
    String nombre
}

Lo primero que notamos es que es menor código escrito. Pero también a la hora de instanciar encontramos algo como esto:

En Java:
Cliente cliente= new Cliente();

En Groovy:
def cliente= new Cliente(nombre:"")

Y para "settear":

En Java:
cliente.setNombre("El alquimista de código");

En Groovy nos permite hacer esto de varias formas:
def cliente=new Cliente(nombre:"El alquimista de código")

O de esta otra forma:
cliente.nombre="El alquimista de código"

Además de usar "with" para asignar valores:
def cliente = new Cliente()
cliente.with{
    nombre="El alquimista de código"
}


A Groovy se le considera "El Python de Java" por su sintaxis tan parecida a ese lenguaje.

domingo, 27 de septiembre de 2015

No todo en la NASA son OVNIS (que nos ocultan), también hay código OpenSource

Vía facebook comparto un link hacia la NASA OpenSource donde encontraremos varios códigos interesantes. Muchos de ellos escritos en lenguaje Python.


sábado, 15 de agosto de 2015

Rosalind: plataforma para bioinformáticos (usando Python)

Rosalind es una plataforma para aprender bio-informática (y programación) usando el lenguaje de programación Python.

Básicamente aprender en base a un listado de tareas a cumplir como pueden ser: la instalación de Python, uso de variables, cadenas y listas, etc.

Habrá que echarle un vistazo haber que tal.

Links
http://rosalind.info/problems/locations/
http://www.solociencia.com/biologia/bioinformatica-concepto.htm


sábado, 20 de junio de 2015

Conversor de códigos, de Java a C#

  Para los que programan en más de un lenguaje de programación les va parecer muy agradable saber que existen varias herramientas que nos permiten la conversión de nuestros programas a otros lenguajes de programación.

  Supongamos que hace tiempo escribieron en Java un programa para leer archivos y comprimirlos y ahora es necesario rehacerlo pero en otro lenguaje de programación (C#,Python, o hasta Perl).  Una de estas herramientas que nos permiten hacer conversión de código es varycode.

  Aquí un ejemplo:

   


Hacemos la conversión de Java a C# (converter code)

Muy intuitivo, no hay mucho que explicar.

Links
https://www.varycode.com/

domingo, 3 de mayo de 2015

Java y los lenguajes de la JVM

"La imitación es la forma más sincera de la adulación, muchas gracias"- ::James Gosling::
  
   ¿Tan solo existe Java?,¿Es el único lenguaje que debería aprender?,¿Qué puedo o no hacer con Java? Estas son tan solo unas preguntas habituales de todo programador, principiante o no, sobre este lenguaje.

    Detrás de Java existe un ecosistema; frameworks, APIs, librerías, etc., además de lenguajes que pueden correr bajo la plataforma Java (Java Virtual Machine), lenguajes como: Scala, Ceylon, Groovy, etc. Las empresas ciertamente no se arriesgaran en dejar un proyecto hecho en Java por aventurarse a probar algo nuevo (un nuevo lenguaje), por más ventajas tenga sobre este.

    Sin embargo, no sería malo darles una oportunidad en nuevos proyectos, probar y comprobar si son buenos o no en desarrollos futuros.

Antes de todo, ¿Quién es quién en los lenguajes dependientes de la JVM?

Scala
Creado por Martin Odersky, sitio oficial  http://www.scala-lang.org/, es un lenguaje que pretende unir el paradigma funcional con el de la orientación a objetos.

Ceylon
Creado por Gavin King, sitio oficial http://ceylon-lang.org/ ,es un lenguaje orientado a objetos que pretende darle una mejora al tipado estático de Java.

Groovy
Creado por James Strachan, y mantenido después por Guillaume Laforge, sitio oficial http://www.groovy-lang.org/ , un lenguaje orientado a objetos que tiene influencias de Python y Ruby principalmente, pero que conserva mucha de la sintaxis de Java.

Clojure
Creado por Rich Hickey, sitio oficial http://clojure.org/  , un lenguaje que es muy parecido a Lisp, orientado al paradigma funcional.

Jython
Creado por Jim Hugunin, sitio oficial http://www.jython.org/,  un lenguaje que  pretendde unir lo mejor de Python y Java.

JRuby
Creado por Jan Arne Petersen, sitio oficial http://jruby.org/ , un lenguaje que lleva lo mejor de Ruby a Java.

Kotlin
Creado por el equipo de JetBrains , sitio oficial http://kotlinlang.org/ , es un lenguaje que al igual que Ceylon defienden el tipado estático.

Existen otros lenguajes como Jabaco (una implementación de Visual Basic a Java) que también son dependientes de la JVM.

Links
http://emanuelpeg.blogspot.mx/2013/07/las-personas-detras-del-lenguaje.html
http://www.ecured.cu/index.php/Groovy

sábado, 11 de abril de 2015

Pair programming

   La programación en parejas (pair programming) es una práctica en la que dos programadores trabajan conjuntamente en el desarrollo de código. Pretende dar un nuevo enfoque a la hora de programar.

   Entre los pros de esta práctica se puede encontrar que:
 - Existe menos errores en los códigos
 - Retroalimentación entre programadores

   Y en contra:
 - Más tiempo en la escritura de código
 - No siempre los programadores se entienden ni complementan adecuadamente

   Imaginemos un escenario donde existe un programador experto y uno con poca o nula experiencia. Se puede dar el caso en que el programador experto cumpla el rol de "maestro o guía" para el programador incipiente, orientándolo y sugiriendo mejoras a su código. También se puede dar el caso en que ninguno de los dos se entienda, uno por carecer de la paciencia y deseos de enseñar a quien no sabe, y el otro por carecer de experiencia y no entender lo que se le dice.

Existen defensores de esta práctica que afirman que se obtiene mejores resultados que trabajar solitariamente, y detractores que indican que es todo lo contrario.

Como dice el dicho: "Dos cabezas piensan mejor que una ... o tal vez no".

Links
http://www.javamexico.org/blogs/oscarryz/pair_programming_una_practica_extrema