Wootware

The Happy Medium: Distinguished Service Award Winner Tim Peters

 tháng 7 18, 2018     No comments   

When Tim Peters started working on Python, his first advice for Guido van Rossum was that programmers want to add ints and floats. From the beginning, Python had both kinds of numbers, just like today, but adding them together then required a cumbersome type-cast. Peters argued that Python should implicitly convert ints to floats, like most other languages, for programmers' sake: "That is a very common operation for anyone who works with floating point numbers," Van Rossum recalls him saying, "so you’ve got to do it this way."



Ever since, Peters has pushed the language in this direction. He insists that Python should be a practical language that caters to the needs of programmers, and he has a knack for guiding design debates to achieve this goal. In recognition of his contributions, the PSF presented Tim Peters with the 2017 Distinguished Service Award.





A Realist Algorithm



"Timsort is Tim's grand opus," says Van Rossum. The algorithm is not only the standard sort for Python; when Java developer Joshua Bloch saw its merit for sorting real-world data, he incorporated it into the Java standard library as well. The genius of Timsort is to recognize how data naturally occurs in everyday programs: it's less likely to be randomly ordered than to be partly ordered, or ordered in reverse. Programmers usually throw such data at a sorting function anyway, and a theoretically elegant algorithm like Quicksort won't recognize the shortcuts it could take to save work. Timsort is designed to recognize such opportunities and deploy efficient tricks for them.



Timsort is optimized for the world not as we imagine it, but as it is. This realism is characteristic of the Python language as a whole. It flows from Van Rossum's taste in design, which Peters distilled into a poem in 1999.



The Zen of Python



It's only 19 lines. But this short list of precepts has influenced the language and the programs written in it profoundly. It is a shared literature for Python programmers, in the same way that most English speakers know certain lines of Shakespeare. Python's designers quote the Zen of Python in PEP debates, and programmers reviewing code in their own Python projects use the Zen to support their opinions.



Guido van Rossum says, "You can use it to motivate a design choice, but it’s not scripture. It can’t be the only reason to choose a particular design. You still have to put your thinking cap on." Just like the Zen Buddhist sayings that inspired it, Peters's text isn't dogma. Indeed, for every commandment the Zen of Python hands down, there is also a joke or a contradiction to remind us to take it lightly.



Core developer Carol Willing summarizes the Zen of Python's message like this: "We're going to meet constraints in a way that makes good common sense first, so you can maintain the code and people can understand the code." It's this commonsense approach that makes Python a joy to use. Willing began coding on a mainframe at Bell Labs when she was in fifth grade in 1976; in all her years as a programmer the most enjoyable have been her years with Python. She says, "Every day I get to use it makes me feel like a kid again." Now, when she teaches Project Jupyter interns each summer, one of her first instructions is to type "import this".



Willing extends Python's Zen to its community, too. She says that "Beautiful is better than ugly" is a good guide for talking with our colleagues. "There’s an ugly way of saying things, and a more respectful, nicer way of saying things. Maybe we should err on the side of being respectful and nice."







A Happy Medium



In Guido van Rossum's estimation, Peters's biggest contribution to the community has been his years of answering questions and guiding debates on the Python mailing list, writing each message precisely and cheerfully. PSF director Thomas Wouters agrees: "Tim is just never flustered. He always takes it in good humor and it definitely has an effect on everyone else, as well." Even an experienced developer like Carol Willing says that when she sees a post from Peters on a topic she knows, she'll take the time to read it for new insights or new ways of explaining.



In design debates, Peters invented a notion of "channeling Guido" to free Van Rossum from the overflow of emails. He claimed to act like a spirit medium speaking with Van Rossum's voice, but this understates Peters's influence. "He was a mentor for me," says Van Rossum. "He combines incredible technical skills with insight into what the person he's communicating with is missing or needs to see, with a patient way of explaining. He showed me that style of communicating which I strive for but can't always do."



Recently, in the wake of contentious debate over the ":=" operator, Guido van Rossum resigned as BDFL. Tim Peters, too, is less active on Python mailing lists than before. The Python community can no longer rely on one individual and his channeler for guidance. As Brett Cannon wrote, "a key asset that Guido has provided for us as a BDFL is consistency in design/taste." As a summary of Van Rossum's thinking, the Zen of Python is now more important than ever.







Images: Utagawa Kuniyoshi (1797-1861), 108 Heroes of the Popular Suikoden.
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Gửi email bài đăng nàyBlogThis!Chia sẻ lên XChia sẻ lên Facebook
Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ

0 nhận xét:

Đăng nhận xét

Popular Posts

  • Microsoft Office 2016 Portable + Professional Plus Download Free ( 32-bit/64-bit )
    Microsoft Office 2016 Portable + Professional Plus Download Free ( 32-bit/64-bit ) for all Microsoft windows. It's an offline setup stan...
  • Autodesk ArtCAM 2017 Crack + Patch + Full Version
    Autodesk ArtCAM 2017 Crack + Patch + Full Version ArtCAM is, in fact, a design tool designed more for designers than engineers, and allows d...
  • Download PTC Creo v5.0 / v4.0 + Crack
    Download PTC Creo v5.0 / v4.0 + Crack is a full version offline installer software program for your pc and you can also download from portab...
  • Windows 7 Tiny Unattended Fully Activated CD (x86)
    Description:- This is a re-up of experience's Windows Tiny7 Rev01 Unattended Activated CD (x86). Total size after install is 1.64 Gb, an...
  • Maxon CINEMA 4D Studio R19.024 Free Download
    Download Maxon CINEMA 4D Studio R19.024 Free latest version offline setup for Microsoft Windows 7, 8, 10, XP, Vista. Maxon CINEMA 4D Studio ...
  • Tekla Structural Designer 2019 v19.0.0.104 (32/64 Bit) Free Full Download
    Download Tekla Structural Designer 2019 v19.0.0.104 (32/64 Bit) Full Free Crack latest version offline setup for Microsoft Windows 7, 8, 10,...
  • ARTCUT 2009 Software USB Driver Free Full Download
    Download ARTCUT 2009 Software USB Driver Full Free latest version offline setup for Microsoft Windows 7, 8,  10, XP, Vista. ARTCUT 2009 Soft...
  • SketchUp Pro 2019 v19.0.685 + Windows + Portable / macOS
    SketchUp Pro 2019 v19.0.685 + Windows + Portable / macOS is a full version offline installer software program for your pc and you can also d...
  • Adobe Premiere Pro CC 2018 Download Latest Version
    Adobe Premiere Pro CC 2018 Download Latest Version Adobe Premiere Pro CC 2018 Download Latest Version for Windows and Mac 32 bit & 64-bi...
  • Adobe Acrobat Pro DC 2019 Portable (v19.010.20064)
    Adobe Acrobat Pro DC 2019 Portable (v19.010.20064) is a software for creating PDF files. With the help of this software, the user can conver...

Maxon CINEMA 4D Studio R19.024 Free Download

Download Maxon CINEMA 4D Studio R19.024 Free latest version offline setup for Microsoft Windows 7, 8, 10, XP, Vista. Maxon CINEMA 4D Studio ...

Tìm kiếm Blog này

Lưu trữ Blog

  • tháng 6 2019 (4)
  • tháng 5 2019 (4)
  • tháng 4 2019 (4)
  • tháng 3 2019 (13)
  • tháng 2 2019 (15)
  • tháng 1 2019 (23)
  • tháng 12 2018 (20)
  • tháng 11 2018 (3)
  • tháng 10 2018 (6)
  • tháng 9 2018 (1)
  • tháng 8 2018 (7)
  • tháng 7 2018 (26)
  • tháng 6 2018 (31)
  • tháng 5 2018 (9)
  • tháng 4 2018 (12)
  • tháng 3 2018 (17)
  • tháng 2 2018 (14)
  • tháng 1 2018 (3)
  • tháng 12 2017 (8)
  • tháng 11 2017 (11)
  • tháng 10 2017 (22)
  • tháng 9 2017 (24)
  • tháng 8 2017 (9)
  • tháng 7 2017 (5)
  • tháng 5 2017 (4)
  • tháng 4 2017 (3)
  • tháng 3 2017 (4)
  • tháng 2 2017 (6)
  • tháng 1 2017 (7)
  • tháng 12 2016 (4)
  • tháng 11 2016 (4)
  • tháng 10 2016 (2)
  • tháng 8 2016 (4)
  • tháng 7 2016 (4)
  • tháng 6 2016 (3)
  • tháng 5 2016 (6)
  • tháng 4 2016 (5)
  • tháng 3 2016 (2)
  • tháng 1 2016 (3)
  • tháng 12 2015 (2)
  • tháng 11 2015 (11)
  • tháng 10 2015 (22)
  • tháng 9 2015 (12)
  • tháng 8 2015 (2)
  • tháng 7 2015 (16)
  • tháng 6 2015 (11)
  • tháng 5 2015 (5)
  • tháng 4 2015 (31)
  • tháng 3 2015 (33)
  • tháng 2 2015 (4)
  • tháng 1 2015 (1)
  • tháng 11 2014 (20)
  • tháng 10 2014 (5)
Được tạo bởi Blogger.

Nhãn

  • 3d Animation
  • 3d CAD
  • 3D Software
  • Action Games
  • Adobe
  • Adobe Elements
  • Adobe Illustrator
  • Adobe Photoshop
  • Adobe Premiere
  • Adventure Games
  • advocacy
  • Africa
  • Android
  • Android Application
  • Android Stuff
  • Antivirus
  • APK Games
  • Apps
  • Arcade Games
  • Asia-Pacific
  • Audio Editing
  • award
  • Bangla Software
  • BBC
  • Best and Top
  • board
  • Board of Directors
  • brochure
  • C
  • call
  • Call for Proposals
  • Caribbean
  • CD & DVD
  • children
  • coding literacy
  • community
  • community service awards
  • conference
  • conferences
  • contributions
  • Converter
  • Converters
  • CorelDraw ELEMENTS
  • CSA
  • Cuba
  • Cubase
  • Data Recovery
  • deadlines
  • Dell Desktop Drivers
  • democracy
  • Design
  • Design & Editing
  • Design Tools
  • Development
  • director
  • diversity
  • Django Girls
  • documentation
  • Dominican Republic
  • donations
  • Driver
  • Driver Software
  • DriverPack Solution
  • Drivers
  • e-vote
  • ecosystem
  • edu-sig
  • education
  • election
  • europython
  • events
  • Fighting Games
  • Folder Lock
  • Font Creator
  • foundation
  • frank-willison. Young Coders
  • Gaming
  • Google Summer of Code
  • grants
  • Graphic Design
  • Graphic Tools
  • Graphics
  • GTA
  • hardware
  • IDM
  • Illustrator
  • infrastructure
  • Inpages
  • Internet
  • Internet Security
  • Japan
  • job board
  • jobs
  • Mac
  • Memories of Lost Time
  • mentoring
  • micro:bit
  • microbit
  • MicroPython
  • microsoft
  • Microsoft Office
  • Multi-media
  • Multimedia
  • Music
  • News
  • nominate
  • nominations
  • non-profit
  • NumFocus
  • Office
  • Office Elements
  • open source
  • Operating System
  • opportunity
  • oscon
  • outreach
  • Pc Game
  • PC Games
  • PC-Games
  • Popular Tools
  • Portable
  • porting
  • PSF
  • PSF funding
  • public relations
  • Puzzle Games
  • PyCaribbean
  • pycon
  • pycon2016
  • pycon2018
  • pydotorg
  • PyLadies
  • PyOhio
  • pypi
  • pypy
  • python
  • python3
  • Racing Games
  • RPG-Games
  • Santo Domingo
  • Science
  • Scientific Computing
  • scipy
  • Screen Recorder
  • Security
  • Security Softwares
  • Shooting Games
  • Simulation Games
  • Software
  • Softwares
  • South America
  • sponsorship
  • Sports Games
  • sprints
  • Strategy Games
  • students
  • Super Copier
  • Super Copy
  • support
  • System Software
  • System Tools
  • talks
  • Tech
  • Tips
  • Total Security
  • travel
  • tutorials
  • Typing Software
  • uk
  • Utilities
  • Video Editing
  • volunteers
  • Windows
  • Windows Themes
  • Working Group
  • Young Coders

Báo cáo vi phạm

  • Trang chủ

Copyright © Wootware | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates