On Tue, Jun 8, 2010 at 4:46 PM, Steven D'Aprano <st...@remove-this-cybersource.com.au> wrote: > On Tue, 08 Jun 2010 15:40:51 -0700, geremy condra wrote: > >> On Tue, Jun 8, 2010 at 3:09 PM, Lie Ryan <lie.1...@gmail.com> wrote: > >>> Nobody complains that python included a regular expression engine in >>> its standard distribution; so why complain that python included a Tcl >>> expression engine in its standard distribution. >> >> This is a silly argument. >> >> REs are not full programming languages, even from a theoretical point of >> view, > > True, but some theoretical extension to REs could be. If I've understood > correctly, Perl's regexes aren't actually regular expressions any more > (they're a superset) and might even be Turing Complete.
I hereby theorize an extension to python that allows it to cook toast. Therefore, python is a toaster. > In any case, the point is not that you can or can't write your entire > application using a RE. The point is that regexes are a mini-language, a > DSL, not written directly in Python. So is the string formatting mini-language. I wouldn't get all wrapped up in the idea that its ok to include anything that can be called a language just because we have RE support. >> aMSN is written in Tcl, as wikipedia would have told you, and >> having to depend on the tools of another language to get commonly >> desired functionality is not a good thing for a programming language. > > I don't see why you think so. Python is specifically designed to be a > glue language, to bring together functionality from disparate components > written in other languages and provide a user-friendly language around > them. Fundamentally, what's the difference between these? I didn't argue that Tcl is bad. I argued that a dependency on it is bad for python. Would you argue that Python should ship with Perl and Java because there are best-of-breed tools in those languages and python could leverage that? Of course not. > * CPython relies on Tk/Tcl for a GUI Unfortunately true. > * CPython relies on a C library for regular expressions Irrelevantly true. > * IronPython relies on the .Net environment for everything Since .Net (effectively) depends on Windows, I suggest that IronPython should ship with Windows as well. After all, many languages depend on the operating system- why should it be so much worse to ship with one? > * Jython relies on Java libraries for many things See above. > I don't see why that first one is so much worse than the others. Sure, it > adds an extra dependency to installing Python for GUI programming, but > that's no different to any other GUI toolkit: PyQt has Qt as a > dependency, PyGtk has Gtk as a dependency, etc. (I trust you're not > suggesting that every language needs to create its own fully-independent > GUI toolkit that talks directly to the hardware!) But we don't have any of those in the standard library. > What does it matter that Tk is Turing Complete and Qt or Gtk aren't? I wouldn't support including either of the above either, but it matters because it's a top-ten programming language that has to bootstrap its way into usefulness in a common part of the field in a pretty unclean way. > In any case, if you consider Tkinter is harmful, don't use it. It isn't > like GUI programming in Python relies on it, there are alternatives. You won't hear an argument out of me about pulling it out or leaving it in- I think it was a bad decision to depend on it, but that it's too late now and that's that. Geremy Condra -- http://mail.python.org/mailman/listinfo/python-list