python 3.0, pywin32 and scipy

V

vml

Hello,


I am trying to promote python in my job, my collegue only see matlab
and microsoft scripting language.
I understood that there willl be no backward compatibility between
python 2.x and 3.0, does it means that:

- my script using pywin32 for the COM layer and scipy for the maths
won't work under 3.0
- will we have the equivalent of pywin32 and scipy in python ?

I will be incharge of designing a python module which will be a
'matrix calculator' in our current software. Will it be compatible
with python 3.0 ? I guess no.

What can I answer to my collegue who will say 'Python is changing and
the stuff you are doing now is useless'?

how can I argue against matlab and c# ?

thanks very much
 
S

Steve Holden

vml said:
Hello,


I am trying to promote python in my job, my collegue only see matlab
and microsoft scripting language.
I understood that there willl be no backward compatibility between
python 2.x and 3.0, does it means that:

- my script using pywin32 for the COM layer and scipy for the maths
won't work under 3.0
- will we have the equivalent of pywin32 and scipy in python ?

I will be incharge of designing a python module which will be a
'matrix calculator' in our current software. Will it be compatible
with python 3.0 ? I guess no.

What can I answer to my collegue who will say 'Python is changing and
the stuff you are doing now is useless'?

how can I argue against matlab and c# ?

thanks very much
Tell them that the majority of incompatibilities will be taken care of
by an automated translation mechanism, and that the 2.X range will be
maintained in parallel with the 3.X range, with features backported when
it is feasible to do so, so there will be no *need* to migrate to 3.X
until *at least* 3.1 (which will likely take us two years into the future).

You might also remind them that Microsoft have continually broken
backwards compatibility, and that this is a one-off deal that will make
Python better and more consistent (not that they'll be interested in
that, since they seem to have closed minds).

Finally, look for Python users who have migrated from Matlab (of which
there are many) and get their opinions on why. I have used C# on a
couple of projects now and it's an OK language, but it can't hold a
candle to Python, which is now firmly in the .NET environment with
Microsoft's IronPython open source implementation.

regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading -------------
 
T

Terry Reedy

| I am trying to promote python in my job, my collegue only see matlab
| and microsoft scripting language.
| I understood that there willl be no backward compatibility between
| python 2.x and 3.0, does it means that:

Most of the basic language and syntax will be unchanged. Many to most of
the new features will be introduced in 2.6 also so you can add their usage
gradually, as needed, without converting everything. Most of the
incompatibilities between 2.6+ and 3.0+ will be handled by 2to3.py.

| - my script using pywin32 for the COM layer and scipy for the maths
| won't work under 3.0
| - will we have the equivalent of pywin32 and scipy in python ?

As with all 3rd party addons, that will depend on the authors or author
groups. The same is true today for every new release, especially in
regards to Windows binaries.

| I will be incharge of designing a python module which will be a
| 'matrix calculator' in our current software. Will it be compatible
| with python 3.0 ? I guess no.

But you will be able to use it *and distribute it* with Python2.5
indefinitely. Some people still run 1.5.2 code with the nearly decade old
1.5.2 interpreter. And I expect that there will be people running 2.5 code
with Py2.5 a decade or more from now.

The PSF still distributes versions back to about the first. Compare this
with Microsoft pulling from distrubution the free version of VC2003 early
in 2006, while maintaining the prohibition on anyone else distributing it.
This has been a MAJOR nuisance for new Python-C-Windows developers who did
not download it in time.

| What can I answer to my collegue who will say 'Python is changing and
| the stuff you are doing now is useless'?

Short answer: stuff that is useful now will continue to be useful until
requirements change.

A possible longer answer: Google continues to make major use of Python
without handcuffing themselves with such misunderstandings. They hired
Python's main developer both to write Python code for internal use and to
continue Python's development as he saw fit. They will be a test site for
both the conversion process and the usability of the new version, giving
Guido face-to-face feedback. When both are good enough for Google's
developers, they should be good enough for most of the rest of us too.

Terry Jan Reedy
 
D

Diez B. Roggisch

vml said:
Hello,


I am trying to promote python in my job, my collegue only see matlab
and microsoft scripting language.
I understood that there willl be no backward compatibility between
python 2.x and 3.0, does it means that:

- my script using pywin32 for the COM layer and scipy for the maths
won't work under 3.0

If the win32-extensions are made available (which I think is to be
expected - they are too important to not being ported), I fail to see
what COM-dependend code you expect to fail - after all, it's the
COM-based APIs that are to be questioned there.
- will we have the equivalent of pywin32 and scipy in python ?

Again, I think so - but of course I don't know for sure. But they both
are to important.
I will be incharge of designing a python module which will be a
'matrix calculator' in our current software. Will it be compatible
with python 3.0 ? I guess no.

Even if not - why do you care? Is your C# 1 code being ported to C# 2
immediately? Are you preparing for C# three?
What can I answer to my collegue who will say 'Python is changing and
the stuff you are doing now is useless'?

how can I argue against matlab and c# ?

You mean C#, the language that has seen 3 major revisions in the last 6
years of existence, with C# 3 being announced already? And the .NET SDK,
that happily strode along with that? Compared to python, that has been
started in 1991 and now approaches it's third incarnation, I'd say
python has a record of steadiness that surpasses that of MS-based tools
by any means.

Diez
 
S

sturlamolden

- my script using pywin32 for the COM layer and scipy for the maths
won't work under 3.0

Why not?

- will we have the equivalent of pywin32 and scipy in python ?

Say what? I've always thought pywin32 and scipy were Python packages.
 
V

vml

Why not?


Say what? I've always thought pywin32 and scipy were Python packages.

The problem is quite complex in my case.

My company has a some softwares to do some test measurement which can
be automated with vb 6 via OLE automation.
One could use matlab and vb 6 or vb.net or even C# but I succeed to
show the advantages of python due to its simplicity and its
efficiency but I am a newbee and not a computer scientist at all. Now
they want to use Python as the swissknife of the engineer.

So it is going from vb 6 to Python which is not really straight
forward ... If we want to do simple things like matlab script it is
possible in python, but it is also possible to do some OO programming
and even more.

So with python I need absolutly a COM level and also scipy and
matplotlib, I am confident that both will be ported to python 3.x.

I try still to convince people to switch for, vb 6 to python by
writting a python module which will handle the come layer of our
software.

I thank you very much for your answers.

I hope it will be possible to switch easily to python 3. But I need to
produce something as cheap as possible and I have no means ...

And I try to argue to give up vb 6 and use python. C# is for our
developpers the best solution to do this except the mathematic
stuff... python is so easy to use and easy to read I believe it can be
our best solution ...

Any ideas to convience people (except my scripts ;) )?
 
S

sturlamolden

And I try to argue to give up vb 6 and use python.

Either you have a valid argument for switching to Python or you do
not. If you do not, there is not really any justification for the
extra work (including teaching your staff Python).

C# is for our
developpers the best solution to do this except the mathematic
stuff...

In that case I suggest you should get rid of the staff. "Mathematical
stuff" is the realm of Fortran and scripting languages (Python,
Matlab, IDL, R). I would not trust anyone preferring C# for numerical
work to implement numerical algorithms.

python is so easy to use and easy to read I believe it can be
our best solution ...

Even if you are the only one knowing the language?
 
S

sturlamolden

I hope it will be possible to switch easily to python 3. But I need to
produce something as cheap as possible and I have no means ...


Python 3k is not released yet. Why do you worry about compatibility in
advance? Well, you are not the only one. I've heard this argument
before, that's why I bother to write this response.

Python 2.x will continue to work even after Python 3k is released.
There will also be future releases of Python 2.x.

Visual Basic .NET is not backwards compatible with VB6. But that does
not stop you form using VB6 even today. VB6 is soon 10 years old, it
was released in 1998. "Mainstream support" for VB6 ended on March 31,
2005. Extended support will end in March 2008. With Python 2.x this
even less troublesome as the source code is available - it can be
recompiled when needed! You cannot recompile VB6, still it lasted 10
years. If you can use VB6 ten years, you can use Python 2.x at least
twice that long. That will give you twenty years to port your
application to a newer version of Python. But then you probably don't
care. I am sure the packages you mentioned will be ready for Python 3k
by then.

NumPy, SciPy, Matplotlib, etc. will be ported to Python 3k in due
time. The Pywin32 code is autogenerated with SWIG. When support for
Python 3k is added to SWIG (yes it will happen), there will be a
Pywin32 for Python 3k as well.

You don't have to fix something that works. Python 2.5.1 is what we
have today, use it as much as you can.
 

Ask a Question

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

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

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top