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