Biography:Tim Peters (software engineer): Difference between revisions

From HandWiki
(fix)
 
(import)
 
Line 1: Line 1:
{{short description|American software developer}}
{{Infobox person
{{Infobox person
| occupation                = [[Software developer]]
| occupation                = [[Software developer]]
Line 5: Line 4:
}}
}}


'''Tim Peters''' is an American{{Citation needed|reason=Plenty of evidence in the PyCon interview video that Peters is US-resident, but need confirmation of US citizenship|date=September 2018}} software developer who is known for creating the [[Timsort]] [[Hybrid algorithm|hybrid]] [[Sorting algorithm|sorting algorithm]] and for his major contributions to the [[Python (programming language)|Python]] programming language and its original [[Software:CPython|CPython]] implementation. A pre-1.0 CPython user, he was among the group of early adopters who contributed to the detailed design of the language in its early stages.<ref>{{cite AV media|url=https://www.youtube.com/watch?v=1wAOy88WxmY|title=Interview with Tim Peters|date=July 1, 2012|time=0m20s|quote=Tim Peters: I was in compiler development when Guido was developing Python and a mutual acquaintance, Steve Majewski, sent me some email telling me about Python. So I started a email correspondence with Guido about the language and about the design, and I got some of the pre-release code, played with it and talked to him about design decisions and liked it very much ... Holger Krekel: [inaudible] Tim Peters: Pardon? Holger Krekel: Was this like in the early '90s? Tim Peters: Early '90s, yeah. Back around Python 0.9.1.}}</ref><ref>{{cite interview
'''Tim Peters''' is a software developer who is known for creating the [[Timsort]] [[Hybrid algorithm|hybrid]] [[Sorting algorithm|sorting algorithm]] and for his major contributions to the [[Python (programming language)|Python]] programming language and its original [[Software:CPython|CPython]] implementation. A pre-1.0 CPython user, he was among the group of early adopters who contributed to the detailed design of the language in its early stages.<ref>{{cite interview
| last        = van Rossum
| last        = van Rossum
| first        = Guido
| first        = Guido
Line 25: Line 24:
| title      = listsort
| title      = listsort
| access-date = September 7, 2018
| access-date = September 7, 2018
}}</ref> which has been used in Python since version 2.3,<ref>{{Cite web |title=PEP 3128 – BList: A Faster List-like Type {{!}} peps.python.org |url=https://peps.python.org/pep-3128/ |access-date=2022-06-12 |website=peps.python.org}}</ref> as well as in other widely used computing platforms,<ref>{{cite web
}}</ref> which is used in Python since version 2.3 (since version 3.11 using the Powersort merge policy instead of Timsort's original merge policy<ref>{{cite web |last1=James |first1=Mike |title=Python Now Uses Powersort |url=https://www.i-programmer.info/news/216-python/15954-python-now-uses-powersort.html |website=www.i-programmer.info |access-date=24 January 2024 |date=21 December 2022}}</ref><ref>[https://github.com/python/cpython/commit/5cb4c672d855033592f0e05162f887def236c00a Commit switching to powersort]</ref>), as well as in other widely used computing platforms,<ref>{{cite web
| title      = [#JDK-6804124] (coll) Replace "modified mergesort" in java.util.Arrays.sort with timsort
| title      = [#JDK-6804124] (coll) Replace &quot;modified mergesort&quot; in java.util.Arrays.sort with timsort
| url        = https://bugs.openjdk.java.net/browse/JDK-6804124
| url        = https://bugs.openjdk.java.net/browse/JDK-6804124
| work      = JDK Bug System
| work      = JDK Bug System
Line 46: Line 45:
| at        = Lines 23-25 of the initial comment block.
| at        = Lines 23-25 of the initial comment block.
}}</ref><!-- These three citations copied from the Timsort article. --> including the [[Software:V8 (JavaScript engine)|V8 JavaScript engine]] powering the [[Software:Google Chrome|Google Chrome]] and [[Software:Chromium (web browser)|Chromium]] web browsers, as well as [[Software:Node.js|Node.js]].<ref>[https://v8.dev/blog/v8-release-70#javascript-language-features ''V8 release v7.0'', Official V8 Blog]</ref><ref>[https://v8.dev/blog/array-sort#timsort ''Getting things sorted in V8'', Official V8 Blog]</ref> He has also contributed the [[Doctest|doctest]] and timeit modules to the Python standard library.<ref name="DSA announcement">{{cite web
}}</ref><!-- These three citations copied from the Timsort article. --> including the [[Software:V8 (JavaScript engine)|V8 JavaScript engine]] powering the [[Software:Google Chrome|Google Chrome]] and [[Software:Chromium (web browser)|Chromium]] web browsers, as well as [[Software:Node.js|Node.js]].<ref>[https://v8.dev/blog/v8-release-70#javascript-language-features ''V8 release v7.0'', Official V8 Blog]</ref><ref>[https://v8.dev/blog/array-sort#timsort ''Getting things sorted in V8'', Official V8 Blog]</ref> He has also contributed the [[Doctest|doctest]] and timeit modules to the Python standard library.<ref name="DSA announcement">{{cite web
| url        = https://www.python.org/community/awards/psf-distinguished-awards/#id1
| url        = https://www.python.org/community/awards/psf-distinguished-awards/#id4
| title      = PSF Distinguished Service Awards
| title      = PSF Distinguished Service Awards
| publisher  = Python Software Foundation
| publisher  = Python Software Foundation
| access-date = September 7, 2018
| access-date = 2024-05-24
}}</ref>
}}</ref>


Line 103: Line 102:
== Published works ==
== Published works ==
-->
-->
Tim Peters was granted the Python Software Foundation's [https://www.python.org/community/awards/psf-distinguished-awards/#id3 Distinguished Service Award for 2017].<ref name="DSA announcement" /><ref name="Happy Medium DSA blogpost" />
Tim Peters was granted the Python Software Foundation's [https://www.python.org/community/awards/psf-distinguished-awards/#id4 Distinguished Service Award for 2017].<ref name="DSA announcement" /><ref name="Happy Medium DSA blogpost" />
 
<!--
<!--
== Bibliography ==
== Bibliography ==
Line 123: Line 123:




{{Sourceattribution|Tim Peters (software engineer)|1}}
{{Sourceattribution|Tim Peters (software engineer)}}

Latest revision as of 09:18, 10 January 2025

Tim Peters
OccupationSoftware developer
AwardsPSF Distinguished Service Award

Tim Peters is a software developer who is known for creating the Timsort hybrid sorting algorithm and for his major contributions to the Python programming language and its original CPython implementation. A pre-1.0 CPython user, he was among the group of early adopters who contributed to the detailed design of the language in its early stages.[1]

He later created the Timsort algorithm (based on earlier work on the use of "galloping" search)[2] which is used in Python since version 2.3 (since version 3.11 using the Powersort merge policy instead of Timsort's original merge policy[3][4]), as well as in other widely used computing platforms,[5][6][7] including the V8 JavaScript engine powering the Google Chrome and Chromium web browsers, as well as Node.js.[8][9] He has also contributed the doctest and timeit modules to the Python standard library.[10]

Peters also wrote the Zen of Python, intended as a statement of Python's design philosophy, which was incorporated into the official Python literature as Python Enhancement Proposal 20 and in the Python interpreter as an easter egg.[11] He contributed the chapter on algorithms to the Python Cookbook.[12] From 2001 to 2014 he was active as a member of the Python Software Foundation's board of directors. Peters was an influential contributor to Python mailing lists.[13] He is also a highly ranked contributor to Stack Overflow, mostly for answers relating to Python.[14][10]

Peters' past employers include Kendall Square Research.[15][16] Tim Peters was granted the Python Software Foundation's Distinguished Service Award for 2017.[10][13]


See also

References/Notes and references

  1. van Rossum, Guido (November 1, 1998). "LJ Interviews Guido van Rossum". Linux Journal (Interview). Interviewed by Andrew Kuchling. United States. Some of the early adopters of the language, such as Tim Peters and Steve Majewski, focused on very subtle design details and helped immensely by clarifying the way various features should work; e.g., they convinced me to support mixed arithmetic.
  2. Peters, Tim. "listsort". Python Software Foundation. https://svn.python.org/projects/python/trunk/Objects/listsort.txt. 
  3. James, Mike (21 December 2022). "Python Now Uses Powersort". https://www.i-programmer.info/news/216-python/15954-python-now-uses-powersort.html. 
  4. Commit switching to powersort
  5. "[#JDK-6804124 (coll) Replace "modified mergesort" in java.util.Arrays.sort with timsort"]. JDK Bug System. https://bugs.openjdk.java.net/browse/JDK-6804124. Retrieved June 11, 2014. 
  6. "Class: java.util.TimSort<T>". Android Gingerbread Documentation. https://android.googlesource.com/platform/libcore/+/gingerbread/luni/src/main/java/java/util/TimSort.java. Retrieved February 24, 2011. 
  7. "liboctave/util/oct-sort.cc". Mercurial repository of Octave source code. Lines 23-25 of the initial comment block.. http://hg.savannah.gnu.org/hgweb/octave/file/0486a29d780f/liboctave/util/oct-sort.cc. Retrieved February 18, 2013. "Code stolen in large part from Python's, listobject.c, which itself had no license header. However, thanks to Tim Peters for the parts of the code I ripped-off." 
  8. V8 release v7.0, Official V8 Blog
  9. Getting things sorted in V8, Official V8 Blog
  10. 10.0 10.1 10.2 "PSF Distinguished Service Awards". Python Software Foundation. https://www.python.org/community/awards/psf-distinguished-awards/#id4. 
  11. Peters, Tim. "PEP 20 -- The Zen of Python". Python Software Foundation. https://www.python.org/dev/peps/pep-0020/. 
  12. Martelli, Alex; Ascher, David (2002). Python Cookbook (1st ed.). O'Reilly Media. ISBN 978-0-596-00167-4. https://archive.org/details/pythoncookbook00mart. 
  13. 13.0 13.1 "The Happy Medium: Distinguished Service Award Winner Tim Peters". Python Software Foundation. July 18, 2018. http://pyfound.blogspot.com/2018/07/the-happy-medium-distinguished-service.html. 
  14. "Tim Peters". https://stackoverflow.com/users/2705542/tim-peters. 
  15. Interview with Tim Peters. July 1, 2012. Event occurs at 2m18s. Tim Peters: Yeah, since '91, so I was working at Kendall Square Research then [...]
  16. Peters, Tim (October 20, 1992). "Livermore Loops coded in C". University of Tennessee and Oak Ridge National Laboratory. http://www.netlib.org/benchmark/livermorec. 

External links