Mostrando las entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando las entradas con la etiqueta programación. Mostrar todas las entradas

miércoles, abril 02, 2008

What I've been doing?

My work and the university is killing me!! I started the first semester in the University, and I'm doing 2 subjects. One of that is Logic Programing. I thinks that is a very good subject!

Another thing I've been doing is Coding!


Coding Quickly

miércoles, marzo 05, 2008

What is Prolog?

Wikipedia says:
Prolog is a logic programming language. It is a general purpose language often associated with artificial intelligence and computational linguistics. It has a purely logical subset, called "pure Prolog", as well as a number of extralogical features.
I started to study Prolog in the University and I'm looking in the web for some resources. I found a lot! This are some of the links:

The book that we will use is The Art of Prolog of MIT Press.

One thing that surprise me a lot, was this:


% Declare a Graph

node(a).
node(b).
node(c).
node(d).
node(e).

link(a,b).
link(b,c).
link(b,d).
link(c,e).

exist_path(X,Y) :- link(X,Y).
exist_path(X,Y) :- link(X,Z),exist_path(Z,Y).



this code define a graph with a,b,c,d,e as nodes and [(a,b),(b,c),(b,d),(c,e)] as links.
exist_path is predicate, an define if exist a path from node X to node Y, if exist the result is TRUE, if not FAIL (FALSE).

This simple code leave me amazed!

lunes, octubre 15, 2007

La practica de la programación

Estoy leyendo "La práctica de la Programación" de Kernighan & Pike, lo encontre buscando otro libro en libreria LOSA. Además estaba en oferta y era el único que tenían, digamos que una reliquia.
Ya había leido que es un clásico, y es verdad. Se basa en que en la programación (como en muchas áreas) "la práctica hace al maestro" y sobre todo en tres reglas fundamentales a la hora de construir software:

> Simplicidad
> Claridad
> Generalidad.

Cubre los temas principales a los que se enfrenta un programador a diario:

- Debbuging
- Testing
- Performance.
- Portability
- Design
- Style

... y muchas otras lecciones que engloban tantos otros temas.

Todavía no lo he terminado, ya que estoy con otras lecturas curriculares, Fundamentos de Base de Datos, Elsmari - Navthe y Arquitectura de Computadores. W. Stallings. Espero adelantar mi lectura para escribir más sobre este clásico.