[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