SWI-Prolog / roadmap

Discuss future development
20 stars 3 forks source link

the book #16

Open Anniepoo opened 8 years ago

Anniepoo commented 8 years ago

Having a definitive book about the language is a rite of passage for languages. We don't really have such a thing. Petty as it may seem, having 'Real World Prolog' appear next to 'Real World Haskell' would make the language seem less ephemeral to potential users.

wouterbeek commented 8 years ago

My 2 cents: the book should attempt to introduce readers to a very new Prolog, integrating the tremendous innovations of the language (purity, constraints, failure slicing) with the foundational improvements in the platform (HTTP, threading, production system, Web UI, Semantic Web).

This is just a first sketch:

Anniepoo commented 8 years ago

Your list omits XPCE.
Are we 'officially' deprecating it?

JanWielemaker commented 8 years ago

I'm surely not in favour of discussing XPCE in a real world Prolog book. I think we should consider it deprecated, although it is still a vital part of the IDE and several applications. I can even imagine it makes sense to use if for something new ...

Anniepoo commented 8 years ago

Good to know. There certainly are still times that call for a 'real' GUI. I have a little timer I use during talks that works well in XPCE. I can't imagine that being in a browser. Since this really isn't on topic of 'the book', I'm making a new issue for XPCE.

o314 commented 6 years ago

Doesn't the work of Markus Triska The power of Prolog deserve this purpose sufficiently ?

JanWielemaker commented 6 years ago

I think Markus' work provides a very specific and rather extreme view about programming in Prolog. It is an interesting view. It doesn't pay much attention to programming in the large (e.g., modules, making programs modular and extensible, etc., aspect-programming types of approaches), dealing with the (impure) outside world, threads, coroutining (not in the constraint sense), etc. At some point I would like a text that addresses this programming in the large for real-world applications, notably how to make use of the various building blocks that SWI-Prolog provides for all this.

o314 commented 6 years ago

Markus does a lot of interesting work around clp and comparing/benchmarking differents prolog engine. Sometimes a rather academic approach of the language. His ebook is very accessible. However the business cases are rather more of a tell than show veneer.

The proposal of wouter previously developed, was more praxis oriented and supporting your points.

To my knowledge, a similar road is taken currently around the racket language (formerly plt scheme). An upcoming ebook called server racket is announced http://serverracket.com It encompasses a more modern proposal and provides practical takeaway for the practitionner. A noticeable evolution when we consider the not-so-far-away approach of teaching scheme.

Anniepoo commented 6 years ago

Markus' book isn't published, so doesn't fulfill the 'rite of passage'. The original roadmap item serves a marketing function of repositioning SWI-prolog as a language usable for real world tasks. Further, the book is too theory oriented to appeal to programmers looking for an alternative to NodeJS or whatever their current horror is.

True story - at the OS Academy one of the students advised me that SWI-Prolog would be more popular if it was ported to NodeJS....

o314 commented 6 years ago

True story - at the OS Academy one of the students advised me that SWI-Prolog would be more popular if it was ported to NodeJS...

That's funny.

May be because node.js has been very good to bring together an ecosystem and a toolchain with a lot of de facto standards: package manager with npm, yarn; other languages with coffeescript, typescript; editor with atom, vscode etc.

What's hard too when pushing prolog today in a professional environment, IHMO, is to not be able to grab it starting with some well known linux or server blocks and let the process unfold. It involves a huge cognitive effort even at the beginning.

To talk about marketing, a good, better, best strategy coupled with a fallback at each level in the well established linux/internet/foss world (docs with gitbook; swish datalab closer to jupyter) may alleviate the burden and bring throughput...

There is also the question about book vs mooc. It may be so sweet to learn prolog thru coursera, edx or udemy Today, sadly zero result.

But sorry, long talks there and i don't want to be pedantic. Only hoping that could help. Thanks a lot anyway for all the brilliant and helpful work provided up to now.

Anniepoo commented 6 years ago

The problem with a MOOC is less teaching it than attracting students to it.