Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Python and VS.Net

0 views
Skip to first unread message

Ravi

unread,
Jul 22, 2003, 11:34:28 PM7/22/03
to
Has anyone tried building Python with VC++.NET? Does it work or fail
horribly like I think it will. My boss seems to think it is good to have
programs that are in managed code because it is more 'portable'. Not
that there's another complete .NET runtime besides Microsoft's but he
does not understand that.

Thanks for the help,

Ravi

Tim Peters

unread,
Jul 23, 2003, 12:24:52 AM7/23/03
to
[Ravi]

> Has anyone tried building Python with VC++.NET? Does it work or fail
> horribly like I think it will.

Yes, several people have built it that way, and it works fine. You can get
into obscure kinds of trouble if you try to mix code compiled with VC6 and
VC7, though, because the C runtime systems are distinct (so, e.g.,
malloc()ing memory in one runtime and free()ing it in another, or passing
FILE* thingies across them, can lead to subtle-- or instantly
catastrophic --problems).

Note that all current Windows installers from PythonLabs install code
compiled with VC6, and the same will be true for 2.3 final (due out next
week). It also seems that 3rd-party extension modules compiled with VC7 are
still hard to come by.

> My boss seems to think it is good to have programs that are in managed
> code because it is more 'portable'. Not that there's another complete
> .NET runtime besides Microsoft's but he does not understand that.

If you're younger than him, you can reasonably hope to outlive him <wink>.

alas-it's-not-a-strategy-that-works-your-whole-career-ly y'rs - tim


Matt Gerrans

unread,
Jul 23, 2003, 3:59:32 AM7/23/03
to
> > My boss seems to think it is good to have programs that are in managed
> > code because it is more 'portable'. Not that there's another complete
> > .NET runtime besides Microsoft's but he does not understand that.

By the way, just because you compile something with the compiler that comes
with .NET doesn't mean it is managed code. In particular, if you did
compile Python with it, I don't think the result will be any more managed
than the what you compiled with a previous version of the Microsoft
compiler.

Anyway, Python is *already* more portable than .NET and it is *already*
managed code running in a "managed" environment. It is called the
interpreter (or "virtual machine" in Sun's parlance, or "runtime" as
Microsoft would have it -- "A rose is a rose is a rose is a rose.").

If your Python code could thereby access the .NET libraries, that would be
another story. That would be like Jython for .NET. I was hoping that was
what Active State's Python-in-VS.NET-thingy was, but alas it was too good to
be true: it is only (so far) a color-syntaxing Python editor that takes two
or three minutes to load up.

- Matt


Duncan Booth

unread,
Jul 23, 2003, 4:16:41 AM7/23/03
to
"Tim Peters" <tim...@email.msn.com> wrote in
news:mailman.105893439...@python.org:

> [Ravi]
>> Has anyone tried building Python with VC++.NET? Does it work or fail
>> horribly like I think it will.
>
> Yes, several people have built it that way, and it works fine.

<snip>


>
>> My boss seems to think it is good to have programs that are in
>> managed code because it is more 'portable'. Not that there's another
>> complete .NET runtime besides Microsoft's but he does not understand
>> that.

Note that Python build using VC++.Net won't be managed code. Its just a
plain old unmanaged application built with the more recent compiler. Python
build for the managed code environment would be a whole different kettle of
fish.

--
Duncan Booth dun...@rcp.co.uk
int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3"
"\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure?

Neil Hodgson

unread,
Jul 23, 2003, 4:38:48 AM7/23/03
to
Matt Gerrans:

> By the way, just because you compile something with the compiler that
comes
> with .NET doesn't mean it is managed code.

You can produce managed code rather than x86 code by adding the /clr
command line option. You may also have to fiddle some other options which
are incompatible with /clr.

Neil


Trent Mick

unread,
Jul 23, 2003, 3:26:40 PM7/23/03
to
[Tim Peters wrote]

> Note that all current Windows installers from PythonLabs install code
> compiled with VC6...

As do all ActivePython Windows packages.


Trent

--
Trent Mick
Tre...@ActiveState.com

Trent Mick

unread,
Jul 23, 2003, 3:33:27 PM7/23/03
to
> If your Python code could thereby access the .NET libraries, that would be
> another story. That would be like Jython for .NET. I was hoping that was
> what Active State's Python-in-VS.NET-thingy was, but alas it was too good to
> be true: it is only (so far) a color-syntaxing Python editor that takes two
> or three minutes to load up.

You are mixing up two difference ideas. ActiveState's VisualPython is a
plugin for VS.NET to provide all the IDE stuff (like editting,
debugging, interactive shell, help, intellisense, etc) for Python
programmers.

The idea of integrating the Python language somehow into the .NET
framework is independent of VS.NET-the-IDE, though I suppose one might
like some level of connection between the two. Mark Hammond, before and
while at ActiveState did do some exploratory work in this direction. But
that is all it has come to so far: exploration. So your "too good to be
true" does (currently) apply to a so called Python.NET. This code is
currently in PyWin32's CVS tree one SourceForge:
http://sf.net/projects/pywin32
There is also the independent Kobra project that I have not looked at.

Matt Gerrans

unread,
Jul 24, 2003, 3:16:25 AM7/24/03
to
"Trent Mick" wrote:
> > If your Python code could thereby access the .NET libraries, that would
be
> > another story. That would be like Jython for .NET. I was hoping that
was
> > what Active State's Python-in-VS.NET-thingy was, but alas it was too
good to
> > be true: it is only (so far) a color-syntaxing Python editor that takes
two
> > or three minutes to load up.
>
> You are mixing up two difference ideas. ActiveState's VisualPython is a
> plugin for VS.NET to provide all the IDE stuff (like editting,
> debugging, interactive shell, help, intellisense, etc) for Python
> programmers.

Uh, isn't that pretty much what I said? I don't think I mixed up the
ideas. I only said that what ActiveState's Visual Python was and what I
was originally hoping it would be were not the same.

> The idea of integrating the Python language somehow into the .NET
> framework is independent of VS.NET-the-IDE, though I suppose one might
> like some level of connection between the two. Mark Hammond, before and
> while at ActiveState did do some exploratory work in this direction. But
> that is all it has come to so far: exploration. So your "too good to be
> true" does (currently) apply to a so called Python.NET. This code is
> currently in PyWin32's CVS tree one SourceForge:
> http://sf.net/projects/pywin32
> There is also the independent Kobra project that I have not looked at.

Yes, I was aware of these, too. Despite Microsoft's claims about the .NET
platform being language-independent, it doesn't seem to be a simple task to
get Python going on it. So far, I think there are only VB.NET, C++, C#
and J#. No Python#, Perl# or Ruby#, as of yet...


Trent Mick

unread,
Jul 24, 2003, 12:40:28 PM7/24/03
to
[Matt Gerrans wrote]

> "Trent Mick" wrote:
> > > If your Python code could thereby access the .NET libraries, that
> > > would be another story. That would be like Jython for .NET. I
> > > was hoping that was what Active State's Python-in-VS.NET-thingy
> > > was, but alas it was too good to be true: it is only (so far) a
> > > color-syntaxing Python editor that takes two or three minutes to
> > > load up.
> >
> > You are mixing up two difference ideas. ActiveState's VisualPython is a
> > plugin for VS.NET to provide all the IDE stuff (like editting,
> > debugging, interactive shell, help, intellisense, etc) for Python
> > programmers.
>
> Uh, isn't that pretty much what I said? I don't think I mixed up the
> ideas. I only said that what ActiveState's Visual Python was and what I
> was originally hoping it would be were not the same.

Okay, fair enough. It was my mistake in reading your post, then.

Apologies,

HN

unread,
Jul 25, 2003, 10:10:32 AM7/25/03
to comp.lang.python

> Yes, I was aware of these, too. Despite Microsoft's claims about the
.NET
> platform being language-independent, it doesn't seem to be a simple task
to
> get Python going on it. So far, I think there are only VB.NET, C++, C#
> and J#. No Python#, Perl# or Ruby#, as of yet...

This is probably because .NET is more suitable for statically typed
languages than for dynamic ones. However, many statically-typed
languages have .NET implementations. For example, Eiffel, which
is a very good language, in many aspects far superior to VB, C++,
C# and Java.


JanC

unread,
Jul 25, 2003, 10:10:48 PM7/25/03
to
Marc Wilson <ma...@cleopatra.co.uk> schreef:

> Borland are said to be working on Delphi.NET

An "experimental" Delphi.NET compiler is included with Delphi 7.

--
JanC

"Be strict when sending and tolerant when receiving."
RFC 1958 - Architectural Principles of the Internet - section 3.9

sri...@yahoo.com

unread,
Jul 28, 2003, 3:45:04 AM7/28/03
to
Hello,
After going through various threads and messages, blogs and some local
discussions, I would like to share my impression. However, I do not
have any hands on experience on VS.NET.

1) Both Java and .NET are going to stay and keep competing with each
other for developers' mindshare.
2) At present Python 2.3 for Windows is based on VC6. This cannot
continue for ever. I consider absence of compatability of Python with
VC7/VS.NET as a major threat for Python's future.
3) Python and Java are already compatible with each other through
Jython. Python is also extremely compatible with Windows (without
.NET) thorough Mark Hammond's excellent library win32all.
4) Unfortunately, Microsoft's .NET does not appear to be friendly for
dynamic languages like Python. .NET framework seems to favour
statically typed languages. But I look forward to a solution.
5) Even now, it is not easy to convince management about Python's
adavantages in corporate world. It will be come more difficult, in
future, if Python.NET is not available.
6) Ruby users are also taking initiative to make Ruby work with .NET
framework. Refer http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&frame=right&th=9fa784e70c5dc0cf&seekm=20030716140638.M85561%40deltadata.dk#link1

I am interested to learn what core python team is thinking about
compatability of Python 2.x, 3.x with Windows/VC7/VS.NET.

Regards,
Srijit


"Matt Gerrans" <mger...@mindspring.com> wrote in message news:<bfo14i$ibh$1...@slb6.atl.mindspring.net>...

Glauco

unread,
Jul 28, 2003, 5:47:46 AM7/28/03
to
Good work . i hope in a fast, simple, pythonic solution for WS in .NET ..

I wrote a client library in python based on SOAPpy for use of WS in .NET .
Is very difficult for me understand how many solution and how it works
for this scope. The server i must use has 2 kind os Web Services ..

I understood that in .NET you can create 2 kind of client.

The SOAP-XML is something like an XML body into the SOAP message

and the other is SOAP-RPC , i think this is a sort of a full enveloping
of msg.


I've builded some client whith SOAP-XML and it works whith a little of
manipulation in some modules of package SOAPpy but now im'trying to
"simply understand" how to use SOAP-RPC Web Service and how to modify my
libs fot the scope.

Someone use this 2 types of .NET Web Services with Python ?

sorry for my engl.
Glauco

Anton Vredegoor

unread,
Jul 28, 2003, 7:04:16 AM7/28/03
to
sri...@yahoo.com topposted:

>1) Both Java and .NET are going to stay and keep competing with each
>other for developers' mindshare.

Yes, it's a problem, I would be better to have a general framework but
initiatives by closed source developers can not provide such a thing.

>2) At present Python 2.3 for Windows is based on VC6. This cannot
>continue for ever. I consider absence of compatability of Python with
>VC7/VS.NET as a major threat for Python's future.

Windows is but a platform among many. IMO now would be the time to
drop VC in favor of mingw or another free compiler with public
sourcecode.

<snip point three and four, no discussion here!>

>5) Even now, it is not easy to convince management about Python's
>adavantages in corporate world. It will be come more difficult, in
>future, if Python.NET is not available.

In Europe there is some initiative to use public source code in
governmental settings. Since the world at large is drifting towards a
knowledge based economy, selling computer programs based on
proprietary sourcecode will not be a feasible alternative anymore some
time in the future.

As a result software industries will have to migrate into service
based billing systems, but the bills will be paid by bills as I will
try to explain below. A service industry can be more efficient the
more it knows about its clients and the industry is already deploying
initiatives towards this goal, see for example the microsoft passport
initiative.

However people seem to get more and more reluctant to provide
information without receiving equal information "value" back because
it's slowly being realized that information is the new money and
industries that do not follow the new information exchange "laws of
nature" will be left behind.

In stark contrast to the old value system that was money based, in the
knowledge based value exchange system one will receive more that will
spend more. The reason for this is that by freely providing
information one enables other information sources to return more
specialized highly valuable information in return, however this value
is also highly personalized. What you want to know is not necessarily
what I want to know. For the moment it is still impossible to make a
computer that thinks better than a human so until that happens humans
will be the producers of the new kind of currency.

Taking these two peculiarities -increasing value return by giving away
value, and highly personalized value production and consuming- it is
clear that only systems that do not cache information or impede
information flow will be the survivors of the new market.

So if one must worry, worry about google compliance instead of about
microsoft compliance ;-) Of course google itself will survive only if
it's not going to make the mistake of trying to sell its service for
money or passwords\email adresses\logins\cookies. Google will get
"rich" just by getting to know what you want to know and by freely
providing this knowledge to those who want to know *that* and thereby
getting to know what *those* want to know, enabling them to freely
provide even more information ... etc. A key concept here is not
forcing the user to provide information, but providing information
based on information request.

>6) Ruby users are also taking initiative to make Ruby work with .NET
>framework. Refer http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&frame=right&th=9fa784e70c5dc0cf&seekm=20030716140638.M85561%40deltadata.dk#link1
>
>I am interested to learn what core python team is thinking about
>compatability of Python 2.x, 3.x with Windows/VC7/VS.NET.

Me too, but this question should probably be asked in the Python
developers mailing list, which according to my analysis above should
be turned into a newsgroup as soon as possible. Also they'd better
answer that they're going to migrate to mingw-compiling soon :-)

Personally I'm still using windows products (w2000 and w98) but I'm
leaning more and more to using Cygwin for Python related tasks, and
unless microsoft is about to make a 180 degree turn in its philosophy
about releasing sourcecode (it has happened before with some company,
see for example netscape) my next OS will probably be Linux or some
other open source thingy.

Anton.

sri...@yahoo.com

unread,
Jul 29, 2003, 10:35:41 AM7/29/03
to
Hello,
Thanks for your good response. This reply can be part of "Re: Python
and VS.Net" thread but I would prefer to put it under a different
subject.

I was just wondering that if Python has to be compatible to MS.NET
does it mean
that

1) Python should be re-written C# like Jython has been written in Java
?

But my bigger concern is about the term "Portability". More than OS,
it looks like frameworks/VMs (.NET and Java ) are getting more
dominant today.

So for middleware like Python (though Python script runs on its own
VM) should be compatible with both the frameworks in order to remain
practically portable.

This appears practically impossible unless we use lowerst common
denominator of both the frameworks.

So just compiling Python on GNU C for Windows instead of VC++ may not
be enough. Moreover Google may also change in future (I have no idea
now what may change!)

I guess this topic would have been discussed before. If so, it will be
nice member(s) can send me the links.

Regards,
Srijit

an...@vredegoor.doge.nl (Anton Vredegoor) wrote in message news:<bg309p$p2b$1...@news.hccnet.nl>...

Dave Kuhlman

unread,
Jul 29, 2003, 1:38:10 PM7/29/03
to
sri...@yahoo.com wrote:

[snip]


> I was just wondering that if Python has to be compatible to MS.NET
> does it mean
> that
>
> 1) Python should be re-written C# like Jython has been written in
> Java ?
>
> But my bigger concern is about the term "Portability". More than
> OS, it looks like frameworks/VMs (.NET and Java ) are getting more
> dominant today.
>
> So for middleware like Python (though Python script runs on its
> own VM) should be compatible with both the frameworks in order to
> remain practically portable.
>

Of the two frameworks mentioned (MS .Net and Java) we already have
Python in Java. So, before doing Python in/on MS .Net it would be
worthwhile to ask whether Python in Java (Jython) has succeeded.
In order to answer that, we need to specify what we mean by success.

My belief is that Jython has succeeded in producing usable code.

But, is it used? And, does it result in Python being more popular?

Are there projects and project groups out there that had a
requirement to work with Java but chose to do their work in Jython
rather than Java. And, of those that did so, were these projects
successful. Was using Jython a net gain over using Java itself?
Or, eventually, did they re-write all the Python code in Java? Or,
did they wish they had? Or, did they leave behind code that was a
burden to Java developers that came after them? Or, ...

I'd choose Python. But, I'm a Python zealot.

Ask yourself this question: Would a consultant or contractor who
had no ideological commitment to Python (which I do) choose to work
in Jython over Java, and why?

And, if you cannot come up with positive answers to the above
questions (positive for Python/Jython), then why should anyone do
Python in MS .Net?

One additional consideration is that a consultant/contractor can
bill more hours if Java is used than they can if Python/Jython is
used, because development in Java is slower than development in
Python. So, why would the consultant/contractor choose Python over
Java?

I'd like to hear that Jython has been enormously successful at
making in-roads into the Java world, but I'm skeptical.

Oh, and on comp.lang.perl, do you think they worry that Perl will
die if it does not play well in the Java and in the MS .Net worlds?

- Dave

--
Dave Kuhlman
http://www.rexx.com/~dkuhlman
dkuh...@rexx.com

Matt Gerrans

unread,
Jul 31, 2003, 3:35:28 AM7/31/03
to
"Dave Kuhlman" wrote:
> Of the two frameworks mentioned (MS .Net and Java) we already have
> Python in Java. So, before doing Python in/on MS .Net it would be
> worthwhile to ask whether Python in Java (Jython) has succeeded.

That's overly simplistic, I think. Whether or not Jython was "a success"
on the JVM has little to do with whether it is worthwhile on the CLR. In
fact, when Guido first began Python proper, I don't think he was too
concerned with whether it would be "a success" -- I think he just wanted to
create a useful tool.

> Ask yourself this question: Would a consultant or contractor who
> had no ideological commitment to Python (which I do) choose to work
> in Jython over Java, and why?

Yes, there are many *pragmatic* reasons to use Python, ideology aside. At
the very least, Jython is a great way to experiment with Java APIs and learn
them quickly.

> One additional consideration is that a consultant/contractor can
> bill more hours if Java is used than they can if Python/Jython is
> used, because development in Java is slower than development in
> Python. So, why would the consultant/contractor choose Python over
> Java?

This is a silly stereotype. Any consultant/contractor who looks at things
this way is a charlatan and should be booted (to the head, no less) at the
earliest opportunity. I have only met one consultant who created such bad
work that it seemed like he was playing the "job security" game -- and after
spending much time trying to disentangle his code, I concluded it was simply
incompetence, not intentional malevolence.

Having been a consultant/contractor for nearly a decade now, I can tell you
that I am always happy to maximize my productivity. There is never any
shortage of work to do, even when you get a project done in half the time
with better than expected quality.

I am working on a .Net project now and if I could do some or all of the code
in Python, I would. Instead, I'm using C#, which I like more than Java,
but less than Python. There are already a wealth of good libraries
available in .Net that would make the Python-on-.Net combination very
effective and useful.

- Matt


0 new messages