En este blog hemos hablado de diversos lenguajes de programación:
En esta ocasión hablaremos de Lobster, un lenguaje de programación de próposito general y con "baterías incluidas".
Tipado estáticamente con una sintaxis similar a Python que combina las ventajas de un sistema de tipos expresivos y la gestión de memoria en tiempo de compilación con una sintaxis muy liviana, amigable y concisa, haciendo la mayor parte del trabajo pesado por nosotros.
Aquí puedes leer más al respecto:
https://strlen.com/lobster/Veamos un ejemplo:
def find(xs, fun): for(xs) x, i: if fun(x): return i return -1 let r = 2 let i = find [ 1, 2, 3 ]: _ > r
Los programadores Python encontrarán muha similitud con Python o quizás Ruby.
Y que tal la programación orientada a objetos:
class Animal: alive = true class Cat : Animal def hello(): print "meow" class Dog : Animal barked = 0 def hello(d::Dog): print "bark!" barked++ let d = Dog {} d.hello() let a:Animal = d a.hello()
Bastante similar a Ruby.
También se puede crear aplicaciones con interfaz gráfica (GUI):
import vec import color import gl let directions = [ xy_0, xy_x, xy_y ] def sierpinski(depth) -> void: if depth: gl_scale 0.5: for(directions) d: gl_translate d: sierpinski(depth - 1) else: gl_polygon(directions) fatal(gl_window("sierpinski", 512, 512)) while gl_frame(): if gl_button("escape") == 1: return gl_clear(color_black) gl_scale(float(gl_window_size())) sierpinski(7)
Instalación
Para instalarlo deberás bajar el repo de Github:
git clone https://github.com/aardappel/lobster.git cd lobster/dev cmake -DCMAKE_BUILD_TYPE=Release make -j8 cd .. bin/lobster samples/pythtree.lobster
La instalación en Windows es un poco más compleja:
https://aardappel.github.io/lobster/getting_started.htmlEjemplo. El clásico "Hola, mundo".
holamundo.lobster
print "Hola, mundo!!"
Compilamos y ejecutamos:
bin/lobster holamundo.lobster
En siguientes entregas continuaremos con este lenguaje.
Enlaces:
https://strlen.com/lobster/https://github.com/aardappel/lobster
https://www.reddit.com/r/ProgrammingLanguages/comments/b949a8/the_lobster_programming_language/
Comentarios
Publicar un comentario