Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Mon, 23 Aug 2004
Backdoor dynamic languages
One of the things that Tim Bray mentioned in his essay on back door technologies was that Sun should get serious about dynamic languages. He went on to say
[00:27] |
[computers/programming] |
# |
TB |
F |
G |
14 Comments |
I totally don’t see any reason why we shouldn’t try to become a world leader in this space.I hope he'll be giving Guy Steele a call. Bill de hÓra thinks that Sun should Get behind Jython, citing the competitive threat from IronPython on the CLR. I think that the threat from IronPython is much worse than the Bill describes. Not only does IronPython have the potential to make scripting on the JVM DOA, it also has the power to destroy Python as we know it. Jim Huginin is going to work full time to improve dynamic language support on the CLR. What happens if Bill is right and IronPython is the upgrade path for VB.NET and ASP.NET? Microsoft will start throwing large amounts of resources at IronPython. I find it hard to believe that the Python community will be able to keep up with Microsoft if they choose to do that. If Sun "gets behind Jython", you can expect a similar activity to emerge around Jython. Even worse would be for Jython development to be taken over by the JCP, all need to be compatible with CPython eliminated. Now you have two new dialects of Python, diverging from C Python and almost certainly in incompatible directions. If Sun is going to get serious about dynamic languages, the first thing that they need to do is make changes to the JVM that make it more suitable for running dynamic languages. Once they do that, they can stand back and let the best dynamic language win. I think this is actually what Microsoft plans to do. They don't care which language wins as long as it's on the CLR, and they are going to do what needs to be done to make sure the CLR runs good languages well. Just look at they way they are pursuing language research and folding some of those features into C# (COmega). There's plenty of room left for advancements in languages. The problem for the JVM and CLR is figuring out how to be an excellent home for the next generation of languages. The problem for Python, Perl, Ruby, etc is maintaining the lead that they have today.
I couldn't agree more! I'd just raise the issue of
Boo and Prothon, two Python-inspired languages focused towards the CLR.
IMVHO, in the end, either Jim Huginin "imports" popular features from those (Boo,Prothon,*) into IronPython, exchanging CPython compatibility for popularity and better integration in the CLR domain, or this might happen from Corporate pressure as you suggested. History suggests that is inevitable.
Posted by Rod Senra at Mon Aug 23 05:29:01 2004
Boo and Prothon, two Python-inspired languages focused towards the CLR.
IMVHO, in the end, either Jim Huginin "imports" popular features from those (Boo,Prothon,*) into IronPython, exchanging CPython compatibility for popularity and better integration in the CLR domain, or this might happen from Corporate pressure as you suggested. History suggests that is inevitable.
Posted by Rod Senra at Mon Aug 23 05:29:01 2004
The Python community hasn't been concerned about fragmentation up to this point. (Why is beyond me.) In fact, they've often gotten excited at offshoots like Prothon on c.l.py. Now that Microsoft is poised to provide an excellent VM, IDE and supporting libraries to IronPython, it's apparently a concern.
With the current backlash against the "evolution" of CPython (decorators & metaclasses anyone?) and the dearth of killer IDEs for the language, who's going to be complaining about IronPython if it comes out with full integration with Visual Studio? If it's done well (IntelliSense, WinForms GUI builder, .NET/Python data type integration), folks will bite, no question. (And you can include me in that group.)
If anything was to stop the MS juggernaut, it would be the Python community fully integrating CPython into Eclipse. It's the only environment (IMO) that works better than Visual Studio.
Posted by Brandon Corfman at Mon Aug 23 06:45:56 2004
With the current backlash against the "evolution" of CPython (decorators & metaclasses anyone?) and the dearth of killer IDEs for the language, who's going to be complaining about IronPython if it comes out with full integration with Visual Studio? If it's done well (IntelliSense, WinForms GUI builder, .NET/Python data type integration), folks will bite, no question. (And you can include me in that group.)
If anything was to stop the MS juggernaut, it would be the Python community fully integrating CPython into Eclipse. It's the only environment (IMO) that works better than Visual Studio.
Posted by Brandon Corfman at Mon Aug 23 06:45:56 2004
I'll admit to being somewhat concerned about IronPython myself, although I wasn't sure why. I guess it was mostly the fact that MS had gotten involved.
But one cannot simply assume that MS will taint anything they touch. Admittedly they work under a different risk/reward than your average O/S developer, but unless they decide to really push IronPython as a technology I doubt the impact will be as great as you say. And there are plenty of non-technological reasons why they will not do so.
First off Visual Basic is firmly entrenched in the customer's minds and in MS itself. IronPython can only gain traction at the cost of VB, so any attempt to increase the mindshare for IronPython is going to start a political war inside MS. Considering that Gates has a soft-spot in his heart for Basic (look where the company started) I am guessing the VB forces will win.
Secondly MS is still trying to drag the C and C++ programmers, kicking and screaming, into C#; a clearly superior language to what they are using now and arguably a better language than Java. I doubt they are going to want to confuse the issue even more.
I am guessing (as you know this is an educated guess) that the goal of IronPython is (1) to gain more traction for the CLR as a runtime and (2) to bring a few Python developers into dotnetland. Given those two constraints I doubt they will want to futz too much with the syntax right away.
The bigger threat to CPython is the dotnet libraries themselves. These are extensive and powerful and very viral when used. Python programs developed in a dotnet environment would not easily port to CPython because the library support is so different.
Posted by Jack William Bell at Mon Aug 23 09:05:24 2004
But one cannot simply assume that MS will taint anything they touch. Admittedly they work under a different risk/reward than your average O/S developer, but unless they decide to really push IronPython as a technology I doubt the impact will be as great as you say. And there are plenty of non-technological reasons why they will not do so.
First off Visual Basic is firmly entrenched in the customer's minds and in MS itself. IronPython can only gain traction at the cost of VB, so any attempt to increase the mindshare for IronPython is going to start a political war inside MS. Considering that Gates has a soft-spot in his heart for Basic (look where the company started) I am guessing the VB forces will win.
Secondly MS is still trying to drag the C and C++ programmers, kicking and screaming, into C#; a clearly superior language to what they are using now and arguably a better language than Java. I doubt they are going to want to confuse the issue even more.
I am guessing (as you know this is an educated guess) that the goal of IronPython is (1) to gain more traction for the CLR as a runtime and (2) to bring a few Python developers into dotnetland. Given those two constraints I doubt they will want to futz too much with the syntax right away.
The bigger threat to CPython is the dotnet libraries themselves. These are extensive and powerful and very viral when used. Python programs developed in a dotnet environment would not easily port to CPython because the library support is so different.
Posted by Jack William Bell at Mon Aug 23 09:05:24 2004
I play with Jython a little here and there, as I do mainly Lotus Notes/Java stuff, but lately, I'm flat out getting tired of Java's bloatedness, so I'm looking more and more at Jython/Python as an alternative. While I don't care for M$, if IronPython gets ported into the Mono Project, I'll be seriously looking at switching. Heck, I'd consider Python more seriously if I could drop it into my Eclipse IDE.
Will Sun get behind Jython? Not likely, considering they've become the guy in the suit who seems to have forgotten how he got where he is in the first place.
Posted by Alex at Mon Aug 23 09:27:14 2004
Will Sun get behind Jython? Not likely, considering they've become the guy in the suit who seems to have forgotten how he got where he is in the first place.
Posted by Alex at Mon Aug 23 09:27:14 2004
Any suggestions as to how the JVM and CLR could be enhanced for better support of dynamic languages? What are the issues?
Posted by Charles Cook at Mon Aug 23 09:47:10 2004
Posted by Charles Cook at Mon Aug 23 09:47:10 2004
Any suggestions as to how the JVM and CLR could be enhanced for better support of dynamic languages? What are the issues?
Posted by Charles Cook at Mon Aug 23 10:15:05 2004
Posted by Charles Cook at Mon Aug 23 10:15:05 2004
Any suggestions as to how the JVM and CLR could be enhanced for better support of dynamic languages? What are the issues?
Posted by Charles Cook at Mon Aug 23 10:45:41 2004
Posted by Charles Cook at Mon Aug 23 10:45:41 2004
I don't think this is an issue that Python programmers need to be worried. Microsoft has already adopted OCaml as F#. Nothing threatening OCaml happened there. On the good side, people who never heard of OCaml earlier looked at it.
The way I see things, there are 3 levels of abstractions that enhance productivity.
So far the Commercial Programming Entities have been shy about Code Level Abstractions and Open Source groups have been shy of Tool level abstractions(Eclipse and Netbeans don’t count. They both have commercial origins).
Since so many Python developers have been so refractive to the idea of good IDEs in the recent blogs, I can only hope MS delivers in this area eventually.
Posted by Ravi Teja at Mon Aug 23 11:02:32 2004
The way I see things, there are 3 levels of abstractions that enhance productivity.
Code level abstractions - Python, Ruby.
Tool level abstractions – VB, Delphi, Eclipse.
Framework level abstractions - Delphi, Java, .NET.
So far the Commercial Programming Entities have been shy about Code Level Abstractions and Open Source groups have been shy of Tool level abstractions(Eclipse and Netbeans don’t count. They both have commercial origins).
Since so many Python developers have been so refractive to the idea of good IDEs in the recent blogs, I can only hope MS delivers in this area eventually.
Posted by Ravi Teja at Mon Aug 23 11:02:32 2004
But IronPython is under the CPL! That means that any enhancements from IronPython that MS does can be taken back into Python if the Python maintainers want to.
And if MS takes IronPython and fragments the theoretical 'Python' specification, then just sue MS on the trademark issues of using the name Python or a derivative thereof, and then MS will not be able to call thier language Python.
Simmilar to what happened with C# and Java. But mainly people are moving to .NET/C# because it gives them things that Java/JVM dosn't have. If Python still proves to be better then whatever simmilar solution that MS will create (if they create one it will be without the help of IronPython) then people will stick with Python. If MS does a better job, then do you really want people to stick with Python because of ideological reasons?
So, while the thought of MS doing a seperate competeing dynamic language, it's success with python will mostly depends on technical merit. (In the same way that python has succeded based on this same merit till now).
Frankly, I don't see any threat.
Posted by Daniel Brodie at Mon Aug 23 17:24:39 2004
And if MS takes IronPython and fragments the theoretical 'Python' specification, then just sue MS on the trademark issues of using the name Python or a derivative thereof, and then MS will not be able to call thier language Python.
Simmilar to what happened with C# and Java. But mainly people are moving to .NET/C# because it gives them things that Java/JVM dosn't have. If Python still proves to be better then whatever simmilar solution that MS will create (if they create one it will be without the help of IronPython) then people will stick with Python. If MS does a better job, then do you really want people to stick with Python because of ideological reasons?
So, while the thought of MS doing a seperate competeing dynamic language, it's success with python will mostly depends on technical merit. (In the same way that python has succeded based on this same merit till now).
Frankly, I don't see any threat.
Posted by Daniel Brodie at Mon Aug 23 17:24:39 2004
While I agree that it may do Sun well not to disregard the promise of dynamic languages, teh extent of paranoia at the association of MS with any technology surprises me. It's like as soon as MS touches a technology, its epidemic growth and success, to the extent of trouncing everything else, is taken as a foregone conclusion. That's hardly been the case with VB#, C# and the .NET platform in general, and I see no reason why that should be the case for what is but another language for the CLR. In fact, in so far as the blessing of IronPython by MS will probably lead to Sun giving more of a nod to dynamic languages, I see the IronPython affair as nothing but good news for the Java camp.
Posted by Sumit at Mon Aug 23 20:06:49 2004
Posted by Sumit at Mon Aug 23 20:06:49 2004
CPython's libraries are no match for the CLR framework libraries.
However, in some respects, CPython is it's own worst enemy. Every version of python breaks binary-compiled modules. This means that third party module support is always pretty lousy. I tried compiling gdchart with python 2.3 and I had to dig up the old version of gd lib, old version of jpeg lib and old version of freetype lib that gdchart was linked against and what a pain! If python's maintainers can't get this right, then it's python's fault that it's library support is so thin on the ground. MS has just done their job better.
Posted by Chui at Mon Aug 23 23:15:42 2004
However, in some respects, CPython is it's own worst enemy. Every version of python breaks binary-compiled modules. This means that third party module support is always pretty lousy. I tried compiling gdchart with python 2.3 and I had to dig up the old version of gd lib, old version of jpeg lib and old version of freetype lib that gdchart was linked against and what a pain! If python's maintainers can't get this right, then it's python's fault that it's library support is so thin on the ground. MS has just done their job better.
Posted by Chui at Mon Aug 23 23:15:42 2004
Charles,
My list of issues:
1. Support for tail-calls
2. VM level support for continuations
3. Better support for dynamically typed data
Posted by Ted Leung at Tue Aug 24 00:56:20 2004
My list of issues:
1. Support for tail-calls
2. VM level support for continuations
3. Better support for dynamically typed data
Posted by Ted Leung at Tue Aug 24 00:56:20 2004
For people wanting to try out Jython/Python inside Eclipse, this looks like a promising plugin :
http://home.tiscali.be/redrobin/jython/
Posted by Tom at Tue Aug 24 04:23:13 2004
http://home.tiscali.be/redrobin/jython/
Posted by Tom at Tue Aug 24 04:23:13 2004
I love python but don't actually use it in any of the more serious programs that I write. For these types of programs I use mainly VB6, Delphi or php (for the web). The reasons have already been expressed by Brandon, namely Python does not have a good IDE - at least not in the same league as those found in Visual Studio or Borland's Delphi.
I like Python, but vb and delphi provide everything that I need for developing applications. With Python, I have to either develop my Gui interfaces by hand or use something like Boa constructor (which is not too bad but not in the same class as delphi).
It may not be a bad idea for MS to take over Python development - look at what they did with BASIC. If you are a programmer making a living writing programs, you wouldn't care if the language you use is open or closed source - it must be easy to use, powerful and have lots of support libraries - MS languages have these and more!
Posted by kokkl at Wed Jun 29 07:47:00 2005
I like Python, but vb and delphi provide everything that I need for developing applications. With Python, I have to either develop my Gui interfaces by hand or use something like Boa constructor (which is not too bad but not in the same class as delphi).
It may not be a bad idea for MS to take over Python development - look at what they did with BASIC. If you are a programmer making a living writing programs, you wouldn't care if the language you use is open or closed source - it must be easy to use, powerful and have lots of support libraries - MS languages have these and more!
Posted by kokkl at Wed Jun 29 07:47:00 2005
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk