From: Wolfgang D. <wol...@da...> - 2016-08-30 18:50:53
|
On 2016-08-30 20:20, Richard wrote: > On 8/30/16 11:07 AM, Wolfgang Dautermann wrote: >> It's the other way round: Maxima is the *client*, not the server. > That's the way people think because they wrote the other program and > they want it to be in charge. No, it's just a networking thing. The *server* is the program, that starts first and listens *actively* on a port for clients who may connect. And probably use multithreading or multiple processes to handle connections from different client at the same time, ... Maxima does (currently) have no 'server'-infrastructure, but the possibility to connect as a client to a TCP/IP port on the same machine and get the input from there. > That doesn't mean it should be that way. Here's why: > > Maxima sets up a large infrastructure for memory management, > symbolic computation, and perhaps other libraries for numerical, > statistical, etc work. > > Say you have your own program P that (for example) tests students on > algebra problems. And say your program is 1/100 the size of Maxima. Size does not matter, often the client is much larger than the server. Compare the size of the Apache web*server* binary with the Firefox browser (a HTTP *client*): du -sh /usr/sbin/apache2 /usr/lib/firefox 632K /usr/sbin/apache2 107M /usr/lib/firefox (/usr/bin/firefox is a shellscript which calls the binary /usr/lib/firefox) Best regards, Wolfgang |