Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!hao!oddjob!nucsrl!accuvax.nwu.edu!morrison From: morrison@accuvax.nwu.edu.UUCP (Vance Morrison ) Newsgroups: comp.lang.misc Subject: Re: Perfect language features: how many languages? Message-ID: <4000010@accuvax.nwu.edu.UUCP> Date: 4 Feb 88 19:03:41 GMT References: <10407@mimsy.UUCP> Organization: Northwestern U, Evanston IL, USA Lines: 53 This discussion seems to be on the subject at to whether it is possible have a single unified language or not, and I would like to put in my two cents worth. Several of you responded that the single language scenerio was impossible since the applications you need languages for are so varied that a single language could not handle them all efficiently. In my opinion, this is a half-truth, bordering on being wrong. An analogy was drawn between tools and programming languages, namely in the same way as you use different tools to do different jobs, you use different programming languages to do different types of programs. I actually like the analogy of real tools to programming tools because they are in fact very much alike. But I think the above analogy should not liken programming languages to individual tools, it should compare them to a toolbox or a workshop. I have one toolbox (programming language) it has many different types of tools in it (programming features, libraries etc). I can do a large variety of different jobs with the SAME toolbox because I simply select the tools that are necessary for that job and ignore the rest. What I DON'T have, (But what I have to deal with every time I program), are sets of tools that are 'glued' together and can only be used together. Because the tools are are 'glued' together, I have to have many tools that do the same thing in every incompatible set. Thus I have to learn many different ways of doing the same thing. So the essence of the one language approach is this: Every tool (programming feature) should be usable whenever it could be useful, and useing this feature does not require you to restrict the kinds of tools you use (that it it does not box you into a language that does not have some of the features you want.) So in some ways this one language is in fact many special purpose languages inside it. What makes it different that many little languages is that the programmer can 'mix and match' ANY special purpose features to solve the problem at hand. I believe such a unified language is technically possible (administration is a whole different ball game), and in fact I am trying to design such a language right now. Vance Morrison morrison@accuvax.nwu.edu morrison@nuacc.bitnet morrison@northwestern.arpa