Ir al contenido principal

Entradas

Comparativa entre Odin y C

En está ocasión haremos una breve comparativa entre dos lenguajes de programación: C y Odin . C , un lenguaje de programación estructurado y "multi propósito" que se niega a morir versus Odin , un nuevo lenguaje de programación que toma lo mejor de lenguajes como C, C++ o Java para resolver los grandes problemas que se dejaron pendientes (como el manejo de memoria, entre otros). Por ejemplo, Odin fue diseñado para evitar las complejidades y los problemas potenciales de las macros (como depuración difícil o errores de precedencia). En su lugar, confía en un sistema de tipos fuerte y en la capacidad del compilador para optimizar funciones inline, ofreciendo un enfoque más limpio y seguro. Veamos un ejemplo de macro (sustituciones textuales realizadas por el preprocesador antes de la compilación) en C . main.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include<stdio.h> // Definimos la MACRO para determinar si un número es mayor a 100 #def...
Entradas recientes

Odin language: el lenguaje de programación orientado a datos para un desarrollo de software sensato

En esta serie sobre lenguajes de programación hablamos de Odin , un lenguaje orientado a datos. Un nuevo lenguaje de programación que nos podrá recordar a lenguajes como C++, Python, Golang o hasta Rust. Instalación (Windows): 1 2 3 4 $ git clone https://github.com/odin-lang/Odin $ cd Odin $ git pull $ build.bat release Debemos asegurarnos de crear la variable de entorno: Nombre: ODIN_HOME Valor: C:\Users\HP\Documents\pruebasOdin\Odin Ejemplo 1. Como primer programa tendremos al clásico "Hola, mundo". holamundo.odin package holamundo import " core:fmt " main : : proc ( ) { fmt . println ( " ¡Hola, mundo desde Odin! " ) } Construimos: $ odin build holamundo . odin - file Ejecutamos: $ holamundo .exe Recordar que si usamos Visual Studio Code podemos instalar el plugin de Odin Language: https://marketplace.visualstudio.com/items?itemName=DanielGavin.ols Ejemplo 2. Programa que muestre las variables que pod...

Rholang: lenguaje de programación blockchain abierto y escalable

Rholang  es un lenguaje de programación diseñado específicamente para sistemas distribuidos y blockchain , con un enfoque en la concurrencia y la creación de contratos inteligentes. Está basado en el cálculo rho ( reflective higher-order calculus ), lo que lo hace ideal para desarrollar aplicaciones que requieren alta escalabilidad, seguridad y procesamiento paralelo. Es orientado orientado a procesos, el cómputo se realiza mediante el paso de mensajes. Los mensajes se transmiten por canales, que son similares a colas de mensajes.   Los canales se comportan más como bolsas ( multiconjuntos ) que como colas, ya que no existe un ordenamiento implícito de los mensajes   Es completamente asíncrono, en el sentido de que, si bien se puede leer un mensaje de un canal y luego hacer algo con él, no se puede enviar un mensaje y luego hacer algo una vez recibido, al menos no sin esperar explícitamente un mensaje de acuse de recibo del receptor.  Cada canal t...

Solidity en un vistazo

Como vimos en el post pasado, Solidity es un lenguaje de programación para programar Smart contracts que se ejecutarán en el blockchain Ethereum . Herramientas que se necesitan para programar con Solidity Editor de código como Visual Studio Code : https://code.visualstudio.com/ .  Remix IDE para compilar tu código: https://remix.ethereum.org/   Truffle , un framework popular que facilita la escritura, prueba e implementación de contratos: https://archive.trufflesuite.com/   Metamask (o una wallet similar), para gestionar tus claves privadas y Ether : https://chromewebstore.google.com/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=es&pli=1 IPFS , un conjunto de protocolos componibles punto a punto para direccionar, enrutar y transferir datos direccionados por contenido en un sistema de archivos descentralizado: https://docs.ipfs.tech/install/ipfs-desktop/ Etherscan , es una plataforma de exploración y análisis de bloques para Ethereum , una plataf...

Solidity: un lenguaje de programación para contratos inteligentes

Solidity es un lenguaje de alto nivel orientado a objetos para implementar contratos inteligentes ( smart contracts ). Los contratos inteligentes son programas que rigen el comportamiento de las cuentas dentro del estado de Ethereum . Se ejecutan automáticamente en la blockchain (en este caso Ethereum) cuando las condiciones preestablecidas se cumplen. Un contrato en el sentido de Solidity es una colección de código (sus funciones ) y datos (su estado ) que reside en una dirección específica en la cadena de bloques de Ethereum . Veamos un ejemplo sencillo: Ejemplo 1. Un contrato denominado SimpleStorage para setear y obtener un dato de tipo uint . // SPDX-License-Identifier: GPL-3.0 pragma solidity >= 0.4 .16 < 0.9 .0 ; contract SimpleStorage { uint storedData ; function set ( uint x ) public { storedData = x ; } function get ( ) public view returns ( uint ) { return storedData ; } } Podríamos...

Gorilla Web Toolkit, un "framework" para Go(lang)

En una entrega anterior mostramos una pequeña lista de frameworks web para el lenguaje Go. Ahora presentaremos a Gorilla Web Toolkit : Un conjunto de herramientas útil para el lenguaje de programación Go que proporciona paquetes útiles y componibles para escribir aplicaciones basadas en HTTP. Ventajas de uso: Robusto.  Completo.  Con funcionalidades avanzadas. El sitio oficial es: https://gorilla.github.io/ Para instalarlo tenemos dos formas: Descargando el repositorio desde Github : $ git clone https: //github.com/gorilla/mux.git Instalando desde comando: $ go get github.com/gorilla/mux Ejemplo. Crear dos servicios sencillos para saludar. main.go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import ( "encoding/json" "net/http" "github.com/gorilla/mux" ) // Saludo func saludarHandler ( w http . ResponseWriter , r * http . Request ) { response := map [ string ] strin...