Home > Desarrollo, Groovy > Groovy Vs. Prolog Vs. Python

Groovy Vs. Prolog Vs. Python

Esto no va a ser una comparativa exhaustiva entre Groovy, Prolog y Python, simplemente unos snippets que intercambiamos mi colega fortran y yo hace un tiempo.

Contextualizemos: yo no sé Python, él no sabe Groovy, y probablemente el conocimiento que tiene él sobre Python es mayor que el que tengo yo sobre Groovy. Lo de Prolog tiene que ver con la universidad, el ansia por terminar prácticas y espinitas clavadas :-). Lo cierto es que hoy por hoy él controla mucho más que yo en programación lógica.

Quizás a alguien le resulte interesante, y en cualquier caso servirá en el futuro para recordar lo que éramos capaces de hacer (en ocasiones las mierdas del pasaso parecen ahora inalcanzables, no me lo negarás).

Conseguir una lista de 100 número aleatorios, ordenarla e imprimirla

Python

import random
print sorted(random.randint(0,2**31)for i in range(100))

Prolog

r([]).
r([H|T]):-random(0,1000000,H),r(T).
f(L):-length(X,100),r(X),sort(X,L).

Groovy

a=[]
100.times{a<<(int)(Math.random()*(2**31))}
print a.sort()

Encontrar el indice de una sublista dentro de otra

Python

def f(a,b):
 l=[a[i:i+len(b)]for i in range(len(a))]
 return b in l and l.index(b)or-1

Prolog

s(X,[]).
s([H|T],[H|U]):-s(T,U).
f(X,Y,0):-s(X,Y).
f([_|T],Y,N):-f(T,Y,M),N is M+1.

Groovy

def f(a,b){return Collections.indexOfSubList(a,b)}
Categories: Desarrollo, Groovy Tags:
  1. October 11th, 2009 at 17:12 | #1

    zalamero xD

    todos sabemos que tú en Prolog me pegas sopas con hondas :-p

  2. October 11th, 2009 at 17:13 | #2

    (y seguramente en groovy vs python también xD)

  3. October 11th, 2009 at 17:24 | #3

    Ya sabes que hace un mes me pillé un libro de la bilbioteca sobre Prolog, por recordar viejos tiempos. No lo llegué a abrir, no digo más.

  4. October 11th, 2009 at 20:17 | #4

    por cierto, explica que se trataba de “code golf”, es decir, conseguir el hoyo en el menor número de golpes posibles (o escribir el programa en el menor número de carácteres posible)

  5. October 11th, 2009 at 20:31 | #5

    Para ser sincero nunca supe lo que era eso de “code golf”, yo me limitaba a atender tu desafío de “a ver en cuanto carácteres eres capaz de hacerlo”.

  1. No trackbacks yet.