Microsoft IronPython?

P

Peter Hansen

Nainto said:
The Cnet article is from today.

Maybe when David said it happened over a year ago, he was obliquely
suggesting that your questions might have been asked before (and as I
recall they were) and that a search of the archives would probably find
answers to your question.

-Peter
 
?

=?iso-8859-1?q?Luis_M._Gonz=E1lez?=

Ironpython has been in development from awhile, and now it's in beta
version 1.0.
Is it good to have Python running on every existing platform out there?
Of course it is.

Is it good to have Python running on Java and .NET?
Sure, why not? One of the good things about Python is that it runs
everywhere, thus making your code more portable and usable.
Many people program for a living and often they are forced to work with
certain technologies that are beyond their preference.
If your company uses Microsoft software, wouldn't you like being able
to run Python on it?
Personally, I'd like to see Python going everywhere. I want it to be
ubiquitous.
This way there will be no excusses for rejecting it (by your bos, your
company, your colleagues..).

Will Microsoft hurt Python?
How? If sometime in the future, MS decides to modify the language by
creating something different, you'll have the choice to decide whether
you like it or not.
Nobody will steal Python, it is free and it will always be.
What's more, if you decide that you want to use Python on .Net and you
don't ike the official Microsoft release, you can fork it (the code is
freely available) and you can call it "MyGroovyNewLanguage" if you
want.

Right now there are other languages based and inspired in Python (Boo
for example) that run on .Net and Mono, and they are useful and have an
enthusiast comunity behind them. It's good to have many choices and
it's good to be free to choose.
Although it's also very good to have a main implementation, lead by its
creator, who will always take care that there will be a pure and
legitimate Python for those who like it just the way it is.

Luis
 
R

Ray

Hi Luis,

IronPython as it is now is already slightly different from CPython
isn't it? Because it has to capture features of CLR languages that are
not in Python (such as using generic containers).

I wonder how this will branch further in the future--will CPython
expand to follow IP, or will they keep diverging further and further.

Still I'm very excited about IP--it's the best thing to happen in a
long while, especially with Jython moving so slow these days...

Ray
Ironpython has been in development from awhile, and now it's in beta
version 1.0.
Is it good to have Python running on every existing platform out there?
Of course it is.
Luis

<snip>
 
?

=?iso-8859-1?q?Luis_M._Gonz=E1lez?=

IronPython as it is now is already slightly different from CPython
isn't it? Because it has to capture features of CLR languages that are
not in Python (such as using generic containers).

Hmm... I'm not sure what you mean by "capture features of CLR".
I think Ironpython is a faithful implementation of python but, of
course, it's aimed at allowing programmers to take advantage of the
framework, it's classes and components.
If not, there would be no reason to port Python to .Net.
Don't you think?
 
R

Ray

Luis said:
Hmm... I'm not sure what you mean by "capture features of CLR".
I think Ironpython is a faithful implementation of python but, of
course, it's aimed at allowing programmers to take advantage of the
framework, it's classes and components.
If not, there would be no reason to port Python to .Net.
Don't you think?

Oh, yeah, that's undoubtedly true. What I was referring to were things
such as using [] for generic, that doesn't exist in current CPython
does it?

Regardless, I think it doesn't matter much because once you use .NET
libraries you are kinda tied to IronPython anyway--but if Python as a
language can be picked up by a broader audience due to IP I'm very
happy :)
 
K

Kay Schluehr

Luis said:
Is it good to have Python running on Java and .NET?
Sure, why not?

At least for Jython we already know from the Jython homepage that it is
the great hope of the Java platform to survive in future and far
beyond. With a comparable fate dotNET and Microsoft survive till the
end of time only because IP needs them. Is that what the Python
community really wants?

Kay
 
R

Ray

Kay said:
At least for Jython we already know from the Jython homepage that it is
the great hope of the Java platform to survive in future and far
beyond.

Yeah except that it's coming on so slow... we were doing some scripting
for our Java app and Groovy won because Jython has been in alpha for
YEARS :(
 
K

Kent Johnson

Ray said:
Yeah except that it's coming on so slow... we were doing some scripting
for our Java app and Groovy won because Jython has been in alpha for
YEARS :(

That's a hoot! Of course you can choose what language you like, but to
choose Groovy over Jython because it is more developed is mind-boggling!

Jython 2.1 has been released, stable and suitable for production use for
many years. The Groovy community was still working on the *language
definition* in November 2005 and has yet to deliver a stable final release.

Kent
 
D

Dave Benjamin

That's a hoot! Of course you can choose what language you like, but to choose
Groovy over Jython because it is more developed is mind-boggling!

Jython 2.1 has been released, stable and suitable for production use for many
years. The Groovy community was still working on the *language definition* in
November 2005 and has yet to deliver a stable final release.

I agree 100% with the above. I've been using Jython in production for two
years now, and it's been rock-solid. A little bit outdated, yes, but you
could do a lot worse than Python 2.1, as far as feature set is concerned.
(Of course, this is not to discourage the Jython team from coming through
with a new stable release. ;)
 
R

Ray

Kent said:
That's a hoot! Of course you can choose what language you like, but to
choose Groovy over Jython because it is more developed is mind-boggling!

Jython 2.1 has been released, stable and suitable for production use for
many years. The Groovy community was still working on the *language
definition* in November 2005 and has yet to deliver a stable final release.

Yeah, I know, I know... but I'm not the only voice in the team, mind.
If it were up to me it'd be Jython for sure...

Ray
 
?

=?iso-8859-1?q?Luis_M._Gonz=E1lez?=

Oh, yeah, that's undoubtedly true. What I was referring to were things
such as using [] for generic, that doesn't exist in current CPython
does it?

I'm not en expert on the subject, but I guess that any language
implementation running on .Net should be able to at least "understand"
generics or any other feature available on this framework, because
languages are supposed to interact and use all kinds of classes and
assemblies regardless of the language they were written in.
As for using generics, I think this is not very important in python, I
guess, because it is dyamic and you don't declare types.
So writing x =List[str](), for example, doesn't buy you anything.
You're better off using a regular list: x = [].

Someone more knowledgeable please kindly correct me...

Luis
 
R

Ray

Luis said:
I'm not en expert on the subject, but I guess that any language
implementation running on .Net should be able to at least "understand"
generics or any other feature available on this framework, because
languages are supposed to interact and use all kinds of classes and
assemblies regardless of the language they were written in.
As for using generics, I think this is not very important in python, I
guess, because it is dyamic and you don't declare types.
So writing x =List[str](), for example, doesn't buy you anything.
You're better off using a regular list: x = [].

Yes, in this List example I agree with you. I think it is better to use
the regular one.

But, say, since C# has generic now, somebody may write a generic class,
so you have to have a way to use it (unless it's like Java when you can
still do raw types--correct me if I'm wrong).

But then again, once you start using .NET class you're tied to .NET
anyway so this is not a big problem, I think--although the more
perfectionist among us might like to isolate parts of Python code that
are .NET/IP specific to make porting easier if it ever comes to that...
 
?

=?iso-8859-1?q?Luis_M._Gonz=E1lez?=

Ray said:
But then again, once you start using .NET class you're tied to .NET
anyway so this is not a big problem, I think--although the more
perfectionist among us might like to isolate parts of Python code that
are .NET/IP specific to make porting easier if it ever comes to that...

That's exactly what they did with version 1.0.
For example, if you wanted to turn a string into uppercase, in previous
versions you could have done:

'hello'.upper() or 'hello'.ToUpper()

That means, the python way and the .NET way.
But now if you want to do it the .NET way, you have to add the
statement "import clr" before.
So I guess you can isolate your coding to standard python if you want
or go forward and use all the CLR capabilities.
 
E

EP

Luis said:
Will Microsoft hurt Python?
I think it is naive to ignore the fact that Microsoft could hurt Python,
though there may be nothing anyone can do.
- create a more prevalent version of "Python" that is less Pythonic or
undermines some of the principles of the language, basically usurping
Python as we conceive it in the process;
- create an incompatible version, so that Python "portability" is
dependent upon the programmer porting his code to two separate versions
("JavaScript" comes to mind);
- create a poor implementation of Python so that programmers try the MS
version first, find it lacking, and decide Python is a poor language...
tarnishing the reputation of the language and its adoption...

I'm sure there are more ways MS (or any powerful entity developing
another version of Python) could hurt Python. You have to look beyond
the freedom of the individual to choose to the context that individual
operates within.

Defenses? Maybe enforcing a trademark of "Python" as a programming
language name - if it is registered and enforceable - clearly
"IronPython plays on the Python" name (Pepsi wouldn't be allowed to sell
IronCoke, would they? without Coca Cola's permission...)
If sometime in the future, MS decides to modify the language by
creating something different, you'll have the choice to decide whether
you like it or not.
Nobody will steal Python, it is free and it will always be.
What's more, if you decide that you want to use Python on .Net and you
don't ike the official Microsoft release, you can fork it (the code is
freely available) and you can call it "MyGroovyNewLanguage" if you
want.

Right now there are other languages based and inspired in Python (Boo
for example) that run on .Net and Mono, and they are useful and have an
enthusiast comunity behind them. It's good to have many choices and
it's good to be free to choose.
I'm not too worried, but the rich and powerful can always do more with
freedom than the average person; sometimes at the expense of the average
person.
Although it's also very good to have a main implementation, lead by its
creator, who will always take care that there will be a pure and
legitimate Python for those who like it just the way it is.

Luis

Alot of very smart and/or good folks have worked to make Python the neat
language it is, and hopefully a "main", excellent version of Python will
always have this.

And if the whole world goes .Net, well, Python won't be left out
entirely, it appears.

I'd agree that meanwhile there's little reason to panic - whatever the
future brings, it seems panicking does little good, except for arms
merchants and sellers of duct tape and flashlight batteries.


Anyway, the next Microsoft is Google.

And they have Guido already.


[tongue in cheek!]


[ADVERTISEMENT]
Python Emergency Supplies Sold Here
- List Comprehensions - $12.99 per bracket
- Import this - a collectors item - on Sale today! - $95.99
- Namespaces (quantities limited) - call for quote!
[/]
 
?

=?iso-8859-1?q?Luis_M._Gonz=E1lez?=

EP said:
- create a more prevalent version of "Python" that is less Pythonic or
undermines some of the principles of the language, basically usurping
Python as we conceive it in the process...

I understand all the concerns, the evil empire and all that..
But I think nothing of this will happend.
Nobody said anything when Jim Hugunin created Jython (python for java).
What about Sun? Isn't it a big corporation? Is Java Open source?
The result of Jython is that it made python a little bit more popular,
because it's cool to leverage your skills while still "doing Java".
The same will happen with Ironpython. Many people needs to work with
..NET, because their companies use this technology or because their
customers want it, and because the market needs .NET developers.So if
you are in this situation, wouldn't you like to use Python, while still
doing .NET?

Besides, MS goal is not controlling python (or killing it). What they
want is making the CLR (.NET) an attactive and succesful framework, and
they plan to do this by supporting as many languages as possible. They
are also planning to help other developes port their languages to .Net
and they want it to be a good runtime for runing dynamic languages.

MS product is not Ironpython (or C# or VB). It's product is the CLR,
the .NET framework.
They don't care who creates or develops a language, as long as it runs
on the CLR.
And if the CLR turns out to be good and succesful, I want Python to run
on it.

What's more, I got the feeling that MS understood that they have to win
the programmers hearts in order to attract them, and they won't do this
by "stealing" what they love most.
The key of their success is in attracting programmers to their field,
not to C# or to VB.Net, but to the CLR.
Don't you think?

Luis
 
R

rurpy

EP said:
I think it is naive to ignore the fact that Microsoft could hurt Python,
though there may be nothing anyone can do.

- create a more prevalent version of "Python" that is less Pythonic or
undermines some of the principles of the language, basically usurping
Python as we conceive it in the process;
- create an incompatible version, so that Python "portability" is
dependent upon the programmer porting his code to two separate versions
("JavaScript" comes to mind);
- create a poor implementation of Python so that programmers try the MS
version first, find it lacking, and decide Python is a poor language...
tarnishing the reputation of the language and its adoption...
....
Wasn't it often said that Microsoft's strategy for dealing with
standards
(and perhaps rival open source software?) was "embrace, extend,
extinguish"?
 
R

rurpy

EP said:
I think it is naive to ignore the fact that Microsoft could hurt Python,
though there may be nothing anyone can do.

- create a more prevalent version of "Python" that is less Pythonic or
undermines some of the principles of the language, basically usurping
Python as we conceive it in the process;
- create an incompatible version, so that Python "portability" is
dependent upon the programmer porting his code to two separate versions
("JavaScript" comes to mind);
- create a poor implementation of Python so that programmers try the MS
version first, find it lacking, and decide Python is a poor language...
tarnishing the reputation of the language and its adoption...
....
Wasn't it often said that Microsoft's strategy for dealing with
standards (and perhaps rival open source software) was
"embrace, extend, extinguish"?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top