Ir al contenido principal

Entradas

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 of...

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 d...

Python: Strings

Muchas veces tenemos que tratar cadenas de texto para darles un formato, obtener caracteres en específico, o hasta reemplazarlas. Python nos permite hacer esto de manera muy sencilla. Veremos unos cuantos ejemplos de ello. str. capitalize() "mi caballo corre mucho".capitalize() # Mi caballo corre mucho str. upper() "python".upper() # PYTHON str. lower() "LA PROGRAMACION ES DIVERTIDA".lower() # la programacion es divertida str. replace ( original , nueva ) "Mario".replace('o','a') # Maria Estas son algunas funciones para tratar cadenas de texto. Podemos acceder a la documentación desde el interprete de Python:  help(str) Te mostrara las funciones como find(), startwith(), entre otras más.

Aprende Python con PythonTutor

Existe un sitio llamado http://www.pythontutor.com/ que nos permite conocer el flujo de un programa escrito en Python. Puedes ver cargar un ejemplo o escribir tu propio código y ver como funciona paso a paso. Como se ve en la imagen, se muestra el código, el flujo del mismo y el resultado. Es bastante útil conocer como funciona el código escrito, incluso si existe errores en este. Links http://www.trypython.org/ http://ironpython.net/try/

Python: lo complejo es mejor que lo complicado

Muchos preguntan cuál es el mejor IDE para Python, a mi parecer no existe el IDE perfecto . Algunos les parece muy cómodo seguir usando un simple editor de textos y la terminal de comando para escribir y ejecutar sus aplicaciones (obvio que muchas veces es mejor tener una herramienta que ahorre trabajo).  Un IDE como Eclipse nos permite probar varias alternativas. Una de ellas es: PyDev . ¿Cómo instalar PyDev en Eclipse? Es necesario ir al menú Help -> Install New Software y pegar el siguiente enlace en Work with:   http://pydev.org/updates Aparecerá esto: Y seguir los pasos de instalación. Después elegimos crear un nuevo proyecto tipo Python. Te pedirá configurar el PYTHONPATH , en este caso uso Linux y por lo general se encuentra en: /usr/bin/python"Version" . Yo tengo la 2.7. Una vez configurado continua la creación del proyecto. El editor de código es bastante intuitivo y el autocompletado me parece adecuado.

Clojure: instalando Leiningen

Existe una herramienta llamada Leiningen que nos permite crear proyectos en Clojure de manera más ordenada. También podemos hacer uso del REPL de Clojure mediante esta herramienta. ¿Cómo se instala Leiningen ? Debemos seguir 4 pasos. Descargar este script   Guardarlo en nuestro $PATH como lein(o lein.bat si usan Windows). En Linux darle permisos de ejecución: chmod a+x /bin/lein. Desde terminal escribir lein para empezar. Actualización. Existe otra forma para instalar Leiningen. Es necesario contar con SDKMAN! instalado. Teclear en una terminal: $ sdk install leiningen Eso es todo, ya tendremos instalada esta herramienta. Enlaces de interés http://alexott.net/en/clojure/ClojureLein.html http://www.bagdemir.com/2011/07/04/creating-new-projects-with-leiningen/ http://blog.8thlight.com/colin-jones/2010/11/26/a-leiningen-tutorial.html

Creando funciones: Clojure y Scala

¿Qué es una Función?,¿Para qué sirve? En programación, se considera un conjunto de sentencias que nos permiten resolver un problema determinado, también se considera un mini programa dentro de un programa. Estas funciones pueden o no devolvernos un resultado.                                  Función =   Entrada + Procesos + Salida Donde: Entrada: son las variables que conocemos del problema. Procesos: son las operaciones lógicas y matemáticas que resolverán un problema. Salida: es el resultado que queremos obtener. Ejemplo. Imaginemos que necesitamos resolver una operación aritmética como el cálculo del área y volumen de un cilindro. La entrada serán las variables base(b) y altura(h), los procesos son las operaciones aritméticas, y el resultado de esas operaciones (área y volumen) serán la salida. Fórmulas: área= 2*PI*base*base+2*PI*base*altura; volumen=PI*base*base*altura; ...