python simply not scaleable enough for google?

Vincent Manis vmanis at telus.net
Sat Nov 14 10:48:25 CET 2009


On 2009-11-14, at 01:11, Alf P. Steinbach wrote:
>> OK, now we've reached a total breakdown in communication, Alf. You appear
>> to take exception to distinguishing between a language and its implementation.
> 
> Not at all.
> 
> But that doesn't mean that making that distinction is always meaningful.
It certainly is. A language is a (normally) infinite set of strings with a way of ascribing 
a meaning to each string. 

A language implementation is a computer program of some sort, which is a finite set of bits 
representing a program in some language, with the effect that the observed behavior of the 
implementation is that strings in the language are accepted, and the computer performs the 
operations defined by the semantics. 

These are always different things. 

> It's not like "there exists a context where making the distinction is not meaningful" means that "in all contexts making the distinction is meaningful".
Because they are different things, in all cases the distinction is meaningful. 
> 
> So considering that, my quoted comment about confounding universal quantification with existential quantification was spot on... :-)
It was not spot on. The examples I provided were just that, examples to help people see the 
difference. They were not presented as proof. The proof comes from the definitions above. 

> In some contexts, such as here, it is meaningless and just misleading to add the extra precision of the distinction between language and implementation. Academically it's there. But it doesn't influence anything (see below).

Your assertion that this distinction is meaningless must be based upon YOUR definitions of words
like `language' and `implementation'. Since I don't know your definitions, I cannot respond to this
charge. 

> Providing a counter example, a really fast Python implementation for the kind of processing mix that Google does, available for the relevant environments, would be relevant.
I have presented arguments that the technologies for preparing such an implementation are 
basically known, and in fact there are projects that aim to do exactly that. 
> 
> Bringing in the hypothethical possibility of a future existence of such an implementation is, OTOH., only hot air.
Hmm...in every programming project I have ever worked on, the goal was to write code that 
didn't already exist. 

> If someone were to apply the irrelevantly-precise kind of argument to that, then one could say that future hypotheticals don't have anything to do with what Python "is", today. Now, there's a fine word-splitting distinction... ;-)
Python is a set of strings, with a somewhat sloppily-defined semantics that ascribes meaning to the legal strings in the language. It was thus before any implementation existed, although I imagine that the original Python before GvR wrote any code had many differences from what Python is today. 

It is quite common for language designers to specify a language completely without regard to an implementation, or only a `reference' implementation that is not designed for performance or 
robustness. The `good' implementation comes after the language has been defined (though again
languages and consequently implementations are almost always modified after the original release). 
If you like, a language is part of (but not all of) the set of requirements for the implementation.

Alf, if you want to say that this is a difference that makes no difference, don't let me 
stop you. You are, however, completely out of step with the definitions of these terms as used
in the field of programming languages. 

>> My academic work, before I became a computer science/software engineering
>> instructor, was in programming language specification and implementation, so I *DO* know what I'm talking about here. However, you and I apparently
>> are speaking on different wavelengths.  
> 
> Granted that you haven't related incorrect facts, and I don't think anyone here has, IMO the conclusions and implied conclusions still don't follow.
The fact that you see the situation that way is a consequence of the fact that we're on different 
wavelengths. 

-- v


More information about the Python-list mailing list