473,472 Members | 1,747 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Linux.com: Python 3 makes a big break

http://www.linux.com/feature/150399
Interesting article with one minor incompleteness.
"For instance, the print statement got turned into a print function; you
must now put parentheses around what you want to print to the screen.
The change allows developers to work with print in a more flexible and
uniform way. If someone needs to replace the print function with some
other action, it can be done with a universal search and replace, rather
than rewriting each print statement by hand."

Even easier, print as a function can be replaced simply by defining a
new version with the same name. No search/replace is needed. And
reversion to the built-in only requires commenting out the replacement.

Oct 18 '08 #1
6 1537
In article <ma**************************************@python.o rg>,
Terry Reedy <tj*****@udel.eduwrote:
>
http://www.linux.com/feature/150399
Although I have no objections to the way I was quoted, the article didn't
include the points I wanted to make. Here's my original interview:

On Sat, Oct 04, 2008, jo******@comcast.net wrote:
>
Terrific! Thanks for participating. I'll be sure to put a link in the
story to your book.
That would be great! Please use http://www.pythonfood.com/
Could you say approximately how much Python 2.3 or 2.4 code you have
in your current job? What is this code used for, broadly speaking?
The company I work for is http://www.pagedna.com/ -- it has been in
business for more than ten years and was started with Python 1.4. I've
been working there for more than four years. Our software is a web
application for taking orders and sending EPS/PDF files to printing
plants.

There's more than 200K lines of code, most of it Python. A lot of the
code resides in template files for generating web pages. (There's a
significant amount of JavaScript, much of which is generated by Python
code.) Although EPS/PDF generation is the heart of our application,
there are many ancillary features to meet our customer needs (such as
approval workflow, inventory management, and reporting).
What are your thoughts about eventually moving that code to 3.0? Would
this be a big job? At what point, if ever, would it be necessary?
It would be a huge job, made more difficult because many of our bits of
Python code reside in web templates. However, by the time we do the
conversion the tools for automatic conversion should be much improved.
Although both my boss (Tony Lownds) and I are active in the Python
community, we haven't even talked about 3.0 -- it's at least two or
three years away.
In your opinion, do you think it's a wise move to forgo backward
compatibility in Python 3.0, given both the user base and current
limitations of the language?
First of all, I think it overstates the case to talk about "forgoing
compatibility". The base Python language is still the same; the only
difference immediately apparent at the simple scripting level is that the
print command has changed to a function. Python 3.0 is more about
removing mistakes and warts, many of which people have been encouraged to
avoid for years.

In addition, it is the intention to gradually merge the 2.x and 3.x
series; Python 2.6 is already a major step in that direction.

All in all, I think Python 3.0 is the kind of necessary evolution that
software needs. It certainly isn't as big a change as going from DOS to
Windows or from Mac OS 9 to OS X.
What qualities about Python first attracted you to the language?
Actually, I was forced to learn Python. I was a Perl expert at the time,
and I saw no reason to learn yet another scripting language. Since then,
I have become enamored of Python's readability and how a typical
programmer's pseudocode is trivially translated into running Python.
Of what you read about Python 3.0, what features do you find most
intriguing?
The fact that it's getting done at all! For years, Python 3.0 was
referred to as Python 3000 -- the joke being that it would happen in the
year 3000 (meaning, never). Work only started seriously three years ago,
and I think that Python 3.0 has done an excellent job of balancing the
past and the future.
That's about it, though if you have any other thoughts about Python
3.0, I'd love to hear them as well.
That pretty much covers it, I think.
--
Aahz (aa**@pythoncraft.com) <* http://www.pythoncraft.com/

import antigravity
Oct 18 '08 #2
In message <gd**********@panix3.panix.com>, Aahz wrote:
(There's a significant amount of JavaScript, much of which is generated by
Python code.)
Been there, done that. Triple backslashes, anybody? :)

Oct 18 '08 #3
In message <ma**************************************@python.o rg>, Terry
Reedy wrote:
"For instance, the print statement got turned into a print function ... "
Except I never use print in scripts.
Oct 18 '08 #4
In article <gd**********@lust.ihug.co.nz>,
Lawrence D'Oliveiro <ld*@geek-central.gen.new_zealandwrote:
>In message <gd**********@panix3.panix.com>, Aahz wrote:
>>
(There's a significant amount of JavaScript, much of which is generated by
Python code.)

Been there, done that. Triple backslashes, anybody? :)
Why would you need a triple-backslash? Ever used raw strings?
--
Aahz (aa**@pythoncraft.com) <* http://www.pythoncraft.com/

import antigravity
Oct 18 '08 #5
In article <gd**********@lust.ihug.co.nz>,
Lawrence D'Oliveiro <ld*@geek-central.gen.new_zealandwrote:
>In message <ma**************************************@python.o rg>, Terry
Reedy wrote:
>>
"For instance, the print statement got turned into a print function ... "

Except I never use print in scripts.
"What, never?"
--
Aahz (aa**@pythoncraft.com) <* http://www.pythoncraft.com/

import antigravity
Oct 18 '08 #6
In message <gd**********@panix3.panix.com>, Aahz wrote:
In article <gd**********@lust.ihug.co.nz>,
Lawrence D'Oliveiro <ld*@geek-central.gen.new_zealandwrote:
>>In message <ma**************************************@python.o rg>, Terry
Reedy wrote:
>>>
"For instance, the print statement got turned into a print function ...
"

Except I never use print in scripts.

"What, never?"
No, never. Not even "hardly ever".
Oct 19 '08 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: inquirydog | last post by:
Hello- I, the inquirydog, would like to solicit suggestions for a new web page I am making: I am creating a simple website that will translate concepts between windows os's, Linux, and the...
699
by: mike420 | last post by:
I think everyone who used Python will agree that its syntax is the best thing going for it. It is very readable and easy for everyone to learn. But, Python does not a have very good macro...
34
by: Maboroshi | last post by:
Hello My question has to do with python and linux - I was interested in finding out what it would take to reimplement the Linux Kernel in python basically just taking the source code from linux...
0
by: David H | last post by:
Background. I'm running on WinXP w/ MS Services for Unix installed (to give rsh/rlogin ability), both Python 2.3 and 2.4 version. In linux, I'm running RHEE with python2.3 version. The code...
10
by: stylecomputers | last post by:
Hey guys, I am absolutely new to Linux programming, with no w######s programming experience except a small amount of C++ console apps. Reasonably new to Linux, BSD etc, got good sound networking...
53
by: noahmd | last post by:
Okay, once-upon-a-time I tried to start programming by learning C. At the time I was younger and didn't really understand all that C had to offer. I eventually moved over to Microsoft's Visual...
852
by: Mark Tarver | last post by:
How do you compare Python to Lisp? What specific advantages do you think that one has over the other? Note I'm not a Python person and I have no axes to grind here. This is just a question for...
2
jwwicks
by: jwwicks | last post by:
C/C++ Programs and Debugging in Linux This tutorial will give you a basic idea how to debug a program in Linux using GDB. As you are aware Visual Studio doesn’t run on Linux so you have to use...
8
by: Jean-Paul Calderone | last post by:
On Sat, 18 Oct 2008 15:30:23 -0400, Terry Reedy <tjreedy@udel.eduwrote: Perhaps it also omitted the fact that nothing prevents you from defining a function to write things to stdout (or...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.