4 puntos por GN⁺ 2024-07-19 | 2 comentarios | Compartir por WhatsApp
  • Como estudiante de ciencias de la computación, estoy estudiando Prolog y programación lógica
  • Aprendí los fundamentos del Prolog puro (átomos, predicados, cut, listas, etc.) y vi una implementación terrible de un sistema de comunicación entre agentes que funciona en SICStus Prolog
  • Quiero saber más porque creo que el lenguaje en sí puede ser una fortaleza
  • Como el área que estudio es bastante fundamental, quiero ampliar y especializar mis conocimientos tanto en este mundo como en otro mundo que realmente me gusta (ontologías :D)
  • Me da curiosidad cómo se ve Prolog en 2024 y qué está haciendo la gente con Prolog

2 comentarios

 
cometkim 2024-07-19

No es exactamente Prolog en sí, pero sí estoy de acuerdo en que el concepto de constraints seguirá siendo útil.

También se usa mucho en cosas como las bases de datos, y entre los lenguajes de programación de vanguardia también hay intentos de dar soporte de primera clase a Datalog. (Ejemplo: https://flix.dev/)

 
GN⁺ 2024-07-19
Opiniones de Hacker News
  • Prolog es un lenguaje con 50 años de historia y, para la programación general, puede tener más obstáculos que utilidad

    • Existen muchos sistemas Prolog, pero poco código Prolog, por lo que la comunidad está fragmentada
    • Aprender Prolog se parece más a "¿cómo evitar tropezar en Prolog?" que a "¿cómo se hace esto en Prolog?"
    • Algunas personas muy dedicadas e idealistas están discutiendo el potencial de Prolog
    • Prolog tiene elementos interesantes y divertidos, pero también puede ser riesgoso
  • Scryer Prolog marca un nuevo hito como Prolog open source compatible con ISO y con gran rendimiento

  • Prolog y la programación con restricciones son herramientas útiles

    • Prolog tiene algunos problemas
      • No tiene un sistema moderno de módulos o paquetes
      • En bases de código grandes, las estructuras no lógicas son inevitables y el código se vuelve complejo
      • Al no tener tipado estático y fuerte, es difícil escribir código robusto
    • Prolog es un lenguaje sorprendente y podría encontrar un lugar en el futuro de la programación
  • En teoría, Prolog es el mejor lenguaje

    • Tiene características como formalismo lógico, lenguaje de cómputo y lenguaje de metaprogramación
    • En la práctica, tiene implementaciones con buen rendimiento y una comunidad pequeña
    • Se pueden hacer muchas cosas con Prolog, pero muchas veces no está claro cómo hacerlas
  • Es bueno que nuevas personas se interesen en Prolog

    • Se está desarrollando una biblioteca para usar Trealla Prolog fácilmente con Wasm
    • Enlaces: TypeScript Library, Go Library
    • Scryer y Trealla apuntan a la compatibilidad con ISO
  • Prolog es un lenguaje que exige una nueva forma de pensar

    • El paradigma declarativo es bueno, pero no ofrece una gran ventaja frente a otros lenguajes
    • Tiene una gran expresividad para problemas donde se puede aplicar CLPFD
    • Es divertido usar LLM para generar hechos/bases de datos de Prolog
  • La "magia" de Prolog se basa en los conceptos de unificación y backtracking

    • Como lenguaje declarativo, permite expresar fácilmente problemas inversos, pero no ofrece la solución
    • Si los motores de resolución mejoran, aumentará el uso de lenguajes declarativos de programación con restricciones como Prolog
  • Casi no sé nada sobre Prolog, pero disfruté el tutorial de Datalog

  • Los algoritmos de búsqueda de la programación lógica son lentos

    • Prolog puede hacerlo todo, pero no hace todo bien
    • Prolog es adecuado para tareas específicas como el mantenimiento de bases de datos