[pypy-svn] rev 1712 - pypy/trunk/doc/funding
lac at codespeak.net
lac at codespeak.net
Sat Oct 11 14:52:56 CEST 2003
Author: lac
Date: Sat Oct 11 14:52:55 2003
New Revision: 1712
Added:
pypy/trunk/doc/funding/B3.allmerged.txt
Log:
Squish all the B3s together, prior to hacking, and nuking the subfiles
Added: pypy/trunk/doc/funding/B3.allmerged.txt
==============================================================================
--- (empty file)
+++ pypy/trunk/doc/funding/B3.allmerged.txt Sat Oct 11 14:52:55 2003
@@ -0,0 +1,1187 @@
+FIXME_LAURA: currently writing this
+FIXME_NICO FIXME_ALASTAIR : proof-read it
+FIXME think about including Logilab and DFKI references
+
+Potential impact
+===================
+The successful execution of the PyPy project will deliver a practical usefull
+implementation of a Very-High-Level, Object-Oriented, Open Source programming
+language.
+
+This will impact software development in several important ways.
+
+ - The cost of software development will diminish.
+
+ - The time to market will be reduced.
+
+ - The cost of software maintenance will be reduced.
+
+ - Reduce barriers to market a product.
+
+
+The development methods of the PyPy project will prove that using Sprints,
+pair programming and test driven development, results in :
+
+ - Broader understanding of the code base among developers
+
+ - Rapid developments from ideas to working code
+
+ - Sustainable project progress through unittesting
+
+The cost of software development is essentially labor costs, time to
+market and costs of software tools. Having a (free) flexible VHLL will
+ease the development through the fact that problems are solved closer
+to the abstraction level they are formulated. This will greatly
+improve the productivity of the individual programmer.
+
+It is always difficult to measure how many people are using a
+programming language, but of course, we try. Python is generally
+ranked the sixth most popular computer language in the world. Only
+Java, Visual Basic, C, C++, and Perl are believed to have more users.
+
+The Python FAQ, available at the python language home site of
+python.org says::
+
+ 2.1. How many people are using Python?
+
+ Certainly thousands, and quite probably tens of thousands of users.
+ More are seeing the light each day. The comp.lang.python newsgroup is
+ very active, but overall there is no accurate estimate of the number
+ of subscribers or Python users. Jacek Artymiak has created a Python
+ Users Counter; you can see the current count by visiting
+ http://www.wszechnica.safenet.pl/cgi-bin/checkpythonuserscounter.py
+
+ Jacek's counter has more than 43 000 registered users.
+
+Googling for 'python programming' gives 1,540,000 hits. ('Python' gives
+ten million, but many of those Pythons are the actual reptiles.)
+
+Compared to the most common languages these days, C, C++, Java and
+Visual Basic, there is certainly much less 'market penetration',
+and in some niches, languages such as PHP, Perl and SQL are popular,
+but Python is vastly bigger than the more obscure languages such
+as Haskell, OCaml, Smalltalk, ADA, Ruby etc.
+
+Some statistics from python.org may be relevant. There were 47,751
+Python 2.3 downloads in the first 10 days of September. These are the
+'bleeding edge' developers, who were interested in the new release of
+Python first made available at the end of August. At the other end of
+the spectrum, there are many more who simply wait for Python to become
+available as a Red Hat, or Debian package, or simply use the version
+of Python that came installed with their machine when they bought it.
+
+FWIW, there are about 600,000 http visitors a month to python.org.
+About one third of them are using the documentation, which is a
+fairly good indicator that they are trying to use the language.
+Number of unique IP addresses per month is about 350,000 at this point,
+and has been rising steadily from about 250,000 this time last year.
+
+Converting this into an actual estimate of number of users is a bit
+hard, since:
+
+1) One user may use multiple machines (e.g. home & work & cafe)
+2) Many sites use a firewall that hides the actual IP (and thus combines
+ multiple users into one)
+3) Not all Python users go to python.org every month (or at least not
+ the Documentation page), because they have already dowloaded the
+ documentation for local browsing.
+
+It's probably reasonably safe to say there are at least 175,000 active
+Python users in the world. At least half of them are in Europe, if
+O'Reilly's sales statistics for their popular books *Learning Python*,
+*Python in a Nutshell* and *The Python Cookbook* are to be considered
+relevant. Speaking of books, sales statistics of *The Essential
+Jython* targetted at users of the Python version that compiles to
+the Java Virtual Machine indicate that there are at least 10 thousand
+Jython users worldwide.
+
+For comparison, there are something like 12 million programmers
+world-wide and roughly 50% of those use Visual Basic (according to
+International Data Corp). In March 2002, Borland said Java had about
+1.5 million developers.
+
+We intend to make a new reference version of the Python Programming
+Language, which is faster, more flexible, more extensible, and which
+gives more control to the individual programmer as to how it is
+deployed. For instance, you will be able to build a Python
+interpreter customised for a very small amount of available memory.
+Or one with speed enhancements only possible because there is a huge
+amount of memory available. Or a PyPy interpreter which will be
+executed on several machines but offer a single distributed computation
+space and balances the load by moving execution threads around. We can
+produce Object Spaces which implement Logic Programming, Aspect Oriented
+Programming and Design By Contract, hot new topics in computer science
+research, but which are rarely seen in industry because existing popular
+languages do not support them.
+
+An implementation of the language with substantial improvements will
+have an immediate direct effect on Eropean competitiveness. Moreover,
+the planned improvements directly target the handheld, mobile, and
+embedded device sectors, where Europe is the acknowledged world
+leader. People working in such industries have long desired a high
+level language with a very small footprint. The new innovative
+concept of Object Spaces, pioneered by PyPy makes the construction of
+tiny Object Spaces, suitable for running on the smallest devices
+straight-forward. Indeed, it will be possible for application
+programmers to configure Python runtime environments to suit their
+particular hardware characteristics -- for instance, a version that
+runs in a minimal amount of memory, or a version that can exploit a
+huge amount of memory to achieve the highest performance speed.
+
+Python with greater speed will seamlessly improve the offerings of
+those European Companies who develop using Python. Moreover, some
+companies resist using Python because of its speed. If execution
+speed, rather than development speed is of paramont importance to
+you, then Python is currently not a very good language choice. A
+faster Python would have more appeal.
+
+Furthermore, one of the greatest threats to European competitiveness
+is its dependence upon proprietary closed source software, mostly made
+in the United States. This is not only the matter of money being
+spent in the United States is money that is not being spent here,
+although that affects matters as well. There are two more serious
+risks. The first is a threat in the present.
+
+Any company which writes its software in a proprietary, closed source
+language is dependent upon its software provider. If you have a bug,
+you must wait for them to fix it. If this bug is not a high priority
+for them, you can wait a long time. If you have access to the source
+you always have the option of fixing it yourself, or hiring somebody
+else to do that. But this is not the greatest of your worries. You
+are at constant risk of having your software provider discontinue
+support for your language. This is a real threat, not a theoretical
+one. In 2002, Microsoft announced that it would no longer be
+supporting Visual Basic 6.0 after the year 2005. All Visual Basic
+Developers have been told to convert their code to run under
+Microsoft's new .NET framework. Before that, in 2001 Microsoft
+immediately stopped supporting its Visual J++ language, meant to be a
+direct competitor with Java, after settling a lawsuit with Sun
+Microsystems. No migration path was specified. Microsoft is making
+these decisions because they make business sense for Microsoft,
+regardless of the effects on European software developers.
+
+FIXME_LAURA: shrink it
+
+:DELETE:BEGIN
+
+3.1 Contributions to Standards
+
+Describe contributions to national or international standards which
+may be made by the project, if any.
+
+(Recommended length one page)
+
+:DELETE:END
+
+Contributions to Standards
+==============================
+
+There are currently two implementations of Python in common use. The
+first one, which we will call CPython, but which is what the world
+knows as Python, is a C implementation of the Python Programming
+language which compiles to its own virtual machine. The second one is
+Jython, a pure-Python implementation which compiles to the Java
+virtual machine. There is no ANSI standard or similar for Python.
+Right now the de-facto standard for the programming language is
+'whatever CPython does'. This is far from ideal, and questions arise,
+especially from the developers of Jython as to which CPython language
+behaviours are essential to the Python language itself, and which are
+mere accidents of this particular implementation.
+
+For example, the garbage-collection behavior of CPython is implemented
+by reference-counting ensuring that an object is finalized as soon as
+the last reference to it goes away. That would be extremely
+inconvenient (close to impossible) to implement on standard Java
+Virtual Machines, which have a deliberately under-specified garbage
+collector (it can collect anything it pleases whenever it pleases...).
+In this case, the Jython designers had to obtain an explicit ruling
+from Guido van Rossum, Python's designer -- who ruled that the
+behavior of CPython was 'accidental' in this case, and not intrinsic
+to the Python language specification.
+
+Guido van Rossum has expressed interest in giving PyPy the status of
+'implementation standard' (executable specification) of the Python
+programming language. PyPy's ObjectSpaces flexibility will be crucial
+in distinguishing "accidental" from "designed-in" characteristics.
+
+(FIXME: I sent Guido mail asking for something quotable. We will see
+if he replies.)
+
+In order to do this we will have to do something which is called
+'Submitting a PEP'. A PEP - Python Enhancement Proposal - is a design
+document providing information to the Python community, or describing
+a new feature for Python. There are two kinds of PEPs. A Standards
+Track PEP describes a new feature or implementation for Python. An
+Informational PEP describes a Python design issue, or provides general
+guidelines or information to the Python community, but does not
+propose a new feature. If we proposed to make PyPy the reference
+standard of the Python language, we would, obviously, have to submit a
+Standards Track PEP.
+
+PEP authors are responsible for collecting community feedback on a PEP
+before submitting it for review. A PEP that has not been discussed on
+python-list at python.org and/or python-dev at python.org will not be
+accepted. After the authors believe that the PEP is ready, they must
+inform the PEP editors (currently Barry Warsaw and David Goodger) that
+it is ready for review.
+
+PEPs are reviewed by Guido van Rossum, the language author, and his
+chosen consultants, who may accept or reject a PEP or send it back to
+the author(s) for revision.
+
+If Guido van Rossum accepts the PEP, then its status is changed to
+'Accepted'. If the reference implementation is not already complete,
+it must then be completed. When the reference implementation is
+complete and accepted (again by Guido van Rossum), the status will be
+changed to 'Final'. In our case, we wouldn't even write the PEP
+without having a complete reference implementation, since what we
+would be proposing is to make PyPy and not CPython the complete
+reference implementation of the language. Thus the expression of
+interest from Guido van Rossum is of extreme significance. It is
+likely, though not certain, that PyPy will become the standard
+reference implementation of the Python language.
+
+::
+
+ <arigo> FIXME
+ <arigo> either say 'very likely if all the goals described in the project
+ <arigo> are met' or give some more precise conditions, e.g. existence of a
+ <arigo> PyPy version largely compatible with existing C extension modules
+
+The complete details of how to write a PEP are themselves an
+Informational PEP -- PEP #1 in fact. Complete details are to be found
+in this appendix:
+
+FIXME include http://www.python.org/peps/pep-0001.html
+FIXME_LAURA : finish writing
+
+FIXME_NICO FIXME_ALASTAIR proof-read
+
+:DELETE:BEGIN
+
+B.3 Potential impact
+
+Describe the strategic impact of the proposed project, for example in
+reinforcing competitiveness or on solving societal problems. Describe
+the innovation-related activities. Describe the exploitation and/or
+dissemination plans which are foreseen to ensure use of the project
+results. Describe the added-value in carrying out the work at a
+European level. Indicate what account is taken of other national or
+international research activities.
+
+(Recommended length three pages)
+
+B.3.2 Strategic impact
+======================
+
+:DELETE:END
+
+Strategic impact
+======================
+
+PyPy will have a significant strategic impact throughout the IT
+sector. It produces immensely useful, practical results which shall
+be immediately exploited by Python developers world-wide. While it
+addresses issues which have hitherto mostly remained the special
+province of academia, and significantly enhances the State-of-the-Art,
+it is not a project that will only satisfy intellectual curiosity.
+
+Python and extremely popular Very-High-Level, Object-Oriented,
+programming language. It is always difficult to measure how many
+people are using a programming language, but of course, we try.
+Python is generally ranked the sixth most popular computer language in
+the world. Only Java, Visual Basic, C, C++, and Perl are believed to
+have more users.
+
+The Python FAQ, available at the python language home site of
+python.org says::
+
+ 2.1. How many people are using Python?
+
+ Certainly thousands, and quite probably tens of thousands of users.
+ More are seeing the light each day. The comp.lang.python newsgroup is
+ very active, but overall there is no accurate estimate of the number
+ of subscribers or Python users. Jacek Artymiak has created a Python
+ Users Counter; you can see the current count by visiting
+ http://www.wszechnica.safenet.pl/cgi-bin/checkpythonuserscounter.py
+
+ Jacek's counter has more than 43 000 registered users.
+
+Googling for 'python programming' gives 1,540,000 hits.
+('Python' gives ten million, but many of those Pythons are the actual reptiles.)
+
+Compared to the most common languages these days, C, C++, Java and
+Visual Basic, there is certainly much less 'market penetration',
+and in some niches, languages such as PHP, Perl and SQL are popular,
+but Python is vastly bigger than the more obscure languages such
+as Haskell, OCaml, Smalltalk, ADA, Ruby etc.
+
+Some statistics from python.org may be relevant. There were 47,751
+Python 2.3 downloads in the first 10 days of September. These are
+the 'bleeding edge' developers, who were interested in the new
+release of Python first made available at the end of August. There
+are, of course, many more who simply wait for Python to become
+available as a Red Hat, or Debian package, or simply use the version
+of Python that came installed with their machine when they bought it.
+
+FWIW, there are about 600,000 http visitors a month to python.org.
+About one third of them are using the documentation, which is a
+fairly good indicator that they are trying to use the language.
+Number of unique IP addresses per month is about 350,000 at this point,
+and has been rising steadily from about 250,000 this time last year.
+
+Converting this into an actual estimate of number of users is a bit
+hard, since:
+
+- One user may use multiple machines (e.g. home & work & cafe)
+- Many sites use a firewall that hides the actual IP (and thus combines
+ multiple users into one)
+- Not all Python users go to python.org every month (or at least not
+ the Documentation page), because they have already dowloaded the
+ documentation for local browsing.
+
+It's probably reasonably safe to say there are at least 175,000 active
+Python users in the world. At least half of them are in Europe, if
+O'Reilly's sales statistics for their popular books *Learning Python*,
+*Python in a Nutshell* and *The Python Cookbook* are any indication.
+Speaking of books, sales statistics of *The Essential Jython*,
+targetted at users of the Python version that compiles to the Java
+Virtual Machine indicate that there are at least 10 thousand Jython
+users worldwide.
+
+For comparison, there are something like 12 million programmers world-wide
+and roughly 50% of those use Visual Basic (according to International Data
+Corp). In March 2002, Borland said Java had about 1.5 million developers.
+
+We intend to make a new reference version of the Python Programming
+Language, which is faster, more flexible, more extensible, and which
+gives more control to the individual programmer as to how it is
+deployed. For instance, you will be able to build a Python
+interpreter customised for a very small amount of available memory.
+Or one with speed enhancements only possible because there is a huge
+amount of memory available. Or a PyPy interpreter which will be
+executed on several machines but offer a single distributed computation
+space and balances the load by moving execution threads around. We can
+produce Object Spaces which implement Logic Programming, Aspect Oriented
+Programming and Design By Contract, hot new topics in computer science
+research, but which are rarely seen in industry because existing popular
+languages do not support them.
+
+When we are successful, we will have an immediate, large impact as
+those 175,000 Python users will all get an improved language.FIXME_LAURA: finish writing
+FIXME_NICO FIXME_ALASTAIR: proof-read
+
+:DELETE:BEGIN
+
+B.3 Potential impact
+
+Describe the strategic impact of the proposed project, for example in
+reinforcing competitiveness or on solving societal problems. Describe
+the innovation-related activities. Describe the exploitation and/or
+dissemination plans which are foreseen to ensure use of the project
+results. Describe the added-value in carrying out the work at a
+European level. Indicate what account is taken of other national or
+international research activities.
+
+(Recommended length three pages)
+
+:DELETE:END
+
+Potential Impact on the Research and Industrial Sectors
+=======================================================
+
+FIXME_ARMIN FIXME_SAMUELE give me 2 sentences or so about why this is
+significant research, the sort that is real csc, and will make
+a research impact. Add a bit about and we can teach it to
+students because its Python, and easy to read, but not more than
+2 sentences because I will blather about that in the edu section.
+
+The 'impact on the industrial sector' was given in more detail
+in section B2. This is a summary, indicating precise goals targetted
+in our workpackages. For the overview of the European markets, refer
+to section B2.
+
+The particular improvements we intend to make to Python will have an
+immediate direct effect on European competitiveness. What is more, the
+planned improvements directly target the handheld, mobile, and
+embedded device sectors, where Europe is the acknowledged world
+leader. People working in such industries have long desired a high
+level language with a very small footprint. The new innovative
+concept of Object Spaces, pioneered by PyPy makes the construction of
+tiny Object Spaces, suitable for running on the smallest devices
+straight-forward. Indeed, it will be possible for application
+programmers to configure Python runtime environments to suit their
+particular hardware characteristics -- for instance, a version that
+runs in a minimal amount of memory, or a version that can exploit a
+huge amount of memory to achieve the highest performance speed.
+
+The makers of mobile and networked devices, as well as computer game
+designers in the Massively-Multi-Player games industry have long
+desired a language that could automatically balance loads, or that
+allowed massive parallelism through microthreads. They too will get
+what they desire.
+
+Moreover, a great many companies, in deciding what language to develop
+in, reject Very High Level Languages, despite their known advantages
+for programmer productivity, code-reuse and maintainability because
+the code produced simply does not run fast enough. If we give them a
+*fast* VHLL, they will switch.
+
+Furthermore, one of the greatest threats to European competitiveness
+is its dependence upon proprietary closed source software, mostly made
+in the United States. This is not only the matter of money being
+spent in the United States is money that is not being spent here,
+although that affects matters as well. There are two more serious
+risks. The first is a threat in the present.
+
+Any company which writes its software in a proprietary, closed source
+language is dependent upon its software provider. If you have a bug,
+you must wait for them to fix it. If this bug is not a high priority
+for them, you can wait a long time.
+
+If you have access to the source
+you always have the option of fixing it yourself, or hiring somebody
+else to do that.
+
+But this is not the greatest of your worries. You
+are at constant risk of having your software provider discontinue
+support for your language. This is a real threat, not a theoretical
+one. In 2002, Microsoft announced that it would no longer be
+supporting Visual Basic 6.0 after the year 2005. All Visual Basic
+Developers have been told to convert their code to run under
+Microsoft's new .NET framework. Before that, in 2001 Microsoft
+immediately stopped supporting its Visual J++ language, meant to be a
+direct competitor with Java, after settling a lawsuit with Sun
+Microsystems. No migration path was specified. Microsoft is making
+these decisions because they make business sense for Microsoft,
+regardless of the effects on European software developers.
+
+For this reason, European companies and governments are moving to
+Open Source software, whenever possible.
+If you ... insert here ...
+
+The second threat closed source makes to European competitiveness is
+more insidious, and more long term. A good workman knows his tools.
+This is much more than the theoretical knowledge of how his tools
+ought to work, according to principles learned in school. The way car
+mechanics know how cars work is distinctly different from what you
+would know if you had attended classes on 'the principles of the
+internal combustion engine', let alone what you need to know to just
+drive the thing.
+
+Right now, in Europe, we don't have enough of the software equivalents
+of car-mechanics. And most of them live in academia, where they know
+the intimate details of languages that never get used in industrial
+applications. The world needs Formula-One race car mechanics, indeed,
+but it has a much greater need for people who know how to repair the
+family car.
+
+This is particularily frustrating, because Europe is the acknowledged
+world leader in language design. CWI, the home of Python, is also the
+home of Algol. As the SWOT analysis of FIXME what is it called --
+makes clear, something terribly wrong happens in the process of
+European language deployment. First some European academic institute
+invents a really terrific language. And then it stops there. Out in
+industry, we are still using Visual Basic, or Java, or C++. The SWOT
+analysis indicates that the Americans are successful where we are not
+because they develop commercial languages, for sale. They may not be
+as well-designed or as well-written as European academic languages,
+but they are extremely well-funded. Successful paths for language
+adoption apparantly take big bucks.
+
+Python is an academic computer language which has refuted this claim.
+In the 14 years since it was first announced, it has grown to be
+the sixth most popular programming language, with (probably) between
+one and two hundred thousand users world-wide. This has happened
+gradually, spreading
+through word-of-mouth, as an Open Source project, with a website,
+mailing lists, but no big budget or deep pockets. This makes it
+a candidate for the largest European Software project with the
+largest distribution and user base. If we produce the new reference
+language over the next two years, then PyPy will _be_ Python. Their
+user base will be our user base. And then we can specifically target
+Java, C++ and Visual Basic users, and get them to switch as well.
+
+It seems melodramatic to speak of 'World Dominance', but in our
+meetings and discussions it keeps coming up again, and again. Why
+not? We will 'push the envelope' and produce a language which will be
+the next standard by which all other languages are compared in
+academia, and make sure that it is syntactically 100% compatible with
+CPython, which will ensure for easy adoption. If PyPy can deliver a
+language which is better suited for networked, embedded, and mobile
+devices, why wouldn't we capture market share from Java, C++, and
+Visual Basic?
+
+
+FIXME_LAURA: finish writing
+
+FIXME_NICO FIXME_ALASTAIR : proof-read
+
+:DELETE:BEGIN
+
+B.3 Potential impact
+
+Describe the strategic impact of the proposed project, for example in
+reinforcing competitiveness or on solving societal problems. Describe
+the innovation-related activities. Describe the exploitation and/or
+dissemination plans which are foreseen to ensure use of the project
+results. Describe the added-value in carrying out the work at a
+European level. Indicate what account is taken of other national or
+international research activities.
+
+(Recommended length three pages)
+
+:DELETE:END
+
+Potential Impact on the Balance of Trade
+========================================
+
+Right now Python is the sixth most popular programming language in the
+world. Java and Visual Basic, ranked 1 and 2, are closed source
+proprietary American products. The number one reason that is cited by
+Java users as to 'why they don't use Python' is that it is too slow.
+PyPy will fix this. Right now the Visual Basic users have a terrible
+dilemma. Microsoft, in its wisdom, has decided end support of their
+current platform, Visual Basic 6.0. After the year 2005, they will
+have to move to Microsoft's .NET. This is a tremendous opportunity
+for us. They're angry as anything now, and tempted to move, not to
+.NET, but to an Open Source language, just so that they can have
+control over their own destiny and indicate their displeasure with
+Microsoft at the same time.
+
+Every Java and VB user that switches to Python does not pay license
+fees to Sun or Microsoft and helps the European balance of Trade.
+
+Of course, all the PBF members are predicting that an improved
+Python will improve their sales, both domestic and foreign.
+
+<<<<<<< .mine
+Furthermore, one of the greatest threats to European competitiveness
+is its dependence upon proprietary closed source software, mostly made
+in the United States. This is not only the matter of money being
+spent in the United States is money that is not being spent here,
+although that affects matters as well. There are two more serious
+risks. The first is a threat in the present.
+
+Any company which writes its software in a proprietary, closed source
+language is dependent upon its software provider. If you have a bug,
+you must wait for them to fix it. If this bug is not a high priority
+for them, you can wait a long time. If you have access to the source
+you always have the option of fixing it yourself, or hiring somebody
+else to do that. But this is not the greatest of your worries. You
+are at constant risk of having your software provider discontinue
+support for your language. This is a real threat, not a theoretical
+one. In 2002, Microsoft announced that it would no longer be
+supporting Visual Basic 6.0 after the year 2005. All Visual Basic
+Developers have been told to convert their code to run under
+Microsoft's new .NET framework. Before that, in 2001 Microsoft
+immediately stopped supporting its Visual J++ language, meant to be a
+direct competitor with Java, after settling a lawsuit with Sun
+Microsystems. No migration path was specified. Microsoft is making
+these decisions because they make business sense for Microsoft,
+regardless of the effects on European software developers.
+
+The second threat closed source makes to European competitiveness is
+more insidious, and more long term. A good workman knows his tools.
+This is much more than the theoretical knowledge of how his tools
+ought to work, according to principles learned in school. The way car
+mechanics know how cars work is distinctly different from what you
+would know if you had attended classes on 'the principles of the
+internal combustion engine', let alone what you need to know to just
+drive the thing.
+
+Right now, in Europe, we don't have enough of the software equivalents
+of car-mechanics. And most of them live in academia, where they know
+the intimate details of languages that never get used in industrial
+applications. The world needs Formula-One race car mechanics, indeed,
+but it has a much greater need for people who know how to repair the
+family car.
+
+It is not as if there is a shortage of people who would be interested
+in learning such things, if the source were made available. Many
+people have taken this step by learning how CPython does its stuff.
+But still there is a barrier. If you want to know how CPython does
+things, you need to learn C. C is a notoriously difficult language to
+learn.
+
+But let me quote from an article posted to the Python-in-Education
+mailing list.
+
+FIXME -- I promised Arthur I would fix any typos::
+
+ Date: Sun, 14 Sep 2003 11:52:05 -0400
+ From: Arthur <ajsiegel at optonline.net>
+ To: edu-sig at python.org
+ Subject: [Edu-sig] re : If the PyPy Project ...
+
+ List-Id: Python in education <edu-sig.python.org>
+
+ Terry -
+
+ >Since I presume the goal of PyPy is to implement *Python* in Python,
+ >wouldn't the implementation language be rather insignificant to an
+ >end-user such as an educator? Why would it be "better" than CPython?
+
+ For whatever reason, the complex built_in and the cmath module, implemented
+ in Python, are part of the early pypy codebase. As I had been spending some
+ time in the complex realm with PyGeo - a simple version of the complex
+ realm, as these things go - Laura's post gave me the impetus to try to
+ plugin the pypy implementations.
+
+ Only got stuck on the typing issue. My code tests for
+ instance(object,complex). The pypy complexobject, unadorned, is a class -
+ and fails the test. But that leads me into a deeper look at some of the
+ pypy codebase, trying to understand a little bit of how this kind of issue
+ are to be dealt with. Not that I got there, yet - but I did seem to have an
+ avenue to explore I would not have with CPython - as someone who doesn't C,
+ and has no intention of trying, seriously, to do so.
+
+ As someone living within the limits of having Python as my only real
+ language, I think that pypy should open things up for me considerably. It
+ will make Python, I believe, a more attractive educational language, because
+ it will make someone with a strong foundation in Python - as the language of
+ choice - a more self-sufficient programmer.
+
+ Presumably - the point is - there will be less cases where the right
+ approach would be an extension module in C or C++, and a sense of
+ fundamental compromise should one not be equipped to go there. Many
+ thousands of folks - using VB and the like - already do involved,
+ highly performing real world applications and make nice livings doing
+ so, without being equipped to do C. I am thinking that pypy would put
+ Python more squarely in that "space".
+
+ Is any of this so, or just hope?
+
+ Art
+
+
+ _______________________________________________
+ Edu-sig mailing list
+ Edu-sig at python.org
+ http://mail.python.org/mailman/listinfo/edu-sig
+ ------------------------------------------------------
+
+Here is somebody who is hoping we can give him a language he can
+understand. Python already is an excellent teaching language. PyPy
+will be a better one.
+
+This project has to be done at the European or the International
+level. That's where we all live.
+DISEMMINATION!!!!
+Since education is a primary goal of the project, we will take every
+opportunity to disseminate PyPy. The source will always be freely
+available from our website. We will continue to give talks about PyPy
+at EuroPython, Python-UK, OSCON (the International Open Source
+Conference) the International Python Conference, and <what did I leave
+out> others. ADD SOME GOOD ONES THAT ARE FOR CSC ACADEMICS
+
+<dinu> How about OOPSLA (Conference on Object-Oriented Programming,
+Systems, Languages, and Applications), ECOOP (European Conference
+on Object-Oriented Programming), the MIT Lightweight Languages
+Workshops and the like as the next target?
+
+ASK STOCKHOLM -- will the EU pay for us to go to conferences? even
+ones we were going to attend anyway?
+
+These talks will create interest as well as teach techniques. We will
+submit a PEP and push to get PyPy made the reference implementation of
+the Python programming language(*). We will continue to discuss PyPy on
+our own mailing lists, as well as other Python mailing lists such as
+the Python-in-Education list, and the Usenet Newsgroup
+comp.lang.python. We already have an IRC channel, #pypy on
+irc.freenode.net where live online discussions happen, and where we
+communicate with each other while we are apart. Beyond that -- we are
+willing to take any actions the EU would like to fund.
+
+::
+
+ <arigo> FIXME
+ <arigo> (*) emphasis on this one? If this really happens we'll arguably
+ <arigo> become the software European Project with the largest distribution
+ <arigo> and user base ever (XXX rephrase :-)
+ <arigo> Also mention that the issue (and the word 'PEP') is discussed
+ <arigo> later in B3.1_standards.txt?
+
+Ask Stockholm We think you get no money for this in a STREP. True?
+
+ASK STOCKHOLM --
+can we get some money to give Freenode?
+re: 'Indicate what account is taken of other national or international
+research activities.' -- Samuele and Armin read the literature all
+the time. What do I say?
+ppppppppppppppp=======
+>>>>>>> .r1670
+FIXME_LAURA: finish writing
+
+FIXME_NICO FIXME_ALASTAIR : proof-read
+
+:DELETE:BEGIN
+
+B.3 Potential impact
+
+Describe the strategic impact of the proposed project, for example in
+reinforcing competitiveness or on solving societal problems. Describe
+the innovation-related activities. Describe the exploitation and/or
+dissemination plans which are foreseen to ensure use of the project
+results. Describe the added-value in carrying out the work at a
+European level. Indicate what account is taken of other national or
+international research activities.
+
+(Recommended length three pages)
+
+:DELETE:END
+
+Potential Impact on the Industrial and Research Sectors
+=======================================================
+
+The particular improvements we intend to make to Python will have an
+immediate direct effect on Eropean competitiveness. What is more, the
+planned improvements directly target the handheld, mobile, and
+embedded device sectors, where Europe is the acknowledged world
+leader. People working in such industries have long desired a high
+level language with a very small footprint. The new innovative
+concept of Object Spaces, pioneered by PyPy makes the construction of
+tiny Object Spaces, suitable for running on the smallest devices
+straight-forward. Indeed, it will be possible for application
+programmers to configure Python runtime environments to suit their
+particular hardware characteristics -- for instance, a version that
+runs in a minimal amount of memory, or a version that can exploit a
+huge amount of memory to achieve the highest performance speed.
+
+The makers of mobile and networked devices, as well as computer game
+designers in the Massively-Multi-Player games industry have long
+desired a language that could automatically balance loads, or that
+allowed massive parallelism through microthreads. They too will get
+what they desire.
+
+Moreover, a great many companies, in deciding what language to develop
+in, reject Very High Level Languages, despite their known advantages
+for programmer productivity, code-reuse and maintainability because
+the code produced simply does not run fast enough. If we give them a
+*fast* VHLL, they will switch.
+
+Furthermore, one of the greatest threats to European competitiveness
+is its dependence upon proprietary closed source software, mostly made
+in the United States. This is not only the matter of money being
+spent in the United States is money that is not being spent here,
+although that affects matters as well. There are two more serious
+risks. The first is a threat in the present.
+
+Any company which writes its software in a proprietary, closed source
+language is dependent upon its software provider. If you have a bug,
+you must wait for them to fix it. If this bug is not a high priority
+for them, you can wait a long time. If you have access to the source
+you always have the option of fixing it yourself, or hiring somebody
+else to do that. But this is not the greatest of your worries. You
+are at constant risk of having your software provider discontinue
+support for your language. This is a real threat, not a theoretical
+one. In 2002, Microsoft announced that it would no longer be
+supporting Visual Basic 6.0 after the year 2005. All Visual Basic
+Developers have been told to convert their code to run under
+Microsoft's new .NET framework. Before that, in 2001 Microsoft
+immediately stopped supporting its Visual J++ language, meant to be a
+direct competitor with Java, after settling a lawsuit with Sun
+Microsystems. No migration path was specified. Microsoft is making
+these decisions because they make business sense for Microsoft,
+regardless of the effects on European software developers.
+
+The second threat closed source makes to European competitiveness is
+more insidious, and more long term. A good workman knows his tools.
+This is much more than the theoretical knowledge of how his tools
+ought to work, according to principles learned in school. The way car
+mechanics know how cars work is distinctly different from what you
+would know if you had attended classes on 'the principles of the
+internal combustion engine', let alone what you need to know to just
+drive the thing.
+
+Right now, in Europe, we don't have enough of the software equivalents
+of car-mechanics. And most of them live in academia, where they know
+the intimate details of languages that never get used in industrial
+applications. The world needs Formula-One race car mechanics, indeed,
+but it has a much greater need for people who know how to repair the
+family car.
+
+It is not as if there is a shortage of people who would be interested
+in learning such things, if the source were made available. Many
+people have taken this step by learning how CPython does its stuff.
+But still there is a barrier. If you want to know how CPython does
+things, you need to learn C. C is a notoriously difficult language to
+learn.
+
+But let me quote from an article posted to the Python-in-Education
+mailing list.
+
+FIXME -- I promised Arthur I would fix any typos::
+
+ Date: Sun, 14 Sep 2003 11:52:05 -0400
+ From: Arthur <ajsiegel at optonline.net>
+ To: edu-sig at python.org
+ Subject: [Edu-sig] re : If the PyPy Project ...
+
+ List-Id: Python in education <edu-sig.python.org>
+
+ Terry -
+
+ >Since I presume the goal of PyPy is to implement *Python* in Python,
+ >wouldn't the implementation language be rather insignificant to an
+ >end-user such as an educator? Why would it be "better" than CPython?
+
+ For whatever reason, the complex built_in and the cmath module, implemented
+ in Python, are part of the early pypy codebase. As I had been spending some
+ time in the complex realm with PyGeo - a simple version of the complex
+ realm, as these things go - Laura's post gave me the impetus to try to
+ plugin the pypy implementations.
+
+ Only got stuck on the typing issue. My code tests for
+ instance(object,complex). The pypy complexobject, unadorned, is a class -
+ and fails the test. But that leads me into a deeper look at some of the
+ pypy codebase, trying to understand a little bit of how this kind of issue
+ are to be dealt with. Not that I got there, yet - but I did seem to have an
+ avenue to explore I would not have with CPython - as someone who doesn't C,
+ and has no intention of trying, seriously, to do so.
+
+ As someone living within the limits of having Python as my only real
+ language, I think that pypy should open things up for me considerably. It
+ will make Python, I believe, a more attractive educational language, because
+ it will make someone with a strong foundation in Python - as the language of
+ choice - a more self-sufficient programmer.
+
+ Presumably - the point is - there will be less cases where the right
+ approach would be an extension module in C or C++, and a sense of
+ fundamental compromise should one not be equipped to go there. Many
+ thousands of folks - using VB and the like - already do involved,
+ highly performing real world applications and make nice livings doing
+ so, without being equipped to do C. I am thinking that pypy would put
+ Python more squarely in that "space".
+
+ Is any of this so, or just hope?
+
+ Art
+
+
+ _______________________________________________
+ Edu-sig mailing list
+ Edu-sig at python.org
+ http://mail.python.org/mailman/listinfo/edu-sig
+ ------------------------------------------------------
+
+Here is somebody who is hoping we can give him a language he can
+understand. Python already is an excellent teaching language. PyPy
+will be a better one.
+
+This project has to be done at the European or the International
+level. That's where we all live.
+DISEMMINATION!!!!
+Since education is a primary goal of the project, we will take every
+opportunity to disseminate PyPy. The source will always be freely
+available from our website. We will continue to give talks about PyPy
+at EuroPython, Python-UK, OSCON (the International Open Source
+Conference) the International Python Conference, and <what did I leave
+out> others. ADD SOME GOOD ONES THAT ARE FOR CSC ACADEMICS
+
+<dinu> How about OOPSLA (Conference on Object-Oriented Programming,
+Systems, Languages, and Applications), ECOOP (European Conference
+on Object-Oriented Programming), the MIT Lightweight Languages
+Workshops and the like as the next target?
+
+ASK STOCKHOLM -- will the EU pay for us to go to conferences? even
+ones we were going to attend anyway?
+
+These talks will create interest as well as teach techniques. We will
+submit a PEP and push to get PyPy made the reference implementation of
+the Python programming language(*). We will continue to discuss PyPy on
+our own mailing lists, as well as other Python mailing lists such as
+the Python-in-Education list, and the Usenet Newsgroup
+comp.lang.python. We already have an IRC channel, #pypy on
+irc.freenode.net where live online discussions happen, and where we
+communicate with each other while we are apart. Beyond that -- we are
+willing to take any actions the EU would like to fund.
+
+::
+
+ <arigo> FIXME
+ <arigo> (*) emphasis on this one? If this really happens we'll arguably
+ <arigo> become the software European Project with the largest distribution
+ <arigo> and user base ever (XXX rephrase :-)
+ <arigo> Also mention that the issue (and the word 'PEP') is discussed
+ <arigo> later in B3.1_standards.txt?
+
+Ask Stockholm We think you get no money for this in a STREP. True?
+
+ASK STOCKHOLM --
+can we get some money to give Freenode?
+re: 'Indicate what account is taken of other national or international
+research activities.' -- Samuele and Armin read the literature all
+the time. What do I say?
+pppppppppppppppFIXME_LAURA: finish writing
+
+FIXME_NICO FIXME_ALASTAIR : proof-read
+
+:DELETE:BEGIN
+
+B.3 Potential impact
+
+Describe the strategic impact of the proposed project, for example in
+reinforcing competitiveness or on solving societal problems. Describe
+the innovation-related activities. Describe the exploitation and/or
+dissemination plans which are foreseen to ensure use of the project
+results. Describe the added-value in carrying out the work at a
+European level. Indicate what account is taken of other national or
+international research activities.
+
+(Recommended length three pages)
+
+:DELETE:END
+
+Potential Impact on the Industrial and Research Sectors
+=======================================================
+
+The particular improvements we intend to make to Python will have an
+immediate direct effect on Eropean competitiveness. What is more, the
+planned improvements directly target the handheld, mobile, and
+embedded device sectors, where Europe is the acknowledged world
+leader. People working in such industries have long desired a high
+level language with a very small footprint. The new innovative
+concept of Object Spaces, pioneered by PyPy makes the construction of
+tiny Object Spaces, suitable for running on the smallest devices
+straight-forward. Indeed, it will be possible for application
+programmers to configure Python runtime environments to suit their
+particular hardware characteristics -- for instance, a version that
+runs in a minimal amount of memory, or a version that can exploit a
+huge amount of memory to achieve the highest performance speed.
+
+The makers of mobile and networked devices, as well as computer game
+designers in the Massively-Multi-Player games industry have long
+desired a language that could automatically balance loads, or that
+allowed massive parallelism through microthreads. They too will get
+what they desire.
+
+Moreover, a great many companies, in deciding what language to develop
+in, reject Very High Level Languages, despite their known advantages
+for programmer productivity, code-reuse and maintainability because
+the code produced simply does not run fast enough. If we give them a
+*fast* VHLL, they will switch.
+
+Furthermore, one of the greatest threats to European competitiveness
+is its dependence upon proprietary closed source software, mostly made
+in the United States. This is not only the matter of money being
+spent in the United States is money that is not being spent here,
+although that affects matters as well. There are two more serious
+risks. The first is a threat in the present.
+
+Any company which writes its software in a proprietary, closed source
+language is dependent upon its software provider. If you have a bug,
+you must wait for them to fix it. If this bug is not a high priority
+for them, you can wait a long time. If you have access to the source
+you always have the option of fixing it yourself, or hiring somebody
+else to do that. But this is not the greatest of your worries. You
+are at constant risk of having your software provider discontinue
+support for your language. This is a real threat, not a theoretical
+one. In 2002, Microsoft announced that it would no longer be
+supporting Visual Basic 6.0 after the year 2005. All Visual Basic
+Developers have been told to convert their code to run under
+Microsoft's new .NET framework. Before that, in 2001 Microsoft
+immediately stopped supporting its Visual J++ language, meant to be a
+direct competitor with Java, after settling a lawsuit with Sun
+Microsystems. No migration path was specified. Microsoft is making
+these decisions because they make business sense for Microsoft,
+regardless of the effects on European software developers.
+
+The second threat closed source makes to European competitiveness is
+more insidious, and more long term. A good workman knows his tools.
+This is much more than the theoretical knowledge of how his tools
+ought to work, according to principles learned in school. The way car
+mechanics know how cars work is distinctly different from what you
+would know if you had attended classes on 'the principles of the
+internal combustion engine', let alone what you need to know to just
+drive the thing.
+
+Right now, in Europe, we don't have enough of the software equivalents
+of car-mechanics. And most of them live in academia, where they know
+the intimate details of languages that never get used in industrial
+applications. The world needs Formula-One race car mechanics, indeed,
+but it has a much greater need for people who know how to repair the
+family car.
+
+It is not as if there is a shortage of people who would be interested
+in learning such things, if the source were made available. Many
+people have taken this step by learning how CPython does its stuff.
+But still there is a barrier. If you want to know how CPython does
+things, you need to learn C. C is a notoriously difficult language to
+learn.
+
+But let me quote from an article posted to the Python-in-Education
+mailing list.
+
+FIXME -- I promised Arthur I would fix any typos::
+
+ Date: Sun, 14 Sep 2003 11:52:05 -0400
+ From: Arthur <ajsiegel at optonline.net>
+ To: edu-sig at python.org
+ Subject: [Edu-sig] re : If the PyPy Project ...
+
+ List-Id: Python in education <edu-sig.python.org>
+
+ Terry -
+
+ >Since I presume the goal of PyPy is to implement *Python* in Python,
+ >wouldn't the implementation language be rather insignificant to an
+ >end-user such as an educator? Why would it be "better" than CPython?
+
+ For whatever reason, the complex built_in and the cmath module, implemented
+ in Python, are part of the early pypy codebase. As I had been spending some
+ time in the complex realm with PyGeo - a simple version of the complex
+ realm, as these things go - Laura's post gave me the impetus to try to
+ plugin the pypy implementations.
+
+ Only got stuck on the typing issue. My code tests for
+ instance(object,complex). The pypy complexobject, unadorned, is a class -
+ and fails the test. But that leads me into a deeper look at some of the
+ pypy codebase, trying to understand a little bit of how this kind of issue
+ are to be dealt with. Not that I got there, yet - but I did seem to have an
+ avenue to explore I would not have with CPython - as someone who doesn't C,
+ and has no intention of trying, seriously, to do so.
+
+ As someone living within the limits of having Python as my only real
+ language, I think that pypy should open things up for me considerably. It
+ will make Python, I believe, a more attractive educational language, because
+ it will make someone with a strong foundation in Python - as the language of
+ choice - a more self-sufficient programmer.
+
+ Presumably - the point is - there will be less cases where the right
+ approach would be an extension module in C or C++, and a sense of
+ fundamental compromise should one not be equipped to go there. Many
+ thousands of folks - using VB and the like - already do involved,
+ highly performing real world applications and make nice livings doing
+ so, without being equipped to do C. I am thinking that pypy would put
+ Python more squarely in that "space".
+
+ Is any of this so, or just hope?
+
+ Art
+
+
+ _______________________________________________
+ Edu-sig mailing list
+ Edu-sig at python.org
+ http://mail.python.org/mailman/listinfo/edu-sig
+ ------------------------------------------------------
+
+Here is somebody who is hoping we can give him a language he can
+understand. Python already is an excellent teaching language. PyPy
+will be a better one.
+
+This project has to be done at the European or the International
+level. That's where we all live.
+
+Since education is a primary goal of the project, we will take every
+opportunity to disseminate PyPy. The source will always be freely
+available from our website. We will continue to give talks about PyPy
+at EuroPython, Python-UK, OSCON (the International Open Source
+Conference) the International Python Conference, and <what did I leave
+out> others. ADD SOME GOOD ONES THAT ARE FOR CSC ACADEMICS
+
+<dinu> How about OOPSLA (Conference on Object-Oriented Programming,
+Systems, Languages, and Applications), ECOOP (European Conference
+on Object-Oriented Programming), the MIT Lightweight Languages
+Workshops and the like as the next target?
+
+ASK STOCKHOLM -- will the EU pay for us to go to conferences? even
+ones we were going to attend anyway?
+
+These talks will create interest as well as teach techniques. We will
+submit a PEP and push to get PyPy made the reference implementation of
+the Python programming language(*). We will continue to discuss PyPy on
+our own mailing lists, as well as other Python mailing lists such as
+the Python-in-Education list, and the Usenet Newsgroup
+comp.lang.python. We already have an IRC channel, #pypy on
+irc.freenode.net where live online discussions happen, and where we
+communicate with each other while we are apart. Beyond that -- we are
+willing to take any actions the EU would like to fund.
+
+::
+
+ <arigo> FIXME
+ <arigo> (*) emphasis on this one? If this really happens we'll arguably
+ <arigo> become the software European Project with the largest distribution
+ <arigo> and user base ever (XXX rephrase :-)
+ <arigo> Also mention that the issue (and the word 'PEP') is discussed
+ <arigo> later in B3.1_standards.txt?
+
+Ask Stockholm We think you get no money for this in a STREP. True?
+
+ASK STOCKHOLM --
+can we get some money to give Freenode?
+re: 'Indicate what account is taken of other national or international
+research activities.' -- Samuele and Armin read the literature all
+the time. What do I say?
+pppppppppppppppFIXME_LAURA: finish writing
+
+FIXME_NICO FIXME_ALASTAIR : proof-read
+
+:DELETE:BEGIN
+
+B.3 Potential impact
+
+Describe the strategic impact of the proposed project, for example in
+reinforcing competitiveness or on solving societal problems. Describe
+the innovation-related activities. Describe the exploitation and/or
+dissemination plans which are foreseen to ensure use of the project
+results. Describe the added-value in carrying out the work at a
+European level. Indicate what account is taken of other national or
+international research activities.
+
+(Recommended length three pages)
+
+:DELETE:END
+
+Potential Impact on the Balance of Trade
+========================================
+
+Right now Python is the sixth most popular programming language in the
+world. Java and Visual Basic, ranked 1 and 2, are closed source
+proprietary American products. The number one reason that is cited by
+Java users as to 'why they don't use Python' is that it is too slow.
+PyPy will fix this. Right now the Visual Basic users have a terrible
+dilemma. Microsoft, in its wisdom, has decided end support of their
+current platform, Visual Basic 6.0. After the year 2005, they will
+have to move to Microsoft's .NET. This is a tremendous opportunity
+for us. They're angry as anything now, and tempted to move, not to
+.NET, but to an Open Source language, just so that they can have
+control over their own destiny and indicate their displeasure with
+Microsoft at the same time.
+
+Every Java and VB user that switches to Python does not pay license
+fees to Sun or Microsoft and helps the European balance of Trade.
+
+Of course, all the PBF members are predicting that an improved
+Python will improve their sales, both domestic and foreign.
+
+European Dimension
+++++++++++++++++++
+
+PyPy is an extremely high-profile project, as is only right since we
+intend to capture the estimated 175,000 Python users and make them our
+user-base. Consequently, it is essential that we have the full
+support of the International Python community. Our success in that
+regard was more fully spoken about in B3.1, International Standards,
+but suffice to say that the only possible dimensions for this project
+was 'Europe wide' or 'World Wide'. You could not find the expertise
+we needed in one country, and even if you could, you could not attain
+international acceptance without involving the top members of the
+Python community. At a smaller scale, we would only 'fork the
+project' -- make a local version which is of limited use, while the
+main line project develops along without you. At best we would have a
+ghetto. At the worst we would have two hostile camps slinging insults
+at each other over which 'was the real Python'. We have missed all of
+these problems by carefully making the PyPy project sufficiently
+international, by discussing this proposal for nearly a year at
+international conferences, and by inviting non-European Python
+luminaries to our week-long intensive code-writing meetings called
+'Sprints'. By producing a prototype in 4 coding Sprints (spread out
+over half a year) held in locations in Hildesheim, Germany;
+Gothenburg, Sweden; Louvain-La-Neuve, Belgium; and Berlin, Germany.
+while discussing this all the while on mailing lists and on our
+website, we have made certain that we have the proper dimension for
+our project to succeed, and become the new reference language for
+Python.
More information about the Pypy-commit
mailing list