The topic of this article may not meet Wikipedia's notability guideline for biographies .(August 2024) |
Tim Peters | |
---|---|
Occupation | Software developer |
Awards | PSF 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]
On August 7, 2024, Tim Peters was suspended by the Python Steering Council for three months due to alleged violations of the Code of Conduct. [17] . Peters has refuted the claims that gave raise to the suspension [18] . The episode triggered widespread backslash [19] against the perceived abuses of the enforcement process against Peters, including a call for a vote of no confidence in the Python Steering Council [20] , which was later withdrawn [21] .
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.
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.
Tim Peters: Yeah, since '91, so I was working at Kendall Square Research then [...]
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.
Cocktail shaker sort, also known as bidirectional bubble sort, cocktail sort, shaker sort, ripple sort, shuffle sort, or shuttle sort, is an extension of bubble sort. The algorithm extends bubble sort by operating in two directions. While it improves on bubble sort by more quickly moving items to the beginning of the list, it provides only marginal performance improvements.
Guido van Rossum is a Dutch programmer. He is the creator of the Python programming language, for which he was the "benevolent dictator for life" (BDFL) until he stepped down from the position on 12 July 2018. He remained a member of the Python Steering Council through 2019, and withdrew from nominations for the 2020 election.
Jython is an implementation of the Python programming language designed to run on the Java platform. It was known as JPython until 1999.
Processing is a free graphics library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.
Resource acquisition is initialization (RAII) is a programming idiom used in several object-oriented, statically typed programming languages to describe a particular language behavior. In RAII, holding a resource is a class invariant, and is tied to object lifetime. Resource allocation is done during object creation, by the constructor, while resource deallocation (release) is done during object destruction, by the destructor. In other words, resource acquisition must succeed for initialization to succeed. Thus, the resource is guaranteed to be held between when initialization finishes and finalization starts, and to be held only when the object is alive. Thus, if there are no object leaks, there are no resource leaks.
Apache Harmony is a retired open source, free Java implementation, developed by the Apache Software Foundation. It was announced in early May 2005 and on October 25, 2006, the board of directors voted to make Apache Harmony a top-level project. The Harmony project achieved 99% completeness for J2SE 5.0, and 97% for Java SE 6. The Android operating system has historically been a major user of Harmony, although since Android Nougat it increasingly relies on OpenJDK libraries.
CPython is the reference implementation of the Python programming language. Written in C and Python, CPython is the default and most widely used implementation of the Python language.
PyPy is an implementation of the Python programming language. PyPy often runs faster than the standard implementation CPython because PyPy uses a just-in-time compiler. Most Python code runs well on PyPy except for code that depends on CPython extensions, which either does not work or incurs some overhead when run in PyPy.
The Java collections framework is a set of classes and interfaces that implement commonly reusable collection data structures.
Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages.
OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. It is the result of an effort Sun Microsystems began in 2006, four years before the company was acquired by Oracle Corporation. The implementation is licensed under the GNU General Public License 2 with a linking exception, preventing components that linked to the Java Class Library becoming subject to the terms of the GPL license. OpenJDK is the official reference implementation of Java SE since version 7, and is the most popular distribution of the JDK.
Allison Randal is a software developer and author. She was the chief architect of the Parrot virtual machine, a member of the board of directors for The Perl Foundation, a director of the Python Software Foundation from 2010 to 2012, and the chairman of the Parrot Foundation. She is also the lead developer of Punie, the port of Perl 1 to Parrot. She is co-author of Perl 6 and Parrot Essentials and the Synopses of Perl 6. She was employed by O'Reilly Media. From August 2010 till February 2012, Randal was the Technical Architect of Ubuntu at Canonical.
The programming language Python was conceived in the late 1980s, and its implementation was started in December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to ABC capable of exception handling and interfacing with the Amoeba operating system. Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator for Life (BDFL).. Python was named after the BBC TV show Monty Python's Flying Circus.
Timsort is a hybrid, stable sorting algorithm, derived from merge sort and insertion sort, designed to perform well on many kinds of real-world data. It was implemented by Tim Peters in 2002 for use in the Python programming language. The algorithm finds subsequences of the data that are already ordered (runs) and uses them to sort the remainder more efficiently. This is done by merging runs until certain criteria are fulfilled. Timsort has been Python's standard sorting algorithm since version 2.3, and is used to sort arrays of non-primitive type in Java SE 7, on the Android platform, in GNU Octave, on V8, Swift, and inspired the sorting algorithm used in Rust.
Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that repeatedly steps through the input list element by element, comparing the current element with the one after it, swapping their values if needed. These passes through the list are repeated until no swaps have to be performed during a pass, meaning that the list has become fully sorted. The algorithm, which is a comparison sort, is named for the way the larger elements "bubble" up to the top of the list.
Gerrit is a free, web-based team code collaboration tool. Software developers in a team can review each other's modifications on their source code using a Web browser and approve or reject those changes. It integrates closely with Git, a distributed version control system.
In the software development process, a reference implementation is a program that implements all requirements from a corresponding specification. The reference implementation often accompanies a technical standard, and demonstrates what should be considered the "correct" behavior of any other implementation of it.
The Python Conference is the largest annual convention for the discussion and promotion of the Python programming language. It originated in the United States but is also held in more than 40 other countries. It was one of the first computer programming conferences to develop and adhere to a code of conduct. The conference hosts tutorials, demonstrations and training sessions.