# Ask HN: 2024년의 Prolog 전망은 어떤가요?

> Clean Markdown view of GeekNews topic #15909. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15909](https://news.hada.io/topic?id=15909)
- GeekNews Markdown: [https://news.hada.io/topic/15909.md](https://news.hada.io/topic/15909.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-07-19T09:46:11+09:00
- Updated: 2024-07-19T09:46:11+09:00
- Original source: [news.ycombinator.com](https://news.ycombinator.com/item?id=40994552)
- Points: 4
- Comments: 2

## Topic Body

- 컴퓨터 과학 학생으로서 Prolog와 논리 프로그래밍을 공부 중임  
- 바닐라 프로로그의 기본(원자, 술어, 컷, 리스트 등)을 배웠고, SICStus 프로로그에서 작동하는 에이전트 통신 시스템의 끔찍한 구현을 봄  
- 이 언어 자체가 강점일 수 있다고 생각하기 때문에 더 알고 싶음  
- 공부하는 분야가 상당히 기초적인 분야이기 때문에 이쪽 세계와 내가 정말 좋아하는 다른 세계(온톨로지 :D)에 대한 지식을 넓히고 전문화해보고 싶음  
- 2024년의 Prolog는 어떤 모습인지, 사람들이 Prolog로 무엇을 하고 있는지 궁금함

## Comments



### Comment 27393

- Author: cometkim
- Created: 2024-07-19T14:18:19+09:00
- Points: 1

Prolog 자체는 아니지만 Constraints 개념이 계속 유용할거라는데는 동의가 되네요  
  
DB같은데서도 많이 활용되고 있고, 최첨단 프로그래밍 언어 중에서는 Datalog 를 일급 지원하려는 시도도 있어요. (예시: https://flix.dev/)

### Comment 27377

- Author: neo
- Created: 2024-07-19T09:46:11+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=40994552)   
- Prolog은 50년의 역사를 가진 언어로, 일반적인 코딩에는 유용성보다 장애물이 더 많을 수 있음  
  - Prolog 시스템은 많지만 Prolog 코드가 적어 커뮤니티가 분열되어 있음  
  - Prolog를 배우는 것은 "Prolog에서 어떻게 할까?"보다 "Prolog에서 걸려 넘어지지 않으려면 어떻게 할까?"에 가까움  
  - 몇몇 헌신적인 사람들과 이상주의자들이 Prolog의 가능성을 논의하고 있음  
  - Prolog는 흥미롭고 재미있는 요소가 있지만, 위험할 수도 있음  
  
- Scryer Prolog는 성능이 뛰어난 오픈 소스 iso-호환 Prolog로 새로운 이정표를 세움  
  - Markus Triska의 작업을 확인해보면 놀라움을 느낄 수 있음  
  - 링크: [Markus Triska's Prolog](https://www.metalevel.at/prolog), [YouTube Channel](https://youtube.com/@thepowerofprolog)  
  
- Prolog와 Contraint 프로그래밍은 유용한 도구임  
  - Prolog에는 몇 가지 문제점이 있음  
    - 현대적인 모듈이나 패키지 시스템이 없음  
    - 큰 코드베이스에서는 비논리적 구조가 불가피해 코드가 복잡해짐  
    - 정적이고 강한 타입이 없어 견고한 코드를 작성하기 어려움  
  - Prolog는 놀라운 언어이며, 프로그래밍의 미래에 자리잡을 가능성이 있음  
  
- 이론적으로 Prolog는 최고의 언어임  
  - 논리적 형식과 계산 언어, 메타 프로그래밍 언어로서의 특성을 가짐  
  - 실용적으로는 성능이 뛰어난 구현체와 작은 커뮤니티가 있음  
  - Prolog로 많은 것을 할 수 있지만, 어떻게 해야 할지 명확하지 않을 때가 많음  
  
- 새로운 사람들이 Prolog에 관심을 가지는 것은 좋은 일임  
  - Trealla Prolog를 Wasm으로 쉽게 사용할 수 있도록 라이브러리를 개발 중임  
  - 링크: [TypeScript Library](https://github.com/guregu/trealla-js), [Go Library](https://github.com/trealla-prolog/go)  
  - Scryer와 Trealla는 ISO 호환성을 목표로 하고 있음  
  
- Prolog는 새로운 사고방식을 요구하는 언어임  
  - 선언적 패러다임이 좋지만, 다른 언어에 비해 큰 이점은 없음  
  - CLPFD를 적용할 수 있는 문제에서 표현력이 뛰어남  
  - LLM을 사용해 Prolog 사실/데이터베이스를 생성하는 것이 재미있음  
  
- Prolog의 "마법"은 통합과 백트래킹 개념에 기반함  
  - 선언적 언어로서 역문제를 간단하게 표현할 수 있지만, 해결책을 제공하지 않음  
  - 해결 엔진이 개선되면 Prolog와 같은 선언적 제약 프로그래밍 언어의 사용이 증가할 것임  
  
- Prolog에 대해 거의 알지 못하지만, Datalog 튜토리얼을 즐겼음  
  - 링크: [Learn Datalog Today](https://www.learndatalogtoday.org/)  
  
- 논리 프로그래밍의 검색 알고리즘은 느림  
  - Prolog는 모든 것을 할 수 있지만, 모든 것을 잘하지는 못함  
  - Prolog는 데이터베이스 유지 관리와 같은 특정 작업에 적합함
