[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multiple Languages v. Multiple Paradigms

Here is a simpler question:

Why not simply package perl, python, java
together, write in your favorite lanauage and just
declare that code talks to each other plan9 style
(or some other standard abstract inter-app
interface, linda?).

Why force everyone to rewrite language
implementations as opposed simply to writing
bindings to this abstract interface.

Or, to put it another way, why is .Net a better
platform than plan9 or linda?

There was a prior post that handwaved around this
issue, but didn't really answer it.  I think you
could achieve "safety" in almost any of these


S. Alexander Jacobson                   i2x Media
1-212-787-1914 voice                    1-603-288-1280 fax

On Fri, 8 Mar 2002, Kragen Sitaker wrote:

> Peter Wasilko writes:
> >     In seeking the ability to program in multiple languages, which level(s)
> > matter most?
> >
> >         a) Surface Structure / Syntax
> >         b) Library Routines provided by each language's standard library(s)
> > which might be taken as primitives vis-a-vis the multiple language user
> >         c) Actual Evaluation Semantics
> I cannot make heads or tails of your question, but I suspect this is
> because your thinking is muddled, not because you did not explain it
> verbosely enough.
> > Are multiple languages... necessary, or could... be achieved in,
> > say,...  Would it be feasible to... design a new dynamic language
> > that would support... could one not then also provide varying levels of
> > automatic translation among the languages...
> Without realizing it, you have become stuck in Perlis's Turing
> Tar-Pit.  Write two interpreters and call me in the morning.
> --
> /* By Kragen Sitaker, http://pobox.com/~kragen/puzzle4.html */
> char b[2][10000],*s,*t=b,*d,*e=b+1,**p;main(int c,char**v){int n=atoi(v[1]);
> strcpy(b,v[2]);while(n--){for(s=t,d=e;*s;s++){for(p=v+3;*p;p++)if(**p==*s){
> strcpy(d,*p+2);d+=strlen(d);goto x;}*d++=*s;x:}s=t;t=e;e=s;*d++=0;}puts(t);}