Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

common lisp vs swi prolog for web apps

60 views
Skip to first unread message

polymorph self

unread,
May 20, 2017, 12:19:00 PM5/20/17
to
scalability?
speed of dev?
reliability?
evolution speed?
long term happiness?

Dhu on Gate

unread,
May 22, 2017, 5:21:41 PM5/22/17
to
On Sat, 20 May 2017 09:18:58 -0700, polymorph self wrote:

> scalability?
> speed of dev? reliability? evolution speed? long term happiness?

Scheme mebbe, but the ability to transcode from functional specs
to Prolog provides an intrinsic security, but for this you'd need
to dump most of the standard Prolog/WWW platforms.

Dhu


--
Je suis Canadien. Ce n'est pas Francais ou Anglaise.
C'est une esp`ece de sauvage: ne obliviscaris, vix ea nostra voco;-)

http://babayaga.neotext.ca/PublicKeys/Duncan_Patton_a_Campbell_pubkey.txt

polymorph self

unread,
May 23, 2017, 12:16:56 PM5/23/17
to
pengines and swi prolog threaded web server!
use ha-proxy to load balance
I guess my question would be what hapens when data outgrows 1 box?
hmmmmm

can pengines make like 1 image db out of say 40 nodes?

kint...@gmail.com

unread,
May 27, 2017, 3:20:49 PM5/27/17
to
> pengines and swi prolog threaded web server!

For this specific question I have a specific answer for what I would do .
I would use common lisp and not swi-prolog .

The overriding factor that causes that to be my decision is that swi-prolog is a custom platform specific to itself . If I use swi-prolog I am bound to create a program which is usable in only one implementation . By contrast common-lisp is a generic platform and if I write a common-lisp solution it will work in many implemetations .

An example of why that is an important consideration for me : Let's say I have a contract to provide a cusomter a solution for some software need they have . It takes me one year. Now after that year , I will offer them a support contract . It will say something like "for $4000 , i will spend 20 hours per year reviewing and updating the code to maintain pace with the developments occurring in the software tools upon which it depends . I will also provide up to 10 hours of customer support each year with further customer support billable per hour at a rate of $50/hour" . They will INVARIABLY say no %36'footnote; . So why do I say it ? I am protecting my own ass .

Now in 5 years when they phone me up because they want some change to their software to meet a new business requirement or because they installed the latest version of Windows and now there is some weird incompatibility , I can politely say "I am sorry I have moved on to other kinds of work and I am not really qualified to address your new requirements . Perhaps you can find someone else , I am sure you can find many eager programmers who can make those minimal changes you require . Just do a search for 'swi-prolog programmers' and you will find many ".

Of course they would be fucked . They are never going to find a swi-prolog programmer . And even if they did , probably swi-prolog has developed such that new versions do not support my code . For example with swi-prolog it is already the case that "swi-prolog" specific features added as the years tick by have introduced fundamental incompatibilities with valid generic "prolog" syntax . So if I use swi-prolog I am not even providing my customer the ability to say in the future "I need a prolog programmer" .

So I have a responsibility to my customers . If I use common-lisp , then I KNOW that the platform will still be viable in many years , my solution will almost certainly be compatible with many of them , and my customer will be able to appeal to the broader availability of a "common lisp programmer" which they might actually have success with .

Out of consideration for those issues , the reality is I would probably use Java to give my customer a solution . It is the most responsible thing to do .

%36'footnote;

Here is another thing they invariably say no to :

"""
The project is complete and working so it is ready as-is . However there is a process in the developemnt of computer software such as yours called "profiling and optimization" . This is a process that is applicable now , if you want to do it What it provides is the ability for me to now work with the software and make it more efficient and faster . If you are interested in this process , I estimate it will take me 2 weeks of bilalble time , and the gain for you and the product is that it will save 5 minutes of time per user per day .
"""

Well you could do the math and realize that the outlay for 2 weeks of my time is paid of in 1 month of saved user time or whatever but they will still say no . The realization that seems to be unavailable to them is that a snappy and efficient program is more likely to provide a pleasing experiencing more likely to result in an employee active and happy rather than bored and frustrated is completely outside the realm of their imagination . I actually once presented such a decision maker with a simple printout illustrating the difference and demonstrating the cost savings of user time vs the outlay required to pay me to fo profiling with some simple and nice charts and graphs . Waste of time , he didn't even read it , just glanced at it . I think the realization is fundamentally blocked by their conviction that employees should be active and happy because they receive a paycheque , and their expectation is that being grumpy and bored is just what is expected out of everyone because work sucks . If I had such a project again in the future I would still ask the question about profiling . Not because I think they will say yes , but rather because I love doing it and I think it is very important so I hold out for the nonexpected surprise of receiving an answer "yes" .

Probably most people would just do the profiling %36'footnote__2; anyways and wrap it up into the general activities . However I like to give my customers an outlay of the major steps of the process and choice's to make along the way .

36'footnote__2; <-- a joke , nobody does good profiling of the solution as whole . You never have time to do it .

~~ kintalken ~~

Dhu on Gate

unread,
May 27, 2017, 3:56:53 PM5/27/17
to
On Sat, 27 May 2017 12:20:47 -0700, kintalken wrote:

>> pengines and swi prolog threaded web server!
>
> For this specific question I have a specific answer for what I would do
> .
> I would use common lisp and not swi-prolog .

I would use Gprolog as it binds with gcc using gmake etc and modules can
be replaced with gcc linkable languages. Much the same can be said of
common lisp and scheme...

Dhu

polymorph self

unread,
Jul 14, 2017, 11:29:01 AM7/14/17
to
I am guna use swi prolog anyway.

:)

Im such a sexy stud
0 new messages