# Is SWI-Prolog being used in domains that requires multi-threading at scale?

**URL:** <https://swi-prolog.discourse.group/t/is-swi-prolog-being-used-in-domains-that-requires-multi-threading-at-scale/1110>\
**Category:** Split Topic\
**Created:** [August 23, 2019, 12:24pm UTC](https://swi-prolog.discourse.group/t/is-swi-prolog-being-used-in-domains-that-requires-multi-threading-at-scale/1110 "2019-08-23T12:24:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![grossdan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/grossdan/32/23_2.png) [@grossdan](https://swi-prolog.discourse.group/u/grossdan)\
**Post date:** [August 23, 2019, 12:24pm UTC](https://swi-prolog.discourse.group/t/is-swi-prolog-being-used-in-domains-that-requires-multi-threading-at-scale/1110/1 "2019-08-23T12:24:13Z")

</div>

Hi Jan,

Is swi-prolog being used in domains that requires multi-threading at scale?

I think it would be very worthwhile to present case studies, and design patterns for Prolog in enterprise settings, where such features are a must.

Analogous to like those J2EE enterprise patterns – whatever is currently the approach of choice (serverless? microservices?), etc.

It seems to me that in particular in the enterprise environment prolog should shine … and could perhaps further motivate adoption.

I am saying this due to a discussion I had with a solution vendor were prolog was quickly dismissed out of hand for supporting enterprise systems – and (enterprise) Java was seens as the choice at hand. And, i think, its not because of capability but due to perception.

Dan

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [August 23, 2019, 12:51pm UTC](https://swi-prolog.discourse.group/t/is-swi-prolog-being-used-in-domains-that-requires-multi-threading-at-scale/1110/2 "2019-08-23T12:51:58Z")

</div>

> [@Curious: How does Prolog "Byte code" compare to .NET IL (and some thoughts about enterprise ready systems)](https://swi-prolog.discourse.group/t/curious-how-does-prolog-byte-code-compare-to-net-il-and-some-thoughts-about-enterprise-ready-systems/1101/19):
>
> Is swi-prolog being used in domains that requires multi-threading at scale?

Yes. Both commercially and academic (and hobby, I assume). In fact, it is mostly due to commercial involvement that threading is robust and scales well.

> [@Curious: How does Prolog "Byte code" compare to .NET IL (and some thoughts about enterprise ready systems)](https://swi-prolog.discourse.group/t/curious-how-does-prolog-byte-code-compare-to-net-il-and-some-thoughts-about-enterprise-ready-systems/1101/19):
>
> perception

People have a rather weird perception about Prolog ☹ There are many theories why that is. Few of the language properties justify those perceptions. There is a problem with the eco-system, notably being small and one probably can claim it is also old fashioned. This implies that if you want to use it commercially in a responsible way you must make sure to understand the consequences and mitigate problems as far as necessary.

---

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [August 24, 2019, 1:01pm UTC](https://swi-prolog.discourse.group/t/is-swi-prolog-being-used-in-domains-that-requires-multi-threading-at-scale/1110/3 "2019-08-24T13:01:56Z")

</div>

Dan,

I split these replies off into a separate topic as they are divergent from [Curious: How does Prolog “Byte code” compare to .NET IL (and some thoughts about enterprise ready systems)](https://swi-prolog.discourse.group/t/curious-how-does-prolog-byte-code-compare-to-net-il-and-some-thoughts-about-enterprise-ready-systems/1101)
