From brian at zope.com Thu Dec 4 10:15:03 2003 From: brian at zope.com (Brian Lloyd) Date: Thu Dec 4 10:16:28 2003 Subject: [Python.NET] Any interest in a Python for .NET sprint at PyCon 04? Message-ID: Hi all - It looks like there is the possibility of having a Python for .NET sprint at PyCon '04 - if you would be interested in attending, pls reply to me directly and let me know. Some possible sprint ideas could be: - Work on the embedding api - Implement more demos in Python for the distro - Allowing Python code to implement abstract .NET classes and interfaces - Preparing for generics and other CLR 2.0 features Brian Lloyd brian@zope.com V.P. Engineering 540.361.1716 Zope Corporation http://www.zope.com From xtian at toysinabag.com Mon Dec 8 00:12:01 2003 From: xtian at toysinabag.com (xtian) Date: Mon Dec 8 00:11:55 2003 Subject: [Python.NET] exception from a contructor Message-ID: <3FD40821.7050908@toysinabag.com> Hi - Something odd is happening when I create a DateTime object with invalid contructor parameters: >>> import CLR >>> import CLR.System as System >>> d = System.DateTime(2003, 2, 30) >>> d >>> d.ToString() Traceback (most recent call last): File "", line 1, in -toplevel- d.ToString() : Object does not match target type. >>> d.Month Traceback (most recent call last): File "", line 1, in -toplevel- d.Month TypeError: Object does not match target type. >>> The docs say the call to DateTime() should throw an ArgumentOutOfRangeException. Instead, I get something that thinks it's a DateTime, until I try to do anything with it. Is this something that people have seen already? I'm using Python 2.3.2, PythonNet 1.0b2 Thanks, xtian From brian at zope.com Mon Dec 8 09:18:49 2003 From: brian at zope.com (Brian Lloyd) Date: Mon Dec 8 09:19:47 2003 Subject: [Python.NET] exception from a contructor In-Reply-To: <3FD40821.7050908@toysinabag.com> Message-ID: This was fixed in PythonNet beta 3. Brian Lloyd brian@zope.com V.P. Engineering 540.361.1716 Zope Corporation http://www.zope.com > -----Original Message----- > From: pythondotnet-bounces@python.org > [mailto:pythondotnet-bounces@python.org]On Behalf Of xtian > Sent: Monday, December 08, 2003 12:12 AM > To: pythondotnet@python.org > Subject: [Python.NET] exception from a contructor > > > Hi - > > Something odd is happening when I create a DateTime object with invalid > contructor parameters: > > >>> import CLR > >>> import CLR.System as System > >>> d = System.DateTime(2003, 2, 30) > >>> d > > >>> d.ToString() > > Traceback (most recent call last): > File "", line 1, in -toplevel- > d.ToString() > : Object > does not match target type. > >>> d.Month > > Traceback (most recent call last): > File "", line 1, in -toplevel- > d.Month > TypeError: Object does not match target type. > >>> > > The docs say the call to DateTime() should throw an > ArgumentOutOfRangeException. Instead, I get something that thinks it's a > DateTime, until I try to do anything with it. > > Is this something that people have seen already? > > I'm using Python 2.3.2, PythonNet 1.0b2 > > Thanks, > xtian > > > _________________________________________________ > Python.NET mailing list - PythonDotNet@python.org > http://mail.python.org/mailman/listinfo/pythondotnet > From xtian at toysinabag.com Mon Dec 8 15:41:43 2003 From: xtian at toysinabag.com (xtian) Date: Mon Dec 8 15:41:39 2003 Subject: [Python.NET] exception from a contructor In-Reply-To: References: Message-ID: <3FD4E207.6040205@toysinabag.com> Of course it was. Sorry, I should have upgraded first. :) Thanks! Brian Lloyd wrote: > This was fixed in PythonNet beta 3. > > > Brian Lloyd brian@zope.com > V.P. Engineering 540.361.1716 > Zope Corporation http://www.zope.com > > > >>-----Original Message----- >>From: pythondotnet-bounces@python.org >>[mailto:pythondotnet-bounces@python.org]On Behalf Of xtian >>Sent: Monday, December 08, 2003 12:12 AM >>To: pythondotnet@python.org >>Subject: [Python.NET] exception from a contructor >> >> >>Hi - >> >>Something odd is happening when I create a DateTime object with invalid >>contructor parameters: >> >> >>> import CLR >> >>> import CLR.System as System >> >>> d = System.DateTime(2003, 2, 30) >> >>> d >> >> >>> d.ToString() >> >>Traceback (most recent call last): >> File "", line 1, in -toplevel- >> d.ToString() >>: Object >>does not match target type. >> >>> d.Month >> >>Traceback (most recent call last): >> File "", line 1, in -toplevel- >> d.Month >>TypeError: Object does not match target type. >> >>> >> >>The docs say the call to DateTime() should throw an >>ArgumentOutOfRangeException. Instead, I get something that thinks it's a >>DateTime, until I try to do anything with it. >> >>Is this something that people have seen already? >> >>I'm using Python 2.3.2, PythonNet 1.0b2 >> >>Thanks, >>xtian >> >> >>_________________________________________________ >>Python.NET mailing list - PythonDotNet@python.org >>http://mail.python.org/mailman/listinfo/pythondotnet >> From bvb at iname.com Wed Dec 10 15:13:53 2003 From: bvb at iname.com (Bernard Vander Beken) Date: Wed Dec 10 15:14:07 2003 Subject: [Python.NET] Related Python/.NET project: IronPython Message-ID: <3FD77E81.6070903@iname.com> Hello, The author of Jython seems to be working on a .NET compiler for Python. More info: http://primates.ximian.com/~miguel/archive/2003/Dec-09.html Best regards, Bernard Vander Beken http://groups.yahoo.com/group/agiledotnet/ From kfarmer at thuban.org Wed Dec 10 15:31:25 2003 From: kfarmer at thuban.org (Keith J. Farmer) Date: Wed Dec 10 15:31:35 2003 Subject: [Python.NET] Related Python/.NET project: IronPython Message-ID: Tres cool... Now if we can get a nice way to package the IronPython compiler for use with VS.NET's IDE, .... -----Original Message----- From: Bernard Vander Beken [mailto:bvb@iname.com] Sent: Wed 12/10/2003 12:13 PM The author of Jython seems to be working on a .NET compiler for Python. More info: http://primates.ximian.com/~miguel/archive/2003/Dec-09.html From cawilcox at charter.net Wed Dec 10 19:44:40 2003 From: cawilcox at charter.net (Christian Wilcox) Date: Wed Dec 10 19:45:17 2003 Subject: [Python.NET] IronPython Message-ID: <003801c3bf7f$f5fff510$418d7544@wilcox> Check out http://primates.ximian.com/~miguel/ironpython. Here's a snippet from the post referenced by the link (the author is Jim Hugunin, creator of Jython and Numeric Python): I've been working off and on for the past couple of months on a new implementation of Python for the CLR called IronPython. It compiles Python programs into verifiable IL and then dynamically executes them. This project began as an investigation of the performance issues involved with compiling Python to run as managed code on the CLR. Previous work had indicated that runtime performance could be prohibitively slow [1]. The early results with IronPython show that Python compiled to IL can run fast. On the standard pystone benchmark, IronPython-0.1 is 70% faster than CPython-2.3. The numbers for pystone as well as several micro-benchmarks are shown below. For ease of comparison, all times are normalized to Python-2.3. Smaller numbers indicate faster performance. IronPython-0.1 Python-2.3 Python-2.1 Jython-2.1 pystone 0.58 1.00 1.29 1.61 function call 0.19 1.00 1.12 1.33 integer add 0.59 1.00 1.18 1.08 string.replace 0.92 1.00 1.00 1.40 range(bigint) 5.57 1.00 1.09 16.02 eval("2+2") 66.97 1.00 1.58 91.33 Thoughts??? Christian Wilcox From kfarmer at thuban.org Wed Dec 10 21:41:11 2003 From: kfarmer at thuban.org (Keith J. Farmer) Date: Wed Dec 10 21:41:16 2003 Subject: [Python.NET] IronPython Message-ID: I would really like to see a compiled Python. I think that would be very useful, but of course would require certain changes. I would be all for strongly-typed public members (leaving the private stuff to its current, variant-ish behavior), with the default being for private membership. I think the CLR allows objects to return their actual type even if passed in as object types, no? Otherwise, IronPython seems to be the next best thing, and rather exciting. I wonder if he's using the CodeDom to do eval()? I think it would be relatively decent way to go about things. Of course, he could wrap that part of the CPython interpreter... -----Original Message----- From: Christian Wilcox [mailto:cawilcox@charter.net] Sent: Wed 12/10/2003 4:44 PM Check out http://primates.ximian.com/~miguel/ironpython. From whg_channel at lycos.de Thu Dec 11 13:19:57 2003 From: whg_channel at lycos.de (Marek Kubica) Date: Thu Dec 11 13:20:02 2003 Subject: [Python.NET] IronPython In-Reply-To: References: Message-ID: <941566212.20031211191957@lycos.de> Hi, would IronPython work like PythonDotNet by Mark Hammond (compiles Python to IL, so no interpreter needed)? greets, Marek From kfarmer at thuban.org Sat Dec 13 16:46:48 2003 From: kfarmer at thuban.org (Keith J. Farmer) Date: Sat Dec 13 16:46:52 2003 Subject: [Python.NET] IronPython Message-ID: > From: Jim Hugunin [mailto:jim@hugunin.net] > Subject: RE: IronPython question > > IronPython works as both an interpreter and compiler. In its current form > it generates a separate assembly for each Python module. These can be > generated entirely in memory or written to disk. Currently there's no > mode to generate a single assembly for a Python application composed of a > number of modules, but that's a straight-forward extension. > > -Jim I just informed Jim about this list (he didn't know about it). ---------- Keith J. Farmer kfarmer@thuban.org http://www.thuban.org -----Original Message----- From: Marek Kubica [mailto:whg_channel@lycos.de] Sent: Thursday, December 11, 2003 10:20 would IronPython work like PythonDotNet by Mark Hammond (compiles Python to IL, so no interpreter needed)? From vanevery at indiegamedesign.com Tue Dec 16 04:23:10 2003 From: vanevery at indiegamedesign.com (Brandon J. Van Every) Date: Tue Dec 16 04:13:55 2003 Subject: [Python.NET] Who is using Python for .NET? Message-ID: Pardon if this is a loaded question for a beta project. My intent is to speed adoption and interest, not to bust chops. Who is using Python for .NET? Who's kicking its tires? How do you know that it works in various scenarios? What level of application complexity has it been proven to work with? What kinds of scenarios would you expect Python for .NET to be able to handle today, and what scenarios would make you scared? I understand that docs aren't in place yet, so it might be a bit much to ask for a webpage of projects using / evaluating Python for .NET. But, it would probably get more testing and adoption if people were seen to be kicking its tires. If nothing else, I hope this query gets responses. At present the mail archive is quite modest in size, which doesn't indicate a lot of usage unless it's all silent, skilled, highly productive lurking. Any guess on how far out the 1.0 release is? -- Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA Taking risk where others will not. From egironas at entelnet.bo Wed Dec 17 07:12:50 2003 From: egironas at entelnet.bo (Eduardo Gironas) Date: Wed Dec 17 07:09:11 2003 Subject: RV: [Python.NET] Who is using Python for .NET? Message-ID: You have the next note: "Taking risk where others will not." May be, many members of this SIG have it in mind. I personally like Python, it is one of the most natural languajes I ever seen. I do simulations and very fast and ad-hoc works with it (not in .net environment by the moment). With time I accumulated many objects that I re-use (for reading files, formatting, reports, formulas, etc). So, a great expectations exists for people who loves Python when there the possiblitiy to integrate this to .net world. I think this languaje needs to survive, I think it is necessary to follow the shark and make heroic attempts (i.e python for .net). Of course, not all people likes python, and it depends of every one of us to go ahead and take the risk. One never knows what is behind the door. -----Mensaje original----- De: pythondotnet-bounces@python.org [mailto:pythondotnet-bounces@python.org]En nombre de Brandon J. Van Every Enviado el: Martes, 16 de Diciembre de 2003 05:23 a.m. Para: Python.NET Asunto: [Python.NET] Who is using Python for .NET? Pardon if this is a loaded question for a beta project. My intent is to speed adoption and interest, not to bust chops. Who is using Python for .NET? Who's kicking its tires? How do you know that it works in various scenarios? What level of application complexity has it been proven to work with? What kinds of scenarios would you expect Python for .NET to be able to handle today, and what scenarios would make you scared? I understand that docs aren't in place yet, so it might be a bit much to ask for a webpage of projects using / evaluating Python for .NET. But, it would probably get more testing and adoption if people were seen to be kicking its tires. If nothing else, I hope this query gets responses. At present the mail archive is quite modest in size, which doesn't indicate a lot of usage unless it's all silent, skilled, highly productive lurking. Any guess on how far out the 1.0 release is? -- Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA Taking risk where others will not. _________________________________________________ Python.NET mailing list - PythonDotNet@python.org http://mail.python.org/mailman/listinfo/pythondotnet From brian at zope.com Wed Dec 17 10:12:26 2003 From: brian at zope.com (Brian Lloyd) Date: Wed Dec 17 10:14:00 2003 Subject: [Python.NET] Who is using Python for .NET? In-Reply-To: Message-ID: > Who is using Python for .NET? Who's kicking its tires? How do you know > that it works in various scenarios? What level of application > complexity has it been proven to work with? What kinds of scenarios > would you expect Python for .NET to be able to handle today, and what > scenarios would make you scared? >From a view-of-the-guts level, it should able to handle today: - Simple and intermediate application scripting scenarios (driving objects provided by the application or the framework via scripts) - Prototyping of cmd line and gui apps - Fast unit test development for managed apps What would make me scared: - Complex multithreaded scenarios (the Python integration layer isn't yet well tested in this regard) - Complex COM interop (also mostly for threading concerns) - Apps with extreme performance requirements (the approach of integrating the C Python runtime brings with it certain drawbacks related to the Python global interpreter lock). - Win64 deployment (I know of a few issues that need to be addressed to support 64-bit properly) > I understand that docs aren't in place yet, so it might be a bit much to > ask for a webpage of projects using / evaluating Python for .NET. But, > it would probably get more testing and adoption if people were seen to > be kicking its tires. If nothing else, I hope this query gets > responses. At present the mail archive is quite modest in size, which > doesn't indicate a lot of usage unless it's all silent, skilled, highly > productive lurking. > > Any guess on how far out the 1.0 release is? I've recently had a new addition to the family, so that's put a bit of a crimp in the plan :^) I've really been hoping for more feedback to help figure out how far away 1.0 is. The main things IMHO that I'd like to see happen for 1.0 are: - better tests for threading scenarios - finish and document the embedding apis - basic docs & better packaging - (nice to have) ability to implement abstract managed classes and interfaces in Python Brian Lloyd brian@zope.com V.P. Engineering 540.361.1716 Zope Corporation http://www.zope.com From vanevery at indiegamedesign.com Wed Dec 17 14:37:47 2003 From: vanevery at indiegamedesign.com (Brandon J. Van Every) Date: Wed Dec 17 14:30:17 2003 Subject: [Python.NET] Who is using Python for .NET? In-Reply-To: Message-ID: From: Brian Lloyd [mailto:brian@zope.com] > > What would make me scared: > > - Apps with extreme performance requirements (the approach of > integrating the C Python runtime brings with it certain > drawbacks related to the Python global interpreter lock). Ok, on this point I'll ask you for further details. I'm writing a game with a lot of 3D graphics and AI code in it. That kind of code always has a high performance requirement somewhere. But in the hands of an architect such as myself, it's not an "in general" requirement, rather there will be specific systems that must be implemented in C++. My plan is to implement the Native C++ code in the .NET way, using Managed C++ as the bridge. Python then talks to .NET to get at the performance stuff. Does this pose any problems? Is the Python .NET bridge excruciatingly slow or anything like that? I will be crossing the bridge frequently. The point is to use Python to glue together some high performance low level routines, and to script various computationally intensive AI behaviors in this way. I'm not going to use Boost. I read the intro tutorial and ran screaming from the room. Boost requires nit-picky C++ implementation effort using weird templates and so forth. The point of me using Python is to not do C++ any more than absolutely necessary for performance, and writing Boost wrappers is actually worse than just writing C++ code. When *I* write C++ code, I can KISS, code defensively, avoid templates, basically avoid all of C++'s common pitfalls. With Boost, I have to use picky template syntax, and know all the potential exceptions and pitfalls of particular circumstances. In a pure C++ project I can worry about all that stuff once and then forget about it. In a Boost-Python bridge, I have to write all that stuff *twice* and I am never allowed to forget it, lest the bridge breaks. It makes modifying anything over the bridge a nightmare, especially in the hands of others that do not know the code as intimately as you do. I'm curious if anyone else has strongly negative feelings about the Boost approach? Is that why anyone else is here trying Python for .NET? I think it would be a major promotional bullet point to say "This is *far* simpler than Boost." Anyone think I'm overstating how bad Boost is? It looks like a C++ guy's wet dream, but I think it would make a Pythonista cross fingers and hiss. > I've recently had a new addition to the family, so that's put a > bit of a crimp in the plan :^) Congratulations! Cheers, Brandon Van Every From kfarmer at thuban.org Wed Dec 17 14:42:43 2003 From: kfarmer at thuban.org (Keith J. Farmer) Date: Wed Dec 17 14:42:48 2003 Subject: [Python.NET] Who is using Python for .NET? Message-ID: Is Managed DirectX an option? Have you looked into other Python/.NET implementations? (ie, IronPython, not yet released, is showing promise -- search google) Another route is via COM: write COM classes in .NET, and instantiate in Python. I haven't tried it, but I believe it's possible. -----Original Message----- From: Brandon J. Van Every [mailto:vanevery@indiegamedesign.com] Sent: Wed 12/17/2003 11:37 AM My plan is to implement the Native C++ code in the .NET way, using Managed C++ as the bridge. Python then talks to .NET to get at the performance stuff. Does this pose any problems? Is the Python .NET bridge excruciatingly slow or anything like that? I will be crossing the bridge frequently. The point is to use Python to glue together some high performance low level routines, and to script various computationally intensive AI behaviors in this way. From brian at zope.com Wed Dec 17 15:11:09 2003 From: brian at zope.com (Brian Lloyd) Date: Wed Dec 17 15:12:21 2003 Subject: [Python.NET] Who is using Python for .NET? In-Reply-To: Message-ID: > Is Managed DirectX an option? Sure - you should be able to use any managed assembly. > Have you looked into other Python/.NET implementations? (ie, > IronPython, not yet released, is showing promise -- search google) IronPython looks really interesting - I just haven't been able to find much info on it, and apparently Jim is going to be busy for a while. > Another route is via COM: write COM classes in .NET, and > instantiate in Python. I haven't tried it, but I believe it's possible. Should be. I did a silly demo of driving MSAgent using Python for .NET (after running aximp on it). I've never tried using a managed component from a plain Python via pythoncom, but it should work. In fact, I think Mark Hammond did something very like that to implement parts of the python compiler when he was working on the activestate project. Brian Lloyd brian@zope.com V.P. Engineering 540.361.1716 Zope Corporation http://www.zope.com From Mark.English at liffe.com Thu Dec 18 09:25:16 2003 From: Mark.English at liffe.com (Mark English) Date: Thu Dec 18 09:34:04 2003 Subject: [Python.NET] Subtyping in 'C' Message-ID: Hope someone can help because I'm stumped. I'm trying to use the new subtyping mechanism. There is a hierarchy of 3 types: Base - The base type C - Type derived from Base D - Type derived from C Base and C both have tp_new functions of their own. Since D doesn't define one, it ends up with C's. (I actually initialise it this way, but I believe that is what "PyType_Ready()" would do anyway) i.e. Base -> tp_new = Base::New C -> tp_new = C::New D -> tp_new = C::New tp_new has the following signature: PyObject * New (PyTypeObject *ptype, PyObject *args, PyObject *kwds) I've tried to follow the existing code and PEP 0253. Base::New calls ptype->tp_alloc and then does some non-varying data initialisation. C::New calls: "ptype->tp_base->tp_new(ptype, args, kwds)" and then does some non-varying data initialisation of its own. As stated, D doesn't have a tp_new function, so it ends up with C's. When constructing an instance of type "D", the following happens: C::New is called, where ptype=D. This delegates to ptype->tp_base->tp_new, where ptype->tp_base is C. C::New is called, where ptype=D. This carries on in a loop. The obvious solution is to pass ptype->tp_base as the ptype parameter in C::New like this: "ptype->tp_base->tp_new(ptype->tp_base, args, kwds)" The problem here is that when the tp_alloc function is called, "ptype" points to the basemost class of the class instance we're actually trying to initialise (in this case "Base"), and so not enough memory will be allocated. So currently the choice lies between blowing up the stack in an infinite loop, or initialising too small an amount of memory. Could get the functions to call the base type functions explicitly, without going through the tp_new pointer, but that seems kinda dirty. Thinking about hacking the object size in the "Base" type temporarily, so that at least I can allocate the correct amount of memory. Also not pretty but leaves the indirection alone. I'm using ActivePython 2.2.2 and I'd really rather not upgrade or switch yet. Any help, gratefully received. Cheers, mE ----------------------------------------------------------------------- The information contained in this e-mail is confidential and solely for the intended addressee(s). Unauthorised reproduction, disclosure, modification, and/or distribution of this email may be unlawful. If you have received this email in error, please notify the sender immediately and delete it from your system. The views expressed in this message do not necessarily reflect those of LIFFE Holdings Plc or any of its subsidiary companies. ----------------------------------------------------------------------- From vanevery at indiegamedesign.com Fri Dec 19 04:46:48 2003 From: vanevery at indiegamedesign.com (Brandon J. Van Every) Date: Fri Dec 19 04:37:12 2003 Subject: [Python.NET] Who is using Python for .NET? In-Reply-To: <6.0.1.1.2.20031218230849.04389ea0@mail.rudbek.com> Message-ID: From: Victor A. Wagner, Jr. [mailto:vawjr@rudbek.com] > > It's my personal > belief that Microsoft _still_ intends to bury C++ because they don't > control it. Why can't they want to bury it because it's a fundamentally unproductive enterprise language? Certainly, that's how I feel about it. Why do you think I'm jumping ship to Python? Anyways, I think Microsoft might have been interested in any higher level garbage collected language, "in principle." But Java was Sun's bid to dethrone Microsoft, so of course they couldn't swallow *that* ! So what they decided upon was the (correct) idea of a higher level garbage collected language, but something they own. Witness C# and .NET. And, because these things were created later than Java, some improvements were made over Java. The main one being, not tying your hands "in the Java way" about what your environment is. Interop is basically a better idea than Java's "one platform everywhere" idea. Of course, when one takes a deep look at .NET, it's all plenty interop as long as your problems look like C#! I hope that changes some as .NET evolves. A real proof of pudding will be if we ever get fully viable Python .NET speaking some future version of IL. Then we'll know the Microsoft R&D guys were serious and prevailed in the internal power struggles. > One distinct advantage boost has > over the current PythonNet implementation is that you can go > "either way" with boost. Yes, but at the cost of thinking about everything as C++. I'm moving to Python for the simplicity. Hence, bridging through Managed C++ sounds a lot better to me. I don't believe I need a 2-way bridge for what I'm trying to do, hope I'm not mistaken. A friend of mine also pointed out that I could wrap a few parts of my C++ classes in C, then use the Python/C API. Depends on what I need to expose. It might work in my case, I need some low-level bitmap routines exposed. I don't need Python to do any of the heavy lifting, just to trigger stuff. 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. From mail at martin-kretschmar.de Fri Dec 19 04:50:28 2003 From: mail at martin-kretschmar.de (Martin Kretschmar) Date: Fri Dec 19 04:47:54 2003 Subject: [Python.NET] Who is using Python for .NET? References: Message-ID: <000b01c3c615$8944b4a0$2c66e2c3@anonymous> Hello, > Yes, but at the cost of thinking about everything as C++. I'm moving to > Python for the simplicity. Hence, bridging through Managed C++ sounds a > lot better to me. I don't believe I need a 2-way bridge for what I'm > trying to do, hope I'm not mistaken. > A friend of mine also pointed out that I could wrap a few parts of my > C++ classes in C, then use the Python/C API. Depends on what I need to > expose. It might work in my case, I need some low-level bitmap routines > exposed. I don't need Python to do any of the heavy lifting, just to > trigger stuff. Did you ever have a look at SWIG (http://www.swig.org)?: SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as Java, OCAML and C#. Regards, Martin Kretschmar ----- Original Message ----- From: "Brandon J. Van Every" To: Sent: Friday, December 19, 2003 10:46 AM Subject: RE: [Python.NET] Who is using Python for .NET? > From: Victor A. Wagner, Jr. [mailto:vawjr@rudbek.com] > > > > It's my personal > > belief that Microsoft _still_ intends to bury C++ because they don't > > control it. > > Why can't they want to bury it because it's a fundamentally unproductive > enterprise language? Certainly, that's how I feel about it. Why do you > think I'm jumping ship to Python? Anyways, I think Microsoft might have > been interested in any higher level garbage collected language, "in > principle." But Java was Sun's bid to dethrone Microsoft, so of course > they couldn't swallow *that* ! So what they decided upon was the > (correct) idea of a higher level garbage collected language, but > something they own. Witness C# and .NET. And, because these things > were created later than Java, some improvements were made over Java. > The main one being, not tying your hands "in the Java way" about what > your environment is. Interop is basically a better idea than Java's > "one platform everywhere" idea. > > Of course, when one takes a deep look at .NET, it's all plenty interop > as long as your problems look like C#! I hope that changes some as .NET > evolves. A real proof of pudding will be if we ever get fully viable > Python .NET speaking some future version of IL. Then we'll know the > Microsoft R&D guys were serious and prevailed in the internal power > struggles. > > > One distinct advantage boost has > > over the current PythonNet implementation is that you can go > > "either way" with boost. > > > > 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. > > > _________________________________________________ > Python.NET mailing list - PythonDotNet@python.org > http://mail.python.org/mailman/listinfo/pythondotnet From vanevery at indiegamedesign.com Fri Dec 19 06:14:41 2003 From: vanevery at indiegamedesign.com (Brandon J. Van Every) Date: Fri Dec 19 06:06:07 2003 Subject: [Python.NET] Who is using Python for .NET? In-Reply-To: <000b01c3c615$8944b4a0$2c66e2c3@anonymous> Message-ID: Martin Kretschmar wrote: > > Did you ever have a look at SWIG (http://www.swig.org)?: I didn't. Everything I read in the Python archives said Boost had far better C++ support. I never did ask anyone about it though. Does SWIG have any advantages of simplicity over Boost? I want KISS, not complicated wrappers like Boost makes me deal with. 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. From brian at zope.com Fri Dec 19 11:31:41 2003 From: brian at zope.com (Brian Lloyd) Date: Fri Dec 19 11:32:24 2003 Subject: [Python.NET] Who is using Python for .NET? In-Reply-To: Message-ID: > Ok, on this point I'll ask you for further details. I'm writing a game > with a lot of 3D graphics and AI code in it. That kind of code always > has a high performance requirement somewhere. But in the hands of an > architect such as myself, it's not an "in general" requirement, rather > there will be specific systems that must be implemented in C++. > > My plan is to implement the Native C++ code in the .NET way, using > Managed C++ as the bridge. Python then talks to .NET to get at the > performance stuff. Does this pose any problems? Is the Python .NET > bridge excruciatingly slow or anything like that? I will be crossing > the bridge frequently. The point is to use Python to glue together some > high performance low level routines, and to script various > computationally intensive AI behaviors in this way. That should work fine. The bridge is not particularly slow, though it is slower than IL, of course. Method invokation currently happens through reflection, so speed of method calling should be roughly the speed you'd get calling your apis through reflection with C# + some fairly minor overhead for Python <-> managed arg conversion. I have some sneaky ideas on how to make Python <-> managed calls faster and avoid reflection altogether, but I haven't had time to test my theory yet :) Brian Lloyd brian@zope.com V.P. Engineering 540.361.1716 Zope Corporation http://www.zope.com From kfarmer at thuban.org Fri Dec 19 14:58:47 2003 From: kfarmer at thuban.org (Keith J. Farmer) Date: Fri Dec 19 15:52:18 2003 Subject: [Python.NET] Who is using Python for .NET? Message-ID: In the simplest model, SWIG just writes the stub to allow [Python, etc] to use a package written in C++. In any more complicated model, you'd have to ask someone who actually got it to work. There's also a Python package out there that provides access to arbitrary DLLs, as well as the Python Imaging Library, PIL (http://www.pythonware.com/products/pil/). -----Original Message----- From: Brandon J. Van Every [mailto:vanevery@indiegamedesign.com] Sent: Fri 12/19/2003 3:14 AM Martin Kretschmar wrote: > Did you ever have a look at SWIG (http://www.swig.org)?: I didn't. Everything I read in the Python archives said Boost had far better C++ support. I never did ask anyone about it though. Does SWIG have any advantages of simplicity over Boost? I want KISS, not complicated wrappers like Boost makes me deal with. From vanevery at indiegamedesign.com Fri Dec 19 18:34:01 2003 From: vanevery at indiegamedesign.com (Brandon J. Van Every) Date: Fri Dec 19 18:24:56 2003 Subject: [Python.NET] Who is using Python for .NET? In-Reply-To: Message-ID: Keith J. Farmer wrote: > > There's also a Python package out there that provides access > to arbitrary DLLs, as well as the Python Imaging Library, PIL > (http://www.pythonware.com/products/pil/). I presume you mean, these are 2 separate things? What is the name of the "Python package that provides access to arbitrary DLLs?" Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA Taking risk where others will not. From qual at tiscali.de Sat Dec 20 17:45:43 2003 From: qual at tiscali.de (Uwe Hoffmann) Date: Sat Dec 20 18:10:47 2003 Subject: [Python.NET] Who is using Python for .NET? In-Reply-To: References: Message-ID: Brandon J. Van Every wrote: > > What is the name of the "Python package that provides access to arbitrary DLLs?" > offtopic, but: http://starship.python.net/crew/theller/ctypes