Ir al contenido principal

Entradas

Comparando lenguajes: Lua y Python

En este post haremos una pequeña comparativa entre dos lenguajes de scripting: Lua & Python Lua Un lenguaje relativamente "nuevo" que ha empezado a tener cierta popularidad actualmente. Un lenguaje que es sumamente fácil de aprender. Muchos de los juegos populares se han programado en éste lenguaje. Que aunque muy simple, ha resultado muy poderoso. Lua combina una sintaxis procedimental sencilla con potentes construcciones de descripción de datos basadas en matrices asociativas y semántica extensible. Lua tiene tipado dinámico, se ejecuta interpretando el código de bytes para una máquina virtual basada en registros y tiene gestión automática de memoria con recolección de basura incremental, lo que lo hace ideal para configuración, programación y creación rápida de prototipos. Python El lenguaje favorito de muchos y de otros no tanto. En el cual permite la programación funcional, procedimental y orientada a objetos. Python también tiene tipado dinám...
Entradas recientes

Java en Python con Pyjnius

En una entrega anterior vimos como instalar Pyjnius : Python: instalando Pyjnius Como se dijo, Pyjnius es una librería para Python que permite acceder a clases Java. Es decir, podrás agregar clases Java a tus programas Python. Ejemplo 1. Creamos un programa que borre dos elementos de una lista, esto implementando la clase `` Stack `` de Java. stack.py from jnius import autoclass Stack = autoclass ( ' java.util.Stack ' ) stack = Stack ( ) stack . push ( ' ABC ' ) stack . push ( ' DEF ' ) print ( stack . pop ( ) ) # --> 'DEF' print ( stack . pop ( ) ) # --> 'ABC' Ejecución: $ py stack.py Salida: DEF ABC Ejemplo 2. Programa que solicite la edad de una persona para entrar a ver una película. Si su edad es igual o mayor a 18, puede ver la película. En caso contrario, no podrá hacerlo. Para esto usaremos la clase `` JOptionPane `` de Java para mostrar el aviso. pelicula.py from jnius import autocla...

Frameworks web para Haskell

  Los frameworks web nos ayudan a: Tener una configuración y estructura base para nuestras aplicaciones. Nos ayuda a reutilizar código. Automatizar tareas tediosas y repetitivas. Mayor seguridad. Tener un desarrollo comunitario. Mejor rendimiento y escalabilidad. Facilitan las pruebas unitarias. Nos ayudan con mejores prácticas y compatibilidad con los estándares. "Un framework web puede ser una herramienta poderosa para acelerar el desarrollo, mejorar la calidad del código y la seguridad de tu aplicación, todo mientras te permite enfocarte más en la lógica de negocio de tu proyecto" . En está ocasión veremos algunos de los frameworks web para Haskell. IHP: https://ihp.digitallyinduced.com/ Snap: http://snapframework.com/ Yesod: https://www.yesodweb.com/ Cada uno de éstos framework posee sus propias características y peculiaridades. El más famoso es Yesod, el cual se basa en plantillas para generar instancias de entidades listadas y funciones de procesami...

Rocket: un framework web para Rust

Rocket Framework es: Un framework web escrito en Rust.   Inspirado en Rails, Flask, Bottle y Yesod.  Admite el manejo de solicitudes HTTP, Web Sockets, JSON, plantillas y más. Creando un proyecto con Rocket Framework En primer lugar, verificamos la instalación de Rust en nuestras máquinas: rustc - - version Continuamos con la configuración de Rust nightly como nuestra cadena de herramientas predeterminada ejecutando el comando: rustup default nightly Si lo prefieres, una vez que configuremos un directorio de proyecto en la siguiente sección, puedes usar anulaciones por directorio para usar la versión nocturna solo para tu proyecto Rocket ejecutando el siguiente comando en el directorio: rustup override set nightly Creamos nuevo proyecto `` hola-rocket `` y nos ubicamos en el directorio creado: cargo new hola - rocket - - bin cd hola - rocket Con Cargo, agregamos la dependencia de rocket: cargo add rocket Abrimos el archivo `` Cargo.toml `` Ca...

Revel: un framework para Go

En una anterior entrega vimos una lista de Frameworks enfocados en Go. Hoy veremos qué es Revel Framework , un framework flexible para Go. Listar versión de Golang : go version Instalamos el framework: go install github . com / revel / cmd / revel @latest Obtener herramienta en línea: go get github . com / revel / cmd / revel Nota: debemos setear la variable de entorno %GOPATH% (en Windows) o $GOPATH (en Linux). Verificar la instalación: revel Salida: Usage: revel [ OPTIONS ] < command > Application Options : / v , / debug If set the logger is set to verbose / historic - run - mode If set the runmode is passed a string not json / historic - build - mode If set the code is scanned using the original parsers , not the go . 1.11 + / X , / build - flags : These flags will be used when building the application . May be specified multiple times , ...

Un vistazo a los frameworks para Go

Para cualquier programador ninguna ayuda puede dejarse de lado. Un framework tiene por sentido de existencia hacer que lo difícil al menos sea no tan difícil de hacer. Proveeyendo de funciones o métodos que harán que el programador consuma menos tiempo en programarlas por sí mismo. Aquí una lista de Framworks para Go: Beego ( https://beego.wiki/ )   es un framework inspirado en Tornado, Sinatra and Flask. Echo ( https://echo.labstack.com/ )es un framework minimalista, de alto rendimiento y extendible.   Fiber ( https://gofiber.io /)es un framework web inspirado en Express escrito en Go.   Gin ( https://gin-gonic.com/ ) es un framework minimalista para el desarrollo de aplicaciones web rápidas y escalables.   Martini ( https://github.com/go-martini/martini )es otro framework web popular con una interfaz sencilla para manejar rutas, middleware y enrutamiento.    Revel ( https://revel.github.io/ ) un framew...

Tipos de datos en ZigLang

Continuando con la serie de ZigLang ahora veremos los tipos de datos. Tipos de datos primitivos Tenemos los primitivos (tipos básicos): i8. u8.  i16.  u16.  i32. u32. i64. u64.  isize.  usize. f16.  f32.  f64.  bool.  type.  anyerror.  entre otros más. Ejemplo 1. Este programa viene en la documentación oficial. string_literals.zig const print = @ import ( " std " ) . debug . print ; const mem = @ import ( " std " ) . mem ; // will be used to compare bytes pub fn main ( ) void { const bytes = " hello " ; print ( " {} \n " , . { @ TypeOf ( bytes ) } ) ; // *const [5:0]u8 print ( " {d} \n " , . { bytes . len } ) ; // 5 print ( " {c} \n " , . { bytes [ 1 ] } ) ; // 'e' print ( " {d} \n " , . { bytes [ 5 ] } ) ; // 0 print ( " {} \n " , . { 'e' = = '\x65' } ) ; // true print ( " {d} \n " , . { '\u{1f...