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

Is anyone using Python for .NET?

4 views
Skip to first unread message

Brandon J. Van Every

unread,
Dec 16, 2003, 5:05:04 PM12/16/03
to
Is anyone using Python for .NET? I mean Brian's version at Zope, which
simply accesses .NET in a one-way fashion from Python.
http://www.zope.org/Members/Brian/PythonNet
Not the experimental ActiveState stuff, which tried to compile IL and
apparently didn't succeed.

Two motives for the question:

1) whether to use it for my C++ / C# / .NET / Python (?) game project. It's
a prototype, so in this context a "mostly working beta" is acceptable. I
won't need "ready for prime time" for another year yet.

2) whether it's viable at this time to consult Python + .NET interop as a
business model to various Suits. I'm gathering that due to lack of
resources on Brian's webpage, and lack of responses on their mailing list,
that it isn't. Suits need to perceive support, after all.

So I'm wondering who's kicking Python for .NET's tires, as that would be
part of the agenda of getting Python development to be .NET friendly.

Why have that agenda? Well, Microsoft does generally succeed at
out-marketing everybody, so if you're with them rather than against them,
you have a much better chance of having your technology widely adopted.
Also, people actually like .NET language interop for its technical merits
alone. It's a rare case where Microsoft is actually leading the industry
rather than cloning and conquering. The clone is now Mono, in the Unix
world. I hope that eventually, at least the IL components of .NET are not a
Microsoft thing per se. Programmers need easy language interop solutions.

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

Brandon's Law (after Godwin's Law):
"As a Usenet discussion grows longer, the probability of
a person being called a troll approaches one RAPIDLY."

Brian Quinlan

unread,
Dec 16, 2003, 6:07:27 PM12/16/03
to pytho...@python.org
> Is anyone using Python for .NET? I mean Brian's version at Zope,

I'm using it.

> Not the experimental ActiveState stuff, which tried to compile IL and
> apparently didn't succeed.

Microsoft funded it as a proof of concept. The concept was proven.



> 1) whether to use it for my C++ / C# / .NET / Python (?) game project.
> It's a prototype, so in this context a "mostly working beta" is
> acceptable.

A lot of important features (like subclassing abstract classes and
implementing interfaces) don't work yet. Whenever that has bitten me, I've
written a simple C# class to help me bridge into Python.

> I won't need "ready for prime time" for another year yet.

In another year it is possible that Python compiled to IL will be faster
than CPython in most cases. But it is really hard to say.

Cheers,
Brian


Brandon J. Van Every

unread,
Dec 16, 2003, 10:33:31 PM12/16/03
to

"Brian Quinlan" <br...@sweetapp.com> wrote in message
news:mailman.231.1071616...@python.org...

> > Is anyone using Python for .NET? I mean Brian's version at Zope,
>
> I'm using it.

For what sort of project?

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

20% of the world is real.
80% is gobbledygook we make up inside our own heads.

yaipa h.

unread,
Dec 17, 2003, 2:07:11 AM12/17/03
to
> In another year it is possible that Python compiled to IL will be faster
> than CPython in most cases. But it is really hard to say.

It appears that it already does...

http://www.python.org/~jeremy/weblog/031209a.html

yaipa.h

Brian Quinlan <br...@sweetapp.com> wrote in message news:<mailman.231.1071616...@python.org>...

Guyon Morée

unread,
Dec 17, 2003, 4:17:46 AM12/17/03
to
What I like to do is use the .NET framework as the GUI-engine for my
(windows only) applications.

Is this already possible?


"Brandon J. Van Every" <try_vanevery_a...@yahoo.com> wrote in
message news:brnuts$591mp$1...@ID-207230.news.uni-berlin.de...

Brian Quinlan

unread,
Dec 17, 2003, 5:01:57 AM12/17/03
to pytho...@python.org
> For what sort of project?

Unit testing for a C# application.

Cheers,
Brian


Paul Boddie

unread,
Dec 17, 2003, 6:34:22 AM12/17/03
to
"Brandon J. Van Every" <try_vanevery_a...@yahoo.com> wrote in message news:<brnuts$591mp$1...@ID-207230.news.uni-berlin.de>...
> It's a rare case where Microsoft is actually leading the industry
> rather than cloning and conquering. The clone is now Mono, in the Unix
> world.

From "Contracts and Interoperability - A Conversation with Anders
Hejlsberg, Part V" [1]:

"Anders Hejlsberg, a distinguished engineer at Microsoft,
led the team that designed the C# (pronounced C Sharp)
programming language... In 1996, after 13 years with
Borland, Hejlsberg joined Microsoft, where he initially
worked as an architect of Visual J++..."

I'm no big fan of Sun or Java, but that's quite some industry
leadership you're showing us, Brandon. ;-)

Paul

[1] http://www.artima.com/intv/interop.html

Fredrik Lundh

unread,
Dec 17, 2003, 8:50:01 AM12/17/03
to pytho...@python.org
Paul Boddie wrote:

> >From "Contracts and Interoperability - A Conversation with Anders
> Hejlsberg, Part V" [1]:
>
> "Anders Hejlsberg, a distinguished engineer at Microsoft,
> led the team that designed the C# (pronounced C Sharp)
> programming language... In 1996, after 13 years with
> Borland, Hejlsberg joined Microsoft, where he initially
> worked as an architect of Visual J++..."
>
> I'm no big fan of Sun or Java, but that's quite some industry
> leadership you're showing us, Brandon. ;-)

eh? are you saying that all Hejlsberg knows about programming language
design is stuff he picked up while working on a Java implementation?

</F>


John J. Lee

unread,
Dec 17, 2003, 9:01:22 AM12/17/03
to
ya...@yahoo.com (yaipa h.) writes:

> > In another year it is possible that Python compiled to IL will be faster
> > than CPython in most cases. But it is really hard to say.
>
> It appears that it already does...
>
> http://www.python.org/~jeremy/weblog/031209a.html

[...]

I'm sure he was aware of that -- in fact, I presume that's what
triggered his comment.

one-benchmark-does-not-a-useful-implementation-make-ly y'rs,


John

Richard Brodie

unread,
Dec 17, 2003, 9:21:19 AM12/17/03
to

"Fredrik Lundh" <fre...@pythonware.com> wrote in message
news:mailman.247.1071669...@python.org...

> > I'm no big fan of Sun or Java, but that's quite some industry
> > leadership you're showing us, Brandon. ;-)
>
> eh? are you saying that all Hejlsberg knows about programming language
> design is stuff he picked up while working on a Java implementation?

Surely not. There is little doubt that C# was in part a reaction to the
failure of J++ to be a serious competitor to Java. Whether you regard
it as taking a lead, or following Sun, is largely a matter of interpretation.
That is independent of Hejlsberg's ability as a language designer.

That said, Brandon's claim was fairly contentious and likely to get
someone to bite. It's a well worn debate though, and c.l.py probably
isn't the best place to renew it.


Paul Boddie

unread,
Dec 17, 2003, 2:38:20 PM12/17/03
to
"Richard Brodie" <R.Br...@rl.ac.uk> wrote in message news:<brpop1$16...@newton.cc.rl.ac.uk>...

> "Fredrik Lundh" <fre...@pythonware.com> wrote in message
> news:mailman.247.1071669...@python.org...
>
> > eh? are you saying that all Hejlsberg knows about programming language
> > design is stuff he picked up while working on a Java implementation?
>
> Surely not. There is little doubt that C# was in part a reaction to the
> failure of J++ to be a serious competitor to Java.

Indeed. It would take quite an active imagination and a lot of history
rewriting to conclude otherwise. As for Mr Hejlsberg's credentials, I
personally don't regard him as being part of the pantheon of great
language designers - perhaps that's because Object Pascal really isn't
my thing, I suppose.

> Whether you regard it as taking a lead, or following Sun, is largely a
> matter of interpretation. That is independent of Hejlsberg's ability as a
> language designer.

Yes, although my point could presumably be undermined by pointing out
that C# and the .NET runtime are two separate things. Whether they are
completely separate, or whether there is undue influence on the latter
by the former, is an issue that the recently announced IronPython will
presumably investigate.

Paul

Fredrik Lundh

unread,
Dec 17, 2003, 4:21:14 PM12/17/03
to pytho...@python.org
Richard Brodie wrote:

> > eh? are you saying that all Hejlsberg knows about programming language
> > design is stuff he picked up while working on a Java implementation?
>
> Surely not. There is little doubt that C# was in part a reaction to the
> failure of J++ to be a serious competitor to Java.

"in part", sure. just don't replace it with "only".

</F>


Brandon J. Van Every

unread,
Dec 17, 2003, 11:27:16 PM12/17/03
to

"Paul Boddie" <pa...@boddie.net> wrote in message
news:23891c90.0312...@posting.google.com...

*I'm* showing you? Since when was I Microsoft? I guess your point is
whether you think Java or .NET is responsible for the interop principles of
.NET. I'd say the latter, since otherwise, it would be Java and we'd all be
doing our language interop in Java.

Brandon J. Van Every

unread,
Dec 17, 2003, 11:44:43 PM12/17/03
to

"Richard Brodie" <R.Br...@rl.ac.uk> wrote in message
news:brpop1$16...@newton.cc.rl.ac.uk...
>
> That said, Brandon's claim was fairly contentious and likely to get
> someone to bite. It's a well worn debate though, and c.l.py probably
> isn't the best place to renew it.

It was a comment made in passing, and it takes quite a Trollhunter to make
it otherwise. My motives for posting were quite explicit, and I could care
less whether anyone wants to call .NET "a clone" or not. You can call it a
sheep or a dog or a rock for all I care. You can debate it until the cows
come home for all I care, I just want to know if people are using Python for
.NET.

Again in passing: the concept of .NET was of course based on Java and a
number of other higher level languages. Every book on the subject I've read
says so (which by now is a small handful), and the goal (aside from
Microsoft dominating the world as usual) was to improve upon the basic
premise of a virtual machine. They have been successful and the truth
stands: the Unix world is cloning .NET because it is a superior technology
for a certain class of language interop problem. It remains to be seen
whether the *Windows Forms* part of .NET will be cloned successfully, or is
desired by the Unix crowd. I'm referring mainly to the IL.

Why bother to make another comment in passing? Because it's the truth, and
I find it annoying to be labeled as trying to get people to "bite" on some
advocacy debate when it's not my motive. If you want to debate the
relevance or morality of it all, go talk to the Mono people. Right now, I
don't care. I'm going to wait 4 years and then run .NET on Unix, picking up
a residual and unimportant market of Linux gamers for very little effort.
Sooner if things develop quicker.

Brandon J. Van Every

unread,
Dec 17, 2003, 11:49:26 PM12/17/03
to

"Guyon Morée" <gu...@looze.net> wrote in message
news:3fe02120$0$269$4d4e...@news.nl.uu.net...

> What I like to do is use the .NET framework as the GUI-engine for my
> (windows only) applications.
>
> Is this already possible?

Apparently to at least some trivial degree, judging by the 3 trivial demos
in the Python for .NET kit. It's unproven in the "big apps" degree, you'd
have to be an early adopter to do it. The developer says it'll work for
some things and not for others, for instance "complex COM interactions"
would make him scared. Check out the mailing list archive.
http://www.zope.org/Members/Brian/PythonNet/

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

"Desperation is the motherfucker of Invention." - Robert Prestridge

Erik Max Francis

unread,
Dec 18, 2003, 12:05:27 AM12/18/03
to
"Brandon J. Van Every" wrote:

> "Richard Brodie" <R.Br...@rl.ac.uk> wrote in message
> news:brpop1$16...@newton.cc.rl.ac.uk...
>
> > That said, Brandon's claim was fairly contentious and likely to get
> > someone to bite. It's a well worn debate though, and c.l.py probably
> > isn't the best place to renew it.
>
> It was a comment made in passing, and it takes quite a Trollhunter to
> make
> it otherwise.

Outstanding! You're so paranoid about being called a troll you whine
about being called one even when you weren't!

--
__ Erik Max Francis && m...@alcyone.com && http://www.alcyone.com/max/
/ \ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
\__/ I'm the woman whose / Three wishes came true
-- Lamya

Terry Reedy

unread,
Dec 18, 2003, 12:17:18 AM12/18/03
to

"yaipa h." <ya...@yahoo.com> wrote in message
news:6e07b825.03121...@posting.google.com...

> > In another year it is possible that Python
compiled to IL will be faster
> > than CPython in most cases. But it is really
hard to say.
>
> It appears that it already does...
>
>
http://www.python.org/~jeremy/weblog/031209a.html

I think the microbenchmark results are more
interesting that the PyStone result:
[quotes from page referenced above]:

> IronPython-0.1 Python-2.3
Jython-2.1
>function call 0.19 1.00
1.33

The speedup here apparently comes from having
specialized internal call functions for the common
cases of function calls.. For example, given

def f(x): return x*x
[stuff]
y=f(a)

and no rebinding of f anywhere and a compiler that
does a global analysis to detect that lack of
rebinding, the call of f can be implemented with a
Call-with-1-required-arg bytecode instead of the
current Call-with-anything-possible bytecode with
considerable speedup. 2 and 3 required, without
and with additional optional args, are also useful
special cases.

And yes, the possibility of doing something
similar in CPython for 2.4 *has* been discussed on
PyDev.

> integer add 0.59 1.00
1.08

I believe Psyco can do better than this

> string.replace 0.92 1.00
1.40

In CPython, this is a call to a C function so C#
or .NET IL cannot gain much.

> range(bigint) 5.57 1.00
16.02

Of course, one should use xrange instead.

> eval("2+2") 66.97 1.00
91.33

Terry J. Reedy


Paul Boddie

unread,
Dec 18, 2003, 6:45:07 AM12/18/03
to
"Brandon J. Van Every" <try_vanevery_a...@yahoo.com> wrote in message news:<brr9mc$6gnls$1...@ID-207230.news.uni-berlin.de>...

> "Paul Boddie" <pa...@boddie.net> wrote in message
> news:23891c90.0312...@posting.google.com...
> >
> > I'm no big fan of Sun or Java, but that's quite some industry
> > leadership you're showing us, Brandon. ;-)
>
> *I'm* showing you? Since when was I Microsoft?

Rephrasing:

1. That's quite some industry leadership you're revealing to us.
2. That's quite some industry leadership you're referring us to.
3. That's quite some industry leadership to which you're
referring us.

Suggestion #3 is for the "to boldly go" crowd. On the other hand, if
Sherlock Holmes was in any sense accurate, perhaps you are Microsoft.
;-)

> I guess your point is whether you think Java or .NET is responsible for the
> interop principles of .NET.

Not at all. My point was that .NET apparently got cooked up when Sun
rained on Microsoft's J++ parade. A lot of old timers made comparable
remarks when Java emerged back in the mid-nineties because the
portable virtual machine thing has a long history and has produced a
lot of compelling competitors to Java, although the Java security
model does seem like a differentiator to me.

> I'd say the latter, since otherwise, it would be Java and we'd all be
> doing our language interop in Java.

Well, I get a fair amount of mileage out of Jython, Apache Axis (SOAP)
and so on, but I guess that this isn't your point. I think it is
widely accepted that Java was never really made for in-process
interfacing with other languages, or at least that JNI (or whatever
they call it now) is "nasty". From what I see, Microsoft may have
tried a bit harder on that front, and I can imagine that the Mono
people have pushed it even further to leverage various components
implemented in C/C++.

Perhaps we will be doing all our development in .NET-related
technologies in five years time. I just hope that if this is the case,
Microsoft don't do a SCO and hit everyone up with $799 "licence"
demands.

Paul

Brandon J. Van Every

unread,
Dec 19, 2003, 8:05:25 AM12/19/03
to

"Paul Boddie" <pa...@boddie.net> wrote in message
news:23891c90.03121...@posting.google.com...

>
> Not at all. My point was that .NET apparently got cooked up when Sun
> rained on Microsoft's J++ parade. A lot of old timers made comparable
> remarks when Java emerged back in the mid-nineties because the
> portable virtual machine thing has a long history and has produced a
> lot of compelling competitors to Java, although the Java security
> model does seem like a differentiator to me.

Ok, to understand history (lest we be doomed to repeat it) why did Java
succeed as an industry dominant language where others failed? Was it simple
things like level of support?

Incidentally, I just did a whirlwind tour of all the various languages
recognizably available on Usenet: Haskell, OCaml, Mercury, Bigloo, Erlang,
Common Lisp, Eiffel, quite a few really. Although I'm satisfied with Python
from a high level applications glueing standpoint, I'm not satisfied from a
low-level performance language interop standpoint. So I wanted to see if
there was something that was both high level and generated much faster code
for 2D image processing type problems. What I decided was, Python has too
much community, library, and industry support behind it, and a lot of these
other languages carry major design risks, i.e. going from imperative to
functional programming. So as of today, Python is winning in practice
despite whatever might be better in theory.

See any parallels with Java or C# history debates?

> > I'd say the latter, since otherwise, it would be Java and we'd all be
> > doing our language interop in Java.
>
> Well, I get a fair amount of mileage out of Jython, Apache Axis (SOAP)
> and so on, but I guess that this isn't your point.

It could be for your problem domain, but it isn't for mine.

> and I can imagine that the Mono
> people have pushed it even further to leverage various components
> implemented in C/C++.
>
> Perhaps we will be doing all our development in .NET-related
> technologies in five years time. I just hope that if this is the case,
> Microsoft don't do a SCO and hit everyone up with $799 "licence"
> demands.

I would hope that there's a replacement strategy for the interop concept.
Aren't the FSF guys doing something like that?

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

20% of the world is real.

Simon B

unread,
Dec 20, 2003, 4:03:35 AM12/20/03
to
I know everyone has probably heard what I'm about to say a couple of
hundred times, but because it's true, it should be stated.

Brandon J. Van Every wrote:

> "Richard Brodie" <R.Br...@rl.ac.uk> wrote in message
> news:brpop1$16...@newton.cc.rl.ac.uk...
>
>>That said, Brandon's claim was fairly contentious and likely to get
>>someone to bite. It's a well worn debate though, and c.l.py probably
>>isn't the best place to renew it.
>
>
> It was a comment made in passing, and it takes quite a Trollhunter to make
> it otherwise. My motives for posting were quite explicit, and I could care
> less whether anyone wants to call .NET "a clone" or not. You can call it a
> sheep or a dog or a rock for all I care. You can debate it until the cows
> come home for all I care, I just want to know if people are using Python for
> .NET.
>
> Again in passing: the concept of .NET was of course based on Java and a
> number of other higher level languages. Every book on the subject I've read
> says so (which by now is a small handful), and the goal (aside from
> Microsoft dominating the world as usual) was to improve upon the basic
> premise of a virtual machine. They have been successful and the truth
> stands: the Unix world is cloning .NET because it is a superior technology
> for a certain class of language interop problem. It remains to be seen
> whether the *Windows Forms* part of .NET will be cloned successfully, or is
> desired by the Unix crowd. I'm referring mainly to the IL.

.NET is a platform, not a language. What you probably meant to say was:
"C# is of course based on Java and a number of other higher level
langauges". Completely true... Just as Java is based on Smalltalk and
C++ along with a number of other higher level langauges.

.NET the platform is, to programmers, a common set of types and
libraries across multiple languages, whereas the JVM was sold along with
the language Java, which in my opinion the only difference in
marketing... Sun associated the JVM with Java so that to use the JVM
they expected you to program in Java. Weird, because they could just
have easily sold it as a platform on which other languages ran, and then
we'd all be impressed about the vision of having multiple languages use
common types... But it's happening anyway
(http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html). There are far
more languages running on the JVM than languages running on .NET.

UNIX is cloning .NET not because it is superior technology (although it
migth be, but that is arguable) but because it creates a situation where
UNIX can run all of the software being churned out by .NET programmers.
The barrier to moving platforms becomes Null and Void... Very JVM-esque eh?

My opinion on why MS did take the .NET path is based on the premise that
they are only really interested in Operating Systems, which isn't too
bigger a stretch. They want to sell operating systems, and part of the
reason corporations don't upgrade to the lastest version until they
absolutely have to (and even then, they often don't!) is because they
have invested big money in software that will require considerable
testing and/or modification and/or risk if the underlying OS changes.

.NET solves that problem for Microsoft.

Mark Hammond

unread,
Dec 20, 2003, 6:28:13 PM12/20/03
to
Simon B wrote:
> I know everyone has probably heard what I'm about to say a couple of
> hundred times, but because it's true, it should be stated.
..

>> Again in passing: the concept of .NET was of course based on Java and a
>> number of other higher level languages. Every book on the subject
>> I've read
>> says so (which by now is a small handful), and the goal (aside from
>> Microsoft dominating the world as usual) was to improve upon the basic
>> premise of a virtual machine. They have been successful and the truth
>> stands: the Unix world is cloning .NET because it is a superior
>> technology
>> for a certain class of language interop problem. It remains to be seen
>> whether the *Windows Forms* part of .NET will be cloned successfully,
>> or is
>> desired by the Unix crowd. I'm referring mainly to the IL.
>
>
> .NET is a platform, not a language. What you probably meant to say was:
> "C# is of course based on Java and a number of other higher level
> langauges".

No, I believe his original statement is correct. Java is both a
language and a virtual machine specification. .NET was based on the
idea of the JVM, but they decided to make it language agnostic (as
opposed to Sun, who made absolutely no concessions to
languages-other-than-Java running on their VM. The world could have
been quite a bit different if it did)


> .NET the platform is, to programmers, a common set of types and
> libraries across multiple languages, whereas the JVM was sold along with
> the language Java, which in my opinion the only difference in
> marketing... Sun associated the JVM with Java so that to use the JVM
> they expected you to program in Java. Weird, because they could just
> have easily sold it as a platform on which other languages ran, and then
> we'd all be impressed about the vision of having multiple languages use
> common types... But it's happening anyway
> (http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html). There are far
> more languages running on the JVM than languages running on .NET.

This is true, but if you speak to the language implementors, you will
find they prefer .NET over the JVM - mainly as Microsoft got alot of
them into a room at once, and asked them what they truly needed, then
delivered. Many problems that do not exist for Java, C#, C++ or VB, but
do for more niche languages have solutions inside the VM, explicitly to
help solve these problems that noone inside MS ever sees.

Dynamic languages are still missing some support in V1, but MS promised,
and is delivering, enhancements that better support dynamic languages,
even though it is not a direct issue for these MS languages.

> UNIX is cloning .NET not because it is superior technology (although it
> migth be, but that is arguable) but because it creates a situation where
> UNIX can run all of the software being churned out by .NET programmers.

I don't agree, but there is no way either of us can be proved right
here. However, I seriously doubt people are putting all this work into
.NET with the sole intention of running code churned out by below
average programmers working for some huge insurance company - and that
is exactly where .NET is "hot" at the moment. Marketting rules here -
"no brain for programming - try .NET" :) The truly smart people,
including the people working on alternate implementations, understand
the bigger picture.


> My opinion on why MS did take the .NET path is based on the premise that
> they are only really interested in Operating Systems, which isn't too
> bigger a stretch. They want to sell operating systems, and part of the
> reason corporations don't upgrade to the lastest version until they
> absolutely have to (and even then, they often don't!) is because they
> have invested big money in software that will require considerable
> testing and/or modification and/or risk if the underlying OS changes.
>
> .NET solves that problem for Microsoft.

I don't understand what you are saying here. That MS only developed
.NET to force people to upgrade their OS? I thought .NET was available
for existing OS's, for free?

MS have invested *hugely* in this - if every legitimate user of an MS OS
upgraded once, I seriously doubt they would recover their investment. I
believe MS are looking a little more forward than that.

Underestimate MS at your own risk. It is one thing to not like MS, and
possibly a reasonable positition to take. However, underestimating them
is for fools.

Mark.

Paul Boddie

unread,
Dec 20, 2003, 6:39:21 PM12/20/03
to
"Brandon J. Van Every" <try_vanevery_a...@yahoo.com> wrote in message news:<brusdr$7takb$1...@ID-207230.news.uni-berlin.de>...

>
> What I decided was, Python has too much community, library, and industry
> support behind it, and a lot of these other languages carry major design
> risks, i.e. going from imperative to functional programming. So as of
> today, Python is winning in practice despite whatever might be better in
> theory.

Yes, despite the theoretical advantages of many languages, Python has
a lot of working code available for it, some well-established
approaches for certain kinds of activities, and quite a bit of
guidance and support around those activities. Consequently, upon
discovering that more legwork is necessary to get up to speed in those
other languages in order to implement a given solution, one can be
rather dissuaded from pursuing those other languages further.

> See any parallels with Java or C# history debates?

Really, one can always ask, "Is this language good enough?" I've seen
a number of cases where implementation languages being used have been
less than appropriate for the applications concerned and where a
different language could have been used, not just for reasons of
elegance or performance, but mainly for access to much better
application frameworks. For example, why use C++ for Internet server
applications when Java (or Python) has a lot more framework support in
that area?

There was some mention of "Worse is Better" on Ian Bicking's weblog
which convinced me that one can almost base one's career on such
debates, however. ;-)

> > Well, I get a fair amount of mileage out of Jython, Apache Axis (SOAP)
> > and so on, but I guess that this isn't your point.
>
> It could be for your problem domain, but it isn't for mine.

I suppose that's a good argument for improved across-the-board
interoperability. Shouldn't one be able to write Internet server
applications in C++ whilst using various Java-based Apache frameworks?

> I would hope that there's a replacement strategy for the interop concept.
> Aren't the FSF guys doing something like that?

DotGNU Portable.NET perhaps:

http://www.dotgnu.org/pnet.html

Paul

Brandon J. Van Every

unread,
Dec 21, 2003, 7:23:28 AM12/21/03
to
"Simon B" <bow...@telstra.com> wrote in message
news:HfUEb.59264$aT.3...@news-server.bigpond.net.au...

>
> .NET is a platform, not a language. What you probably meant to say was:
> "C# is of course based on Java and a number of other higher level
> langauges". Completely true... Just as Java is based on Smalltalk and
> C++ along with a number of other higher level langauges.

I do tend to mishmash terms in a way that's annoying to a lot of "harder
core" programmers than myself.

> (http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html). There are far
> more languages running on the JVM than languages running on .NET.

"More," yes, but at a glance most of those look like academic tweaky
languages. So to an industrialist, don't count. I'll save the exercise of
determining which ones do count for some time when I'm more awake.

> My opinion on why MS did take the .NET path is based on the premise that
> they are only really interested in Operating Systems, which isn't too
> bigger a stretch. They want to sell operating systems, and part of the
> reason corporations don't upgrade to the lastest version until they
> absolutely have to (and even then, they often don't!) is because they
> have invested big money in software that will require considerable
> testing and/or modification and/or risk if the underlying OS changes.
>
> .NET solves that problem for Microsoft.

Does it? What if in so doing, only .NET has value, and OSes have no value!
W2K with .NET, XP with .NET, makes no difference. Stuff still runs. But
they do get to sell Visual Studio, and they can patent screw Linux.

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

20% of the world is real.

Doveclaw

unread,
Dec 20, 2003, 8:40:24 PM12/20/03
to Mark Hammond
On Sat, 2003-12-20 at 19:25, Mark Hammond wrote:
> > Just wondering, because this discussion peaked my
> > interest.. but why do
> > you disagree.. I understand your opinion that the market right now for
> > this product are "average" programmer's who happily except
> > being dumbed
> > down.. but why (if you do) do you disagree with his statement
> > about .NET
> > support being advantageous to *nix.
>
> I wasn't clear. I believe it will be advantageous to *nix, but not
> necessarily in terms of directly reusing code originally written "for
> Windows".
>
> It is just that the biggest market now in Windows is for these large
> insurance companies writing "business logic" etc, and that I doubt any of
> *that* code will end up running on Linux.
>
> > I don't believe he's saying that. What I think he's saying is that
> > Microsoft developed it to basically make there Operating System's that
> > much more tasty, and advantageous.. because when developing with .NET
> > they will not be hindered with incompatible legacy
> > applications. Whether
> > this is true or not I do not know, I haven't yet looked into .NET as a
> > solution.
>
> Right - if he was simply stating "MS continue to innovate in order to
> continue selling OSs", I agree. Let's not forget programs like Office
> though too - .NET could help these products at the *expense* of their OS
> division, assuming things ever got good enough to run a .NET forms based app
> on *nix. If programs are written to .NET, the OS no longer matters. In
> theory of course :)

So it's not that you don't believe a program developed w/ .NET in
Windows could "technically" run on *nix with proper .NET support but
that there wouldn't be a good enough incentive or.. any real want for
these insurance companies to begin running their applications on
alternative platforms.. so in effect, this option will just be largely
unused and go to waste. Drawing from my experience, I can agree with
that.
One question, since I do not know much about .NET or it's reason to
exist.. How does it handle the gui/widgets? Through its own libraries or
must you rely on what is made available to you by your chosen
programming language? I'm not sure how "open" .NET is intended to be,
but assuming that any provided libraries would be windows based.. that
would make a *nix clone annoyingly more involved (along w/ often
overly-debated decisions, such as which library/widget set(s) to
support.) The alternative, through what was already provided by the
programming language would seemingly cut severely into attempts to be
open and portable since a good many systems for example, may not have
wxWindows, tk, or other popular alternatives in Python's case.

--
Doveclaw <dove...@users.sourceforge.net>


Lawrence Oluyede

unread,
Dec 21, 2003, 2:18:59 PM12/21/03
to
Doveclaw <dove...@users.sourceforge.net> writes:

> One question, since I do not know much about .NET or it's reason to
> exist.. How does it handle the gui/widgets?

The MS .NET implementation has a GUI framework called Windows Forms which
is essentially a wrapper around win32 APIs. See www.windowsforms.net for
furthere infos. Mono (open source .NET implentation) has an alpha support
for them since the only way to go is through wine emulation. Additionally,
mono, provides GTK#, a GTK binding for C# language

> Through its own libraries or
> must you rely on what is made available to you by your chosen
> programming language?

No, the core programming model and one of the main features of dotNET is
the indipendence of the framework from the language. You virtually can do
the same things with C#, VB.NET, C++.NET, Eiffel.NET and Python .NET in
the future. The only requirement is to adhere to the official standard
(C# and the Common Language Interface of dotNET are ISO standards) and
generate the same intermediate language.

> I'm not sure how "open" .NET is intended to be,

The openess of dotNET is not total but as I said above, some parts of
it are covered by ISO standards.

> support.) The alternative, through what was already provided by the
> programming language would seemingly cut severely into attempts to be
> open and portable since a good many systems for example, may not have
> wxWindows, tk, or other popular alternatives in Python's case.

The more portable way to go to code GUI things in dotNET today is
to use GTK#.

--
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com

Simon B

unread,
Dec 23, 2003, 9:25:06 PM12/23/03
to
Brandon J. Van Every wrote:
>>My opinion on why MS did take the .NET path is based on the premise that
>>they are only really interested in Operating Systems, which isn't too
>>bigger a stretch. They want to sell operating systems, and part of the
>>reason corporations don't upgrade to the lastest version until they
>>absolutely have to (and even then, they often don't!) is because they
>>have invested big money in software that will require considerable
>>testing and/or modification and/or risk if the underlying OS changes.
>>
>>.NET solves that problem for Microsoft.
>
>
> Does it? What if in so doing, only .NET has value, and OSes have no value!
> W2K with .NET, XP with .NET, makes no difference. Stuff still runs. But
> they do get to sell Visual Studio, and they can patent screw Linux.
>

There be the risk... And it is a big gamble unless, as you point out,
they somehow screw the non-MS implementation users of .NET with patent
calls.

Also, they may feel that .NET + MS infrastructure (COM+, MSSQL, MSMQ)
might create enough of a platform tie-in to protect them from the vast
majority of migration paths to other OSes.

They might even trully believe their own TCO marketing... :)

.NET has seems to me like the most dangerous thing MS has ever done...
but considering Emulation of the Win32API was just a matter of time
(Wine, etc.) perhaps the laywers really do have everything in hand with
.NET?

Simon B

unread,
Dec 23, 2003, 9:54:32 PM12/23/03
to
Mark Hammond wrote:

> Simon B wrote:
>
>> .NET the platform is, to programmers, a common set of types and
>> libraries across multiple languages, whereas the JVM was sold along
>> with the language Java, which in my opinion the only difference in
>> marketing... Sun associated the JVM with Java so that to use the JVM
>> they expected you to program in Java. Weird, because they could just
>> have easily sold it as a platform on which other languages ran, and
>> then we'd all be impressed about the vision of having multiple
>> languages use common types... But it's happening anyway
>> (http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html). There are far
>> more languages running on the JVM than languages running on .NET.
>
>
> This is true, but if you speak to the language implementors, you will
> find they prefer .NET over the JVM - mainly as Microsoft got alot of
> them into a room at once, and asked them what they truly needed, then
> delivered. Many problems that do not exist for Java, C#, C++ or VB, but
> do for more niche languages have solutions inside the VM, explicitly to
> help solve these problems that noone inside MS ever sees.
>
> Dynamic languages are still missing some support in V1, but MS promised,
> and is delivering, enhancements that better support dynamic languages,
> even though it is not a direct issue for these MS languages.

I've heard it said that .NET is designed around having multiple
languages utilise it as their VM, whearease the JVM was designed to have
java utilise it as it's VM... Certainly a better vision, although not
something that is uncorrectable with the JVM. Sun could turn around
tomorrow and begin changing the JVM spec to make it easier to support
other languages, implement a new JVM, and we'd all be none the wiser
(aside from the Language implementors :)

>
>> UNIX is cloning .NET not because it is superior technology (although
>> it migth be, but that is arguable) but because it creates a situation
>> where UNIX can run all of the software being churned out by .NET
>> programmers.
>
>
> I don't agree, but there is no way either of us can be proved right
> here. However, I seriously doubt people are putting all this work into
> .NET with the sole intention of running code churned out by below
> average programmers working for some huge insurance company - and that
> is exactly where .NET is "hot" at the moment. Marketting rules here -
> "no brain for programming - try .NET" :) The truly smart people,
> including the people working on alternate implementations, understand
> the bigger picture.
>

But if Insurance Company has spent millions deveoping code in .NET, and
tomorrow we said they could run that code on platform B, with no
changes, then it would be a massive boon for platform B. It removes a
cost of migration to alternative platforms.

I'm not going to second guess the objectives for those re-implementing
.NET (albiet, i did in the above paragraph!), but from the perspective
of someone who likes the resulting flexibility of moving to platform B,
I think it's an amazing ramification.

>
>> My opinion on why MS did take the .NET path is based on the premise
>> that they are only really interested in Operating Systems, which isn't
>> too bigger a stretch. They want to sell operating systems, and part of
>> the reason corporations don't upgrade to the lastest version until
>> they absolutely have to (and even then, they often don't!) is because
>> they have invested big money in software that will require
>> considerable testing and/or modification and/or risk if the underlying
>> OS changes.
>>
>> .NET solves that problem for Microsoft.
>
>
> I don't understand what you are saying here. That MS only developed
> .NET to force people to upgrade their OS? I thought .NET was available
> for existing OS's, for free?
>
> MS have invested *hugely* in this - if every legitimate user of an MS OS
> upgraded once, I seriously doubt they would recover their investment. I
> believe MS are looking a little more forward than that.
>
> Underestimate MS at your own risk. It is one thing to not like MS, and
> possibly a reasonable positition to take. However, underestimating them
> is for fools.
>
> Mark.
>

My point was that .NET was developed so that business CAN upgrade their
OS. MS only have to support the .NET API, which is not tied to their OS.
There are thousands of system implementations that can't move from NT
because of the amount of testing and QA (and code changes) that is
required to get onto W2k, or Winxp, or Win2k3.

As you pointed out... they're looking forward, and cleverly see .NET
can't solve this immediate problem, but it can solve tomorrows problem.
Any new development on NT should be started in .NET so that these
migration issues don't exist for the new software... It's a perfect way
of ceasing a businesses investment in yesterdays technology, and
beginning their investment in todays technology, with a clear upgrade
path to todays operating system... (and tomorrows operating system for
that matter!).

I would never underestimate MS... which is why I like them so very much
and will continue to like and admire them until they cease to hold a
grasp on a large volume of the businesses that I work for :)

Simon

0 new messages