Article on the future of Python

Steven D'Aprano steve+comp.lang.python at pearwood.info
Tue Sep 25 11:35:01 EDT 2012


On Tue, 25 Sep 2012 09:26:19 -0400, Kevin Walzer wrote:

> On 9/25/12 4:15 AM, Mark Lawrence wrote:
>> Hi all,
>>
>> I though this might be of interest.
>>
>> http://www.ironfroggy.com/software/i-am-worried-about-the-future-of-
>> python
>>
>>
> Interesting article, but the comments of those who say "the only
> language I need to know is Python" strike me as a bit limited. If this
> is the case, then Python can never be moved forward, because it is
> written in C.

Incorrect. 

IronPython in C#. Jython is written in Java. CLPython is written in Lisp. 
Berp and HoPe are written in Haskell. Nuitka is written in C++. Skulpt is 
written in Javascript. Vyper is written in Ocaml. PyPy is written in 
RPython.

Some of those Python compilers are obsolete, unmaintained or 
experimental. Others are not. But either way, it is certainly not true 
that Python is written in C. One specific Python compiler happens to be 
written in C, that is all.


> I program in Python, C, Objective C, JavaScript, Tcl, AppleScript, and
> I'm learning Perl. Python could *not* handle all the domains I target in
> my projects. 

Unless you are writing code that operates on the bare metal (device 
drivers, operating system kernels) Python probably *could*, even if it 
doesn't *yet*. PyPy now allows you to write real-time video processing 
filters in pure Python:

http://morepypy.blogspot.com.au/2011/07/realtime-image-processing-in-python.html


And if performance was irrelevant, you could even write an operating 
system in Python. A really slow, painful operating system, but still an 
operating system.

Given a sufficiently smart compiler, and sufficiently powerful libraries, 
or sufficiently low expectations, pretty much any programming language 
can do anything any other language can do. Almost all of them are Turing 
complete.

But of course, in practice languages differ in their power and 
capabilities.


> For instance: if I want to access Mac-native functionality
> via Tkinter that isn't currently available in the library, 

That "isn't currently available" part is precisely what I'm talking 
about. Just because it's not available now doesn't mean it can't be made 
available.


> I can understand loving the language and wanting to work just in the
> language, but it's another thing entirely to call Python the One
> Language to Rule Them All. (That's C, because all other languages are
> implemented in it. :-) )

I see your smiley, but that is factually incorrect. Not all compilers or 
interpreters are written in C. Many languages are self-hosted, that is, 
they are written in themselves, using some clever bootstrapping 
techniques. C is neither the most powerful, the oldest, the best, or the 
most fundamental language around.


-- 
Steven



More information about the Python-list mailing list