On 22 Feb, 06:37, George Sakkis <[EMAIL PROTECTED]> wrote: > Paul Rubin wrote: > > It just seems to me that there is a killer language just around the > > corner, with Python's ease-of-use but with a serious compile-time type > > system, maybe some kind of cross between ML and Python. > > Could Boo or Cobra fit the bill ? If not, what's missing at a > technical level (i.e. ignoring current maturity, community size, > marketing, etc.) ?
Boo and Cobra have their interesting sides, although I doubt that I'm alone in finding it hard to take them as seriously as I might because of various blatant, seemingly gratuitous, incompatible differences with Python. And although one can always say that we should ignore community size, what we've seen from Python-oriented projects like PyPy and Shed Skin is that without being able to use a lot of existing code, people don't hang around considering using something seriously for very long, even if there's merit in hanging around and reworking existing code. Both Boo and Cobra are quite focused on the CLR, which isn't necessarily appealing for a number of reasons (technical, legal [*]). They both promote static typing plus type inference, although it doesn't seem to be particularly extensive type inference and may benefit from working against a load of statically typed libraries. Both have language extensions which people have argued for in Python, but choose different ways of doing things: Boo's property declarations are minimal but seem out of place; Cobra's property declarations add a bit more syntax; Boo provides some support for preconditions (as far as I can see); Cobra has syntax for contracts. Boo also adds a load of extra stuff for interfaces, abstract methods, and so on. I don't blame people for going off and doing their own language: it's clear that Python is moving in it's own direction and introducing syntax incompatibilities which aren't justified by high level objectives such as performance or compile-time tests. But since the days of Vyper (a defunct Python implementation in OCaml which added stuff like regular expression syntax) people judge new languages by the extent of the differences to Python and on their perception of the value of such differences. For example, I'm still unimpressed by the eager introduction of type declarations in such new languages when we already have things like Pyrex which provide similar capabilities, and when I think that there's a certain amount of investigation to be done to determine whether such things are really worthwhile, given the potential impact of people writing "value as int" all over the place. I also think that in order to achieve certain objectives many new languages make the mistake of adding new syntax rather than principally removing confusing stuff from Python. It should be more about "Python 300" than "Python 30000", in my opinion. Paul [*] Yes, Mono is Free Software, but no-one has really addressed the Microsoft patent issues other than just giving people the brush-off and telling them not to worry about it. I don't think the Microsoft- Novell agreement did much to make people feel any better about this. -- http://mail.python.org/mailman/listinfo/python-list