Search This Blog

Saturday, August 9, 2025

Thread (computing)

From Wikipedia, the free encyclopedia
A process with two threads of execution, running on one processor
Program vs. process vs. thread
scheduling, preemption, context switching

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. In many cases, a thread is a component of a process.

The multiple threads of a given process may be executed concurrently (via multithreading capabilities), sharing resources such as memory, while different processes do not share these resources. In particular, the threads of a process share its executable code and the values of its dynamically allocated variables and non-thread-local global variables at any given time.

The implementation of threads and processes differs between operating systems.

History

Threads made an early appearance under the name of "tasks" in IBM's batch processing operating system, OS/360, in 1967. It provided users with three available configurations of the OS/360 control system, of which multiprogramming with a variable number of tasks (MVT) was one. Saltzer (1966) credits Victor A. Vyssotsky with the term "thread".

The use of threads in software applications became more common in the early 2000s as CPUs began to utilize multiple cores. Applications wishing to take advantage of multiple cores for performance advantages were required to employ concurrency to utilize the multiple cores.

Scheduling can be done at the kernel level or user level, and multitasking can be done preemptively or cooperatively. This yields a variety of related concepts.

Processes

At the kernel level, a process contains one or more kernel threads, which share the process's resources, such as memory and file handles – a process is a unit of resources, while a thread is a unit of scheduling and execution. Kernel scheduling is typically uniformly done preemptively or, less commonly, cooperatively. At the user level a process such as a runtime system can itself schedule multiple threads of execution. If these do not share data, as in Erlang, they are usually analogously called processes, while if they share data they are usually called (user) threads, particularly if preemptively scheduled. Cooperatively scheduled user threads are known as fibers; different processes may schedule user threads differently. User threads may be executed by kernel threads in various ways (one-to-one, many-to-one, many-to-many). The term light-weight process variously refers to user threads or to kernel mechanisms for scheduling user threads onto kernel threads.

A process is a heavyweight unit of kernel scheduling, as creating, destroying, and switching processes is relatively expensive. Processes own resources allocated by the operating system. Resources include memory (for both code and data), file handles, sockets, device handles, windows, and a process control block. Processes are isolated by process isolation, and do not share address spaces or file resources except through explicit methods such as inheriting file handles or shared memory segments, or mapping the same file in a shared way – see Interprocess communication. Creating or destroying a process is relatively expensive, as resources must be acquired or released. Processes are typically preemptively multitasked, and process switching is relatively expensive, beyond basic cost of context switching, due to issues such as cache flushing (in particular, process switching changes virtual memory addressing, causing invalidation and thus flushing of an untagged translation lookaside buffer (TLB), notably on x86).

Kernel threads

A kernel thread is a lightweight unit of kernel scheduling. At least one kernel thread exists within each process. If multiple kernel threads exist within a process, then they share the same memory and file resources. Kernel threads are preemptively multitasked if the operating system's process scheduler is preemptive. Kernel threads do not own resources except for a stack, a copy of the registers including the program counter, and thread-local storage (if any), and are thus relatively cheap to create and destroy. Thread switching is also relatively cheap: it requires a context switch (saving and restoring registers and stack pointer), but does not change virtual memory and is thus cache-friendly (leaving TLB valid). The kernel can assign one or more software threads to each core in a CPU (it being able to assign itself multiple software threads depending on its support for multithreading), and can swap out threads that get blocked. However, kernel threads take much longer than user threads to be swapped.

User threads

Threads are sometimes implemented in userspace libraries, thus called user threads. The kernel is unaware of them, so they are managed and scheduled in userspace. Some implementations base their user threads on top of several kernel threads, to benefit from multi-processor machines (M:N model). User threads as implemented by virtual machines are also called green threads.

As user thread implementations are typically entirely in userspace, context switching between user threads within the same process is extremely efficient because it does not require any interaction with the kernel at all: a context switch can be performed by locally saving the CPU registers used by the currently executing user thread or fiber and then loading the registers required by the user thread or fiber to be executed. Since scheduling occurs in userspace, the scheduling policy can be more easily tailored to the requirements of the program's workload.

However, the use of blocking system calls in user threads (as opposed to kernel threads) can be problematic. If a user thread or a fiber performs a system call that blocks, the other user threads and fibers in the process are unable to run until the system call returns. A typical example of this problem is when performing I/O: most programs are written to perform I/O synchronously. When an I/O operation is initiated, a system call is made, and does not return until the I/O operation has been completed. In the intervening period, the entire process is "blocked" by the kernel and cannot run, which starves other user threads and fibers in the same process from executing.

A common solution to this problem (used, in particular, by many green threads implementations) is providing an I/O API that implements an interface that blocks the calling thread, rather than the entire process, by using non-blocking I/O internally, and scheduling another user thread or fiber while the I/O operation is in progress. Similar solutions can be provided for other blocking system calls. Alternatively, the program can be written to avoid the use of synchronous I/O or other blocking system calls (in particular, using non-blocking I/O, including lambda continuations and/or async/await primitives).

Fibers

Fibers are an even lighter unit of scheduling which are cooperatively scheduled: a running fiber must explicitly yield to allow another fiber to run, which makes their implementation much easier than kernel or user threads. A fiber can be scheduled to run in any thread in the same process. This permits applications to gain performance improvements by managing scheduling themselves, instead of relying on the kernel scheduler (which may not be tuned for the application). Some research implementations of the OpenMP parallel programming model implement their tasks through fibers. Closely related to fibers are coroutines, with the distinction being that coroutines are a language-level construct, while fibers are a system-level construct.

Threads vs processes

Threads differ from traditional multitasking operating-system processes in several ways:

  • processes are typically independent, while threads exist as subsets of a process
  • processes carry considerably more state information than threads, whereas multiple threads within a process share process state as well as memory and other resources
  • processes have separate address spaces, whereas threads share their address space
  • processes interact only through system-provided inter-process communication mechanisms
  • context switching between threads in the same process typically occurs faster than context switching between processes

Systems such as Windows NT and OS/2 are said to have cheap threads and expensive processes; in other operating systems there is not so great a difference except in the cost of an address-space switch, which on some architectures (notably x86) results in a translation lookaside buffer (TLB) flush.

Advantages and disadvantages of threads vs processes include:

  • Lower resource consumption of threads: using threads, an application can operate using fewer resources than it would need when using multiple processes.
  • Simplified sharing and communication of threads: unlike processes, which require a message passing or shared memory mechanism to perform inter-process communication (IPC), threads can communicate through data, code and files they already share.
  • Thread crashes a process: due to threads sharing the same address space, an illegal operation performed by a thread can crash the entire process; therefore, one misbehaving thread can disrupt the processing of all the other threads in the application.

Scheduling

Preemptive vs cooperative scheduling

Operating systems schedule threads either preemptively or cooperatively. Multi-user operating systems generally favor preemptive multithreading for its finer-grained control over execution time via context switching. However, preemptive scheduling may context-switch threads at moments unanticipated by programmers, thus causing lock convoy, priority inversion, or other side-effects. In contrast, cooperative multithreading relies on threads to relinquish control of execution, thus ensuring that threads run to completion. This can cause problems if a cooperatively-multitasked thread blocks by waiting on a resource or if it starves other threads by not yielding control of execution during intensive computation.

Single- vs multi-processor systems

Until the early 2000s, most desktop computers had only one single-core CPU, with no support for hardware threads, although threads were still used on such computers because switching between threads was generally still quicker than full-process context switches. In 2002, Intel added support for simultaneous multithreading to the Pentium 4 processor, under the name hyper-threading; in 2005, they introduced the dual-core Pentium D processor and AMD introduced the dual-core Athlon 64 X2 processor.

Systems with a single processor generally implement multithreading by time slicing: the central processing unit (CPU) switches between different software threads. This context switching usually occurs frequently enough that users perceive the threads or tasks as running in parallel (for popular server/desktop operating systems, maximum time slice of a thread, when other threads are waiting, is often limited to 100–200ms). On a multiprocessor or multi-core system, multiple threads can execute in parallel, with every processor or core executing a separate thread simultaneously; on a processor or core with hardware threads, separate software threads can also be executed concurrently by separate hardware threads.

Threading models

1:1 (kernel-level threading)

Threads created by the user in a 1:1 correspondence with schedulable entities in the kernel are the simplest possible threading implementation. OS/2 and Win32 used this approach from the start, while on Linux the GNU C Library implements this approach (via the NPTL or older LinuxThreads). This approach is also used by Solaris, NetBSD, FreeBSD, macOS, and iOS.

M:1 (user-level threading)

An M:1 model implies that all application-level threads map to one kernel-level scheduled entity; the kernel has no knowledge of the application threads. With this approach, context switching can be done very quickly and, in addition, it can be implemented even on simple kernels which do not support threading. One of the major drawbacks, however, is that it cannot benefit from the hardware acceleration on multithreaded processors or multi-processor computers: there is never more than one thread being scheduled at the same time. For example: If one of the threads needs to execute an I/O request, the whole process is blocked and the threading advantage cannot be used. The GNU Portable Threads uses User-level threading, as does State Threads.

M:N (hybrid threading)

M:N maps some M number of application threads onto some N number of kernel entities, or "virtual processors." This is a compromise between kernel-level ("1:1") and user-level ("N:1") threading. In general, "M:N" threading systems are more complex to implement than either kernel or user threads, because changes to both kernel and user-space code are required. In the M:N implementation, the threading library is responsible for scheduling user threads on the available schedulable entities; this makes context switching of threads very fast, as it avoids system calls. However, this increases complexity and the likelihood of priority inversion, as well as suboptimal scheduling without extensive (and expensive) coordination between the userland scheduler and the kernel scheduler.

Hybrid implementation examples

History of threading models in Unix systems

SunOS 4.x implemented light-weight processes or LWPs. NetBSD 2.x+, and DragonFly BSD implement LWPs as kernel threads (1:1 model). SunOS 5.2 through SunOS 5.8 as well as NetBSD 2 to NetBSD 4 implemented a two level model, multiplexing one or more user level threads on each kernel thread (M:N model). SunOS 5.9 and later, as well as NetBSD 5 eliminated user threads support, returning to a 1:1 model. FreeBSD 5 implemented M:N model. FreeBSD 6 supported both 1:1 and M:N, users could choose which one should be used with a given program using /etc/libmap.conf. Starting with FreeBSD 7, the 1:1 became the default. FreeBSD 8 no longer supports the M:N model.

Single-threaded vs multithreaded programs

In computer programming, single-threading is the processing of one instruction at a time. In the formal analysis of the variables' semantics and process state, the term single threading can be used differently to mean "backtracking within a single thread", which is common in the functional programming community.

Multithreading is mainly found in multitasking operating systems. Multithreading is a widespread programming and execution model that allows multiple threads to exist within the context of one process. These threads share the process's resources, but are able to execute independently. The threaded programming model provides developers with a useful abstraction of concurrent execution. Multithreading can also be applied to one process to enable parallel execution on a multiprocessing system.

Multithreading libraries tend to provide a function call to create a new thread, which takes a function as a parameter. A concurrent thread is then created which starts running the passed function and ends when the function returns. The thread libraries also offer data synchronization functions.

Threads and data synchronization

Threads in the same process share the same address space. This allows concurrently running code to couple tightly and conveniently exchange data without the overhead or complexity of an IPC. When shared between threads, however, even simple data structures become prone to race conditions if they require more than one CPU instruction to update: two threads may end up attempting to update the data structure at the same time and find it unexpectedly changing underfoot. Bugs caused by race conditions can be very difficult to reproduce and isolate.

To prevent this, threading application programming interfaces (APIs) offer synchronization primitives such as mutexes to lock data structures against concurrent access. On uniprocessor systems, a thread running into a locked mutex must sleep and hence trigger a context switch. On multi-processor systems, the thread may instead poll the mutex in a spinlock. Both of these may sap performance and force processors in symmetric multiprocessing (SMP) systems to contend for the memory bus, especially if the granularity of the locking is too fine.

Other synchronization APIs include condition variables, critical sections, semaphores, and monitors.

Thread pools

A popular programming pattern involving threads is that of thread pools where a set number of threads are created at startup that then wait for a task to be assigned. When a new task arrives, it wakes up, completes the task and goes back to waiting. This avoids the relatively expensive thread creation and destruction functions for every task performed and takes thread management out of the application developer's hand and leaves it to a library or the operating system that is better suited to optimize thread management.

Multithreaded programs vs single-threaded programs pros and cons

Multithreaded applications have the following advantages vs single-threaded ones:

  • Responsiveness: multithreading can allow an application to remain responsive to input. In a one-thread program, if the main execution thread blocks on a long-running task, the entire application can appear to freeze. By moving such long-running tasks to a worker thread that runs concurrently with the main execution thread, it is possible for the application to remain responsive to user input while executing tasks in the background. On the other hand, in most cases multithreading is not the only way to keep a program responsive, with non-blocking I/O and/or Unix signals being available for obtaining similar results.
  • Parallelization: applications looking to use multicore or multi-CPU systems can use multithreading to split data and tasks into parallel subtasks and let the underlying architecture manage how the threads run, either concurrently on one core or in parallel on multiple cores. GPU computing environments like CUDA and OpenCL use the multithreading model where dozens to hundreds of threads run in parallel across data on a large number of cores. This, in turn, enables better system utilization, and (provided that synchronization costs don't eat the benefits up), can provide faster program execution.

Multithreaded applications have the following drawbacks:

  • Synchronization complexity and related bugs: when using shared resources typical for threaded programs, the programmer must be careful to avoid race conditions and other non-intuitive behaviors. In order for data to be correctly manipulated, threads will often need to rendezvous in time in order to process the data in the correct order. Threads may also require mutually exclusive operations (often implemented using mutexes) to prevent common data from being read or overwritten in one thread while being modified by another. Careless use of such primitives can lead to deadlocks, livelocks or races over resources. As Edward A. Lee has written: "Although threads seem to be a small step from sequential computation, in fact, they represent a huge step. They discard the most essential and appealing properties of sequential computation: understandability, predictability, and determinism. Threads, as a model of computation, are wildly non-deterministic, and the job of the programmer becomes one of pruning that nondeterminism."
  • Being untestable. In general, multithreaded programs are non-deterministic, and as a result, are untestable. In other words, a multithreaded program can easily have bugs which never manifest on a test system, manifesting only in production. This can be alleviated by restricting inter-thread communications to certain well-defined patterns (such as message-passing).
  • Synchronization costs. As thread context switch on modern CPUs can cost up to 1 million CPU cycles, it makes writing efficient multithreading programs difficult. In particular, special attention has to be paid to avoid inter-thread synchronization from being too frequent.

Programming language support

Many programming languages support threading in some capacity.

  • IBM PL/I(F) included support for multithreading (called multitasking) as early as in the late 1960s, and this was continued in the Optimizing Compiler and later versions. The IBM Enterprise PL/I compiler introduced a new model "thread" API. Neither version was part of the PL/I standard.
  • Many implementations of C and C++ support threading, and provide access to the native threading APIs of the operating system. A standardized interface for thread implementation is POSIX Threads (Pthreads), which is a set of C-function library calls. OS vendors are free to implement the interface as desired, but the application developer should be able to use the same interface across multiple platforms. Most Unix platforms, including Linux, support Pthreads. Microsoft Windows has its own set of thread functions in the process.h interface for multithreading, like beginthread.
  • Some higher level (and usually cross-platform) programming languages, such as Java, Python, and .NET Framework languages, expose threading to developers while abstracting the platform specific differences in threading implementations in the runtime. Several other programming languages and language extensions also try to abstract the concept of concurrency and threading from the developer fully (Cilk, OpenMP, Message Passing Interface (MPI)). Some languages are designed for sequential parallelism instead (especially using GPUs), without requiring concurrency or threads (Ateji PX, CUDA).
  • A few interpreted programming languages have implementations (e.g., Ruby MRI for Ruby, CPython for Python) which support threading and concurrency but not parallel execution of threads, due to a global interpreter lock (GIL). The GIL is a mutual exclusion lock held by the interpreter that can prevent the interpreter from simultaneously interpreting the application's code on two or more threads at once. This effectively limits the parallelism on multiple core systems. It also limits performance for processor-bound threads (which require the processor), but doesn't effect I/O-bound or network-bound ones as much. Other implementations of interpreted programming languages, such as Tcl using the Thread extension, avoid the GIL limit by using an Apartment model where data and code must be explicitly "shared" between threads. In Tcl each thread has one or more interpreters.
  • In programming models such as CUDA designed for data parallel computation, an array of threads run the same code in parallel using only its ID to find its data in memory. In essence, the application must be designed so that each thread performs the same operation on different segments of memory so that they can operate in parallel and use the GPU architecture.
  • Hardware description languages such as Verilog have a different threading model that supports extremely large numbers of threads (for modeling hardware).

Historical sociology

From Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/Historical_sociology
The Traitors' Gate with the Gerkin in the background. Tower of London, London, UK.

Historical sociology is an interdisciplinary field of research that combines sociological and historical methods to understand the past, how societies have developed over time, and the impact this has on the present. It emphasises a mutual line of inquiry of the past and present to understand how discrete historical events fit into wider societal progress and ongoing dilemmas through complementary comparative analysis.

Looking at how social structures are changed and reproduced, historical sociology strives to understand the visible mechanisms and hidden structures that hinder certain parts of human development, whilst allowing other parts to thrive. Throughout this, it challenges the ahistoricism of modern sociology as a discipline, of the limited engagement with the past in studying social structures, whilst simultaneously critiquing the disengagement of historical study with the differences between societies and the broader social patterns between historical events.

This interdisciplinary field operates within a spectrum between history and sociology with a 'sociology of history' residing at one end and a 'history of society' residing at another. A diverse range of people can be found throughout this spectrum that explore history through a sociological lens compared to others that dissect society through its historical events. Although valid lines of research, they are based on singular disciplinary approaches and are reductionist in nature. In the middle of this spectrum historical sociology can be found that works to intertwine these mono-discipline efforts into an interdisciplinary approach.

Origins

As time has passed, history and sociology have developed into two different specific academic disciplines. Historical data was used and is used today in mainly these three ways: examining a theory through a parallel investigation, applying and contrasting events or policies (such as Verstehen), and considering the causalities from a macro point of view.

John Stuart Mill's method: " a) principle of difference: a case with effect and cause present is contrasted with a case with effect and cause absent; and b) principle of agreement: cases with same effects are compared in terms of their (ideally identical) causes. There is an important debate on the usefulness of Mill's method for sociological research, which relates to the fact that historical research is often based on only few cases and that many sociological theories are probabilistic, not deterministic. Today, historical sociology is measured by a conjunction of questions that are rich in detail.

Themes

Human agency

A shared theme of sociology and history is accounting for the paradox of human agency. "The problem of agency is the problem of finding a way to account for human experience which recognises simultaneously and in equal measure that history and society are made by constant and more or less purposeful individual action and that individual action, however purposeful, is made by history and society".

This theme is presented across authors from Marx to Spencer where a symbiotic relation enables action to create structure, whilst that structure defines action. Here, historical sociology outlines that the key to understanding our human agency is to track its development over time. Better enabling us to see the changes and continuations of actions and structures that shape human agency throughout our societies.

Comparative historical sociology

Contemporary historical sociology is primarily concerned with how the state has developed since the Middle Ages, analysing relations between states, classes, economic and political systems.

Impact on other disciplines

International relations

Historical sociology has become an increasingly used approach in international relations to draw upon the reflective usefulness of historical sociology in exploring the past and present together, challenging unhistorical viewpoints in the field that stem from realist and neoliberalism paradigms that often see the wider structural makeup of the world as static.

Political economy

The work of political economy aims to reconcile the development of political and economic systems for insight into policy. Historical sociology critiques political economy for (1) viewing the present as a natural structure, (2) focus on history as a path dependent outcome, and (3) shaping their insights around prominent figures with limited engagement of wider processes and "regular" people.

Notable authors

Research organisations

Journals

Journal of Historical Sociology

Historical sociology

American Sociological Association Comparative-Historical Sociology

British Sociological Association Historical & Comparative Sociology Study Group

International Sociological Association Historical Sociology Research Committee

Interdisciplinary

Political and Historical Sociology Research Cluster at Harvard University

Friday, August 8, 2025

Much Ado About Nothing

From Wikipedia, the free encyclopedia
 
Much Ado About Nothing
The title page from the first quarto edition of Much Adoe About Nothing, printed in 1600

Written byWilliam Shakespeare
CharactersAntonio
Balthasar
Beatrice
Benedick
Borachio
Claudio
Conrade
Dogberry
Don John
Don Pedro
Friar Frances
Hero
Innogen
Leonato
Margaret
Ursula
Verges
Date premiered1600
Original languageEarly Modern English
GenreComedy
SettingMessina, Italy
John Gielgud as Benedick in a 1959 production

Much Ado About Nothing is a comedy by William Shakespeare thought to have been written in 1598 and 1599. The play was included in the First Folio, published in 1623.

The play is set in Messina and revolves around two romantic pairings that emerge when a group of soldiers arrive in the town. The first, between Claudio and Hero, is nearly scuppered by the accusations of the villain, Don John. The second, between Claudio's friend Benedick and Hero's cousin Beatrice, takes centre stage as the play continues, with both characters' wit and banter providing much of the humour.

Through "noting" (sounding like "nothing" and meaning gossip, rumour, overhearing), Benedick and Beatrice are tricked into confessing their love for each other, and Claudio is tricked into believing that Hero is not a maiden (virgin). The title's play on words references the secrets and trickery that form the backbone of the play's comedy, intrigue, and action.

Characters

  • Benedick, a lord and soldier from Padua; companion of Don Pedro
  • Beatrice, niece of Leonato
  • Don Pedro, Prince of Aragon
  • Don John, "the Bastard Prince", brother of Don Pedro
  • Claudio, of Florence; a count, companion of Don Pedro, friend to Benedick
  • Leonato, governor of Messina; Hero's father
  • Antonio, brother of Leonato
  • Balthasar, attendant on Don Pedro, a singer
  • Borachio, follower of Don John
  • Conrade, follower of Don John
  • Innogen, a 'ghost character' in early editions as Leonato's wife
  • Hero, daughter of Leonato
  • Margaret, waiting-gentlewoman attendant on Hero
  • Ursula, waiting-gentlewoman attendant on Hero
  • Dogberry, the constable in charge of Messina's night watch
  • Verges, the Headborough, Dogberry's partner
  • Friar Francis, a priest
  • a Sexton, the judge of the trial of Borachio
  • a Boy, serving Benedick
  • The Watch, watchmen of Messina
  • Attendants and Messengers

Synopsis

A painting of Beatrice by Frank Dicksee, from The Graphic Gallery of Shakespeare's Heroines

In Messina, a messenger brings news that Don Pedro will return that night from a successful battle, along with Claudio and Benedick. Beatrice asks the messenger about Benedick and mocks Benedick's ineptitude as a soldier. Leonato explains, "There is a kind of merry war betwixt Signor Benedick and her."

On the soldiers' arrival, Don Pedro tells Leonato that they will stay a month at least, and Benedick and Beatrice resume their "merry war". Pedro's illegitimate brother, Don John, is also introduced. Claudio first lays eyes on Hero, and he informs Benedick of his intention to court her. Benedick, who openly despises marriage, tries to dissuade him. Don Pedro encourages the marriage. Benedick swears that he will never marry. Don Pedro laughs at him and tells him he will when he finds the right person.

A masquerade ball is planned. Therein a disguised Don Pedro woos Hero on Claudio's behalf. Don John uses this situation to sow chaos by telling Claudio that Don Pedro is wooing Hero for himself. Claudio rails against the entrapments of beauty. But the misunderstanding is later resolved, and Claudio is promised Hero's hand in marriage.

Meanwhile, Benedick and Beatrice have danced together, trading disparaging remarks under the cover of their masks. Beatrice knows who Benedick is under his mask, but Benedick does not recognize the mystery lady. Benedick is stung at hearing himself described as "the prince's jester, a very dull fool", and yearns to be spared the company of "Lady Tongue". Don Pedro and his men, bored at the prospect of waiting a week for the wedding, concoct a plan to match-make between Benedick and Beatrice. They arrange for Benedick to overhear a conversation in which they declare that Beatrice is madly in love with him but too afraid to tell him. Hero and Ursula likewise ensure that Beatrice overhears a conversation in which they discuss Benedick's undying love for her. Both Benedick and Beatrice are delighted to think that they are the object of unrequited love, and both resolve to mend their faults and declare their love.

Meanwhile, Don John plots to stop the wedding, embarrass his brother, and wreak misery on Leonato and Claudio. He tells Don Pedro and Claudio that Hero is "disloyal", and arranges for them to see his associate, Borachio, enter her bedchamber and engage amorously with her (it is actually Hero's chambermaid). Claudio and Don Pedro are duped, and Claudio vows to humiliate Hero publicly.

Swooning of Hero in the Church scene by Alfred Elmore

The next day, at the wedding, Claudio denounces Hero before the stunned guests and storms off with Don Pedro. Hero faints. A humiliated Leonato expresses his wish for her to die. The presiding friar intervenes, believing Hero innocent. He suggests that the family fake Hero's death to fill Claudio with remorse. Prompted by the stressful events, Benedick and Beatrice confess their love for each other. Beatrice then asks Benedick to kill Claudio as proof of his devotion. Benedick hesitates but is swayed. Leonato and Antonio blame Claudio for Hero's supposed death and threaten him, to little effect. Benedick arrives and challenges him to a duel.

"Much Ado About Nothing", Act IV, Scene 2, the Examination of Conrade and Borachio (from the Boydell series), Robert Smirke (n.d.)

On the night of Don John's treachery, the local Watch overheard Borachio and Conrade discussing their "treason" and "most dangerous piece of lechery that ever was known in the commonwealth", and arrested them therefore. Despite their ineptitude (headed by constable Dogberry), they obtain a confession and inform Leonato of Hero's innocence. Don John has fled, but a force is sent to capture him. Remorseful and thinking Hero dead, Claudio agrees to her father's demand that he marry Antonio's daughter, "almost the copy of my child that's dead".

After Claudio swears to marry this other bride, she is revealed to be Hero. Claudio is overjoyed. Beatrice and Benedick publicly confess their love for each other. Don Pedro taunts "Benedick the married man", and Benedick counters that he finds the Prince sad, advising him: "Get thee a wife". As the play draws to a close, a messenger arrives with news of Don John's capture, but Benedick proposes to postpone deciding Don John's punishment until tomorrow so that the couples can enjoy their newfound happiness. The couples dance and celebrate as the play ends.

Hero, John William Wright (c. 1849)

Sources

Shakespeare's immediate source may have been one of Matteo Bandello of Mantua's Novelle ("Tales"), possibly the translation into French by François de Belleforest,[6] which dealt with the tribulations of Sir Timbreo and his betrothed Fenicia Lionata, in Messina, after Peter III of Aragon's defeat of Charles of Anjou. Another version, featuring lovers Ariodante and Ginevra, with the servant Dalinda impersonating Ginevra on the balcony, appears in Book V Ludovico Ariosto's Orlando Furioso (published in an English translation in 1591). The character of Benedick has a counterpart in a commentary on marriage in Orlando Furioso. But the witty wooing of Beatrice and Benedick is apparently original and very unusual in style and syncopation. Edmund Spenser tells one version of the Claudio–Hero plot in The Faerie Queene (Book II, Canto iv).

Date and text

According to the earliest printed text, Much Ado About Nothing was "sundry times publicly acted" before 1600. The play likely debuted in the autumn or winter of 1598–99. The earliest recorded performances are two at Court in the winter of 1612–13, during festivities preceding the Wedding of Princess Elizabeth and Frederick V of the Palatinate (14 February 1613). In 1600, the stationers Andrew Wise and William Aspley published the play in quarto. This was the only edition prior to the First Folio in 1623.

Analysis and criticism

Style

The play is predominantly written in prose. The substantial verse sections achieve a sense of decorum.

Setting

Much Ado About Nothing is set in Messina, a port city on the island of Sicily, when Sicily is ruled by Aragon. Its action takes place mainly at the home and grounds of Leonato's Estate.

Themes and motifs

Gender roles

Drawing of Herbert Beerbohm Tree as Benedick and Winifred Emery as Beatrice in a 1905 production. Act IV, Scene I: "Kill Claudio".

Benedick and Beatrice quickly became the main interest of the play. They are considered the leading roles even though their relationship is given equal or lesser weight in the script than Claudio's and Hero's situation. Charles I wrote, 'Benedick and Beatrice' beside the title of the play in his copy of the Second Folio. The provocative treatment of gender is central and should be considered in its Renaissance context. This was reflected and emphasized in certain plays of the period but was also challenged. Amussen notes that the undoing of traditional gender clichés seems to have inflamed anxieties about the erosion of social order. It seems that comic drama could be a means of calming such anxieties. Ironically, the play's popularity suggests that this only increased interest in such behavior. Benedick wittily gives voice to male anxieties about women's "sharp tongues and proneness to sexual lightness". In the play's patriarchal society, the men's loyalties are governed by conventional codes of honour, camaraderie, and a sense of superiority over women. Assumptions that women are by nature prone to inconstancy are shown in the repeated jokes about cuckoldry, and partly explain Claudio's readiness to believe the slander against Hero. This stereotype is turned on its head in Balthasar's song "Sigh No More", which presents men as the deceitful and inconstant sex that women must abide.

Infidelity

Several characters seem obsessed with the idea that a man cannot know whether his wife is faithful and that women can take full advantage of this. Don John plays upon Claudio's pride and fear of cuckoldry, leading to the disastrous first wedding. Many of the men readily believe that Hero is impure; even her father condemns her with very little evidence. This motif runs through the play, often referring to horns (a symbol of cuckoldry).

In contrast, Balthasar's song "Sigh No More" tells women to accept men's infidelity and continue to live joyfully. Some interpretations say that Balthasar sings poorly, undercutting the message. This is supported by Benedick's cynical comments about the song, comparing it to a howling dog. In Kenneth Branagh's 1993 film, Balthasar sings it beautifully: it is given a prominent role in the opening and finale, and the women seem to embrace its message.

Deception

Beatrice, Hero and Ursula, John Jones, after Henry Fuseli (c. 1771)

The play has many examples of deception and self-deception. The games and tricks played on people often have the best intentions: to make people fall in love, to help someone get what they want, or to lead someone to realize their mistake. But not all are well-meant: Don John convinces Claudio that Don Pedro wants Hero for himself, and Borachio meets 'Hero' (actually Margaret) in Hero's bedroom window. These modes of deceit play into a complementary theme of emotional manipulation, the ease with which the characters' sentiments are redirected and their propensities exploited as a means to an end. The characters' feelings for each other are played as vehicles to reach the goal of engagement rather than as an end in themselves.

Masks and mistaken identity

Characters are constantly pretending to be others or mistaken for others. Margaret is mistaken for Hero, leading to Hero's disgrace. During a masked ball (in which everyone must wear a mask), Beatrice rants about Benedick to a masked man who is actually Benedick, but she acts unaware of this. During the same celebration, Don Pedro pretends to be Claudio and courts Hero for him. After Hero is proclaimed dead, Leonato orders Claudio to marry his 'niece', who is actually Hero.

Nothing

A watercolor by John Sutcliffe: Beatrice overhears Hero and Ursula.

Another motif is the play on the words nothing and noting. These were near-homophones in Shakespeare's day. Taken literally, the title implies that a great fuss ('much ado') is made of something insignificant ('nothing'), such as the unfounded claims of Hero's infidelity and that Benedick and Beatrice are in love with each other. Nothing is also a double entendre: 'an O-thing' (or 'n othing' or 'no thing') was Elizabethan slang for "vagina", derived from women having 'nothing' between their legs. The title can also be understood as Much Ado About Noting: much of the action centres on interest in others and the critique of others, written messages, spying, and eavesdropping. This attention is mentioned several times directly, particularly concerning 'seeming', 'fashion', and outward impressions.

Examples of noting as noticing occur in the following instances: (1.1.131–132)

Claudio: Benedick, didst thou note the daughter of Signor Leonato?
Benedick: I noted her not, but I looked on her.

and (4.1.154–157).

Friar: Hear me a little,

For I have only been silent so long
And given way unto this course of fortune

By noting of the lady.

At (3.3.102–104), Borachio indicates that a man's clothing doesn't reveal his character:

Borachio: Thou knowest that the fashion of a doublet, or a hat, or a cloak is nothing to a man.

A triple play on words in which noting signifies noticing, musical notes, and nothing, occurs at (2.3.47–52):

Don Pedro: Nay pray thee, come;

Or if thou wilt hold longer argument,
Do it in notes.
Balthasar: Note this before my notes:
There's not a note of mine that's worth the noting.
Don Pedro: Why, these are very crotchets that he speaks –

Note notes, forsooth, and nothing!

Don Pedro's last line can be understood to mean 'Pay attention to your music and nothing else!' The complex layers of meaning include a pun on 'crotchets', which can mean both 'quarter notes' (in music) and whimsical notions.

The following are puns on notes as messages: (2.1.174–176),

Claudio: I pray you leave me.
Benedick: Ho, now you strike like the blind man – 'twas the boy that stole your meat, and you'll beat the post.

in which Benedick plays on the word post as a pole and as mail delivery in a joke reminiscent of Shakespeare's earlier advice 'Don't shoot the messenger'; and (2.3.138–142)

Claudio: Now you talk of a sheet of paper, I remember a pretty jest your daughter told us of.
Leonato: O, when she had writ it and was reading it over, she found Benedick and Beatrice between the sheet?

in which Leonato makes a sexual innuendo, concerning sheet as a sheet of paper (on which Beatrice's love note to Benedick is to have been written), and a bedsheet.

William Davenant staged The Law Against Lovers (1662), which inserted Beatrice and Benedick into an adaptation of Measure for Measure. Another adaptation, The Universal Passion, combined Much Ado with a play by Molière (1737). John Rich had revived Shakespeare's text at Lincoln's Inn Fields (1721). David Garrick first played Benedick in 1748 and continued to play him until 1776.

In 1836, Helena Faucit played Beatrice at the very beginning of her career at Covent Garden, opposite Charles Kemble as Benedick in his farewell performances. The great 19th-century stage team Henry Irving and Ellen Terry counted Benedick and Beatrice as their greatest triumph. John Gielgud made Benedick one of his signature roles between 1931 and 1959, playing opposite Diana Wynyard, Peggy Ashcroft, and Margaret Leighton. The longest-running Broadway production is A. J. Antoon's 1972 staging, starring Sam Waterston, Kathleen Widdoes, and Barnard HughesDerek Jacobi won a Tony Award for playing Benedick in 1984. Jacobi had also played Benedick in the Royal Shakespeare Company's highly praised 1982 production, with Sinéad Cusack playing Beatrice. Director Terry Hands produced the play on a stage-length mirror against an unchanging backdrop of painted trees. In 2013, Vanessa Redgrave and James Earl Jones (then in their seventies and eighties, respectively) played Beatrice and Benedick onstage at The Old Vic, London.

Actors, theatres, and awards

Print of Ellen Terry as Beatrice and Henry Irving as Benedick in an 1887 performance of the play

Adaptations

Music

The operas Montano et Stéphanie (1799) by Jean-Élie Bédéno Dejaure and Henri-Montan Berton, Béatrice et Bénédict (1862) by Hector Berlioz, Beaucoup de bruit pour rien (pub. 1898) by Paul Puget, Viel Lärm um Nichts (1896) by Árpád Doppler, and Much Ado About Nothing by Sir Charles Villiers Stanford (1901) are based upon the play.

The composer Edward MacDowell said he was inspired by Ellen Terry's portrayal of Beatrice in this play for the scherzo of his Piano Concerto No. 2.

Erich Wolfgang Korngold composed music for a 1917 production at the Vienna Burgtheater by Max Reinhardt.

In 2006 the American Music Theatre Project produced The Boys Are Coming Home, a musical adaptation by Berni Stapleton and Leslie Arden that sets Much Ado About Nothing in America during the Second World War.

The title track of the 2009 Mumford & Sons album Sigh No More uses quotes from this play in the song. The title of the album is also a quotation from Act 2 Scene 3 of the play.

A 2015 rock opera adaptation of the play, These Paper Bullets, was written by Rolin Jones with music by Billie Joe Armstrong.

Opera McGill have commissioned an opera based on the play, with music by James Garner and libretto adapted by Patrick Hansen.

Film

The first cinematic version in English may have been the 1913 silent film directed by Phillips Smalley.

Martin Hellberg's 1964 East German film Viel Lärm um nichts was based on the play. In 1973 a Soviet film adaptation was directed by Samson Samsonov, starring Galina Jovovich and Konstantin Raikin.

A version of the 1967 National Theatre Company Production, directed for television by Alan Cooke. The play was originally directed for the stage by Franco Zeffirelli. With Maggie Smith (Beatrice), Derek Jacobi (Don Pedro). Music by Nino Rota

The first sound version in English released to cinemas was the 1993 film by Kenneth Branagh. It starred Branagh as Benedick, Branagh's then-wife Emma Thompson as Beatrice, Denzel Washington as Don Pedro, Keanu Reeves as Don John, Richard Briers as Leonato, Michael Keaton as Dogberry, Robert Sean Leonard as Claudio, Imelda Staunton as Margaret, and Kate Beckinsale in her film debut as Hero.

The 2001 Hindi film Dil Chahta Hai is a loose adaptation of the play.

In 2011, Joss Whedon completed filming an adaptation, which was released in June 2013. The cast includes Amy Acker as Beatrice, Alexis Denisof as Benedick, Nathan Fillion as Dogberry, Clark Gregg as Leonato, Reed Diamond as Don Pedro, Fran Kranz as Claudio, Jillian Morgese as Hero, Sean Maher as Don John, Spencer Treat Clark as Borachio, Riki Lindhome as Conrade, Ashley Johnson as Margaret, Tom Lenk as Verges, and Romy Rosemont as the sexton. Whedon's adaptation is a contemporary revision with an Italian-mafia theme.

In 2012 a filmed version of the live 2011 performance at The Globe was released to cinemas and on DVD. The same year, a filmed version of the 2011 performance at Wyndham's Theatre was made available for download or streaming on the Digital Theatre website.

In 2015, Owen Drake created a modern movie version of the play, Messina High, starring Faye Reagan.

The 2023 romantic comedy Anyone but You, directed by Will Gluck and co-written by Ilana Wolpert, is a loose adaptation principally set in contemporary Australia. It stars Sydney Sweeney and Glen Powell as analogues of Beatrice and Benedick.

Television and web series

The 1973 New York Shakespeare Festival production by Joseph Papp, shot on videotape and released on VHS and DVD, includes more of the text than Branagh's version. It is directed by A. J. Antoon and stars Sam Waterston, Kathleen Widdoes, and Barnard Hughes.

The 1984 BBC Television version stars Lee Montague as Leonato, Cherie Lunghi as Beatrice, Katharine Levy as Hero, Jon Finch as Don Pedro, Robert Lindsay as Benedick, Robert Reynolds as Claudio, Gordon Whiting as Antonio and Vernon Dobtcheff as Don John. An earlier BBC television version with Maggie Smith and Robert Stephens, adapted from Franco Zeffirelli's stage production for the National Theatre Company's London stage production, was broadcast in February 1967.

In 2005, the BBC adapted the story as part of the ShakespeaRe-Told season. This version is set in the modern-day studios of Wessex Tonight, a fictional regional news programme. The cast includes Damian Lewis, Sarah Parish, and Billie Piper.

The 2014 YouTube web series Nothing Much to Do is a modern retelling of the play set in New Zealand.

In 2019, PBS recorded a live production of the Public Theater's 2019 Shakespeare in the Park production at the Delacorte Theater in New York City's Central Park for Great Performances. The all-Black cast features Danielle Brooks and Grantham Coleman as Beatrice and Benedick, with Chuck Cooper as Leonato. It was directed by Kenny Leon, with choreography by Camille A. Brown.

Young adult fiction

There are several young adult novels adapting Much Ado About Nothing. Lily Anderson's 2016 novel The Only Thing Worse Than Me Is You is about Trixie Watson and Ben West, who attend a "school for geniuses". In Speak Easy, Speak Love (2017) by Mckelle George, the play's events take place in the 1920s; it is focused around a failing speakeasy. In Nothing Happened (2018) by Molly Booth, Claudio and Hero are a queer couple, Claudia and Hana. Under a Dancing Star (2019) by Laura Wood is a modernized version set in Florence. Two Wrongs Make a Right (2022) by Chloe Liese is another contemporary version.

Citations

In his text on Jonathan Swift from 1940, Johannes V. Jensen cited Don John's line

I am trusted with a muzzle and enfranchised with a clog; therefore I have decreed not to sing in my cage. If I had my mouth, I would bite; if I had my liberty, I would do my liking: in the meantime let me be that I am and seek not to alter me.

Jensen later explained that this was a reference to the censorship imposed after the German invasion of Denmark in 1940.

Peter principle

From Wikipedia, the free encyclopedia
The cover of The Peter Principle (1970 Pan Books edition)

The Peter principle is a concept in management developed by Laurence J. Peter which observes that people in a hierarchy tend to rise to "a level of respective incompetence": employees are promoted based on their success in previous jobs until they reach a level at which they are no longer competent, as skills in one job do not necessarily translate to another.

The concept was explained in the 1969 book The Peter Principle (William Morrow and Company) by Laurence Peter and Raymond Hull. Hull wrote the text, which was based on Peter's research. Peter and Hull intended the book to be satire, but it became popular as it was seen to make a serious point about the shortcomings of how people are promoted within hierarchical organizations. The Peter principle has since been the subject of much commentary and research.

Summary

The Peter principle states that a person who is competent at their job will earn a promotion to a position that requires different skills. If the promoted person lacks the skills required for the new role, they will be incompetent at the new level, and will not be promoted again. If the person is competent in the new role, they will be promoted again and will continue to be promoted until reaching a level at which they are incompetent. Being incompetent, the individual will not qualify for promotion again, and so will remain stuck at this final placement or Peter's plateau.

This outcome is inevitable, given enough time and enough positions in the hierarchy to which competent employees may be promoted. The Peter principle is therefore expressed as: "In a hierarchy, every employee tends to rise to his level of incompetence." This leads to Peter's corollary: "In time, every post tends to be occupied by an employee who is incompetent to carry out its duties." Hull calls the study of how hierarchies work hierarchiology.

The Peter Principle

Laurence J. Peter's research led to the formulation of the Peter Principle well before publishing his findings.

Eventually, to elucidate his observations about hierarchies, Peter worked with Raymond Hull to develop a book, The Peter Principle, which was published by William Morrow and Company in 1969. As such, the principle is named for Peter because, although Hull actually wrote almost all of the book's text, it is a summary of Peter's research.

Summary

In the first two chapters, Peter and Hull give various examples of the Peter principle in action. In each case, the higher position required skills that were not required at the level immediately below. For example, a competent school teacher may make a competent assistant principal, but then go on to be an incompetent principal. The teacher was competent at educating children, and as assistant principal, he was good at dealing with parents and other teachers, but as principal, he was poor at maintaining good relations with the school board and the superintendent.

In chapter 3, Peter and Hull discuss apparent exceptions to this principle and then debunk them. One of these illusory exceptions is when someone who is incompetent is still promoted anyway—they coin the phrase "percussive sublimation" for this phenomenon of being "kicked upstairs" (cf. Dilbert principle). However, it is only a pseudo-promotion: a move from one unproductive position to another. This improves staff morale, as other employees believe that they too can be promoted again. Another pseudo-promotion is the "lateral arabesque": when a person is moved out of the way and given a longer job title.

While incompetence is merely a barrier to further promotion, "super-incompetence" is grounds for dismissal, as is "super-competence". In both cases, "they tend to disrupt the hierarchy." One specific example of a super-competent employee is a teacher of children with special needs: they were so effective at educating the children that, after a year, they exceeded all expectations at reading and arithmetic, but the teacher was still fired because they had neglected to devote enough time to bead-stringing and finger-painting.

Chapters 4 and 5 deal with the two methods of achieving promotion: "push" and "pull". "Push" refers to the employee's own efforts, such as working hard and taking courses for self-improvement. This is usually not very effective due to the seniority factor: the next level up is often fully occupied, blocking the path to promotion. "Pull", on the other hand, is far more effective and refers to accelerated promotion brought about by the efforts of an employee's mentors or patrons.

Chapter 6 explains why "good followers do not become good leaders." In chapter 7, Peter and Hull describe the effect of the Peter principle in politics and government. Chapter 8, titled "Hints and Foreshadowings", discusses the work of earlier writers on the subject of incompetence, such as Sigmund Freud, Karl Marx, and Alexander Pope.

Chapter 9 explains that, once employees have reached their level of incompetence, they always lack insight into their situation. Peter and Hull go on to explain why aptitude tests do not work and are actually counter-productive. Finally, they describe "summit competence": when someone reaches the highest level in their organization and yet is still competent at that level. This is only because there were not enough ranks in the hierarchy, or because they did not have time to reach a level of incompetence. Such people often seek a level of incompetence in another hierarchy; this is known as "compulsive incompetence". For example, Socrates was an outstanding teacher but a terrible defence attorney, and Hitler was an excellent politician but an incompetent generalissimo.

Chapter 10 explains why attempts to assist an incompetent employee by promoting another employee to act as their assistant does not work: "Incompetence plus incompetence equals incompetence" (italics in original).

Chapters 11 and 12 describe the various medical and psychological manifestations of stress that may come as result of someone reaching their level of incompetence, as well as other symptoms such as certain characteristic habits of speech or behavior.

Chapter 13 considers whether it is possible for an employee who has reached their level of incompetence to be happy and healthy once they get there: the answer is no if the person realizes their true situation, and yes if the person does not.

Various ways of avoiding promotion to the final level are described in chapter 14. Attempting to refuse an offered promotion is ill-advised and is only practicable if the employee is not married and has no one else to answer to. Generally, it is better to avoid being considered for promotion in the first place, by pretending to be incompetent while one is actually still employed at a level of competence. This is "Creative Incompetence," for which several examples of successful techniques are given. It works best if the chosen field of incompetence does not actually impair one's work.

The concluding chapter applies Peter's Principle to the entire human species at an evolutionary level and asks whether humanity can survive in the long run, or will it become extinct upon reaching its level of incompetence as technology advances.

Other commenters made observations similar to the Peter principle long before Peter's research. Gotthold Ephraim Lessing's 1763 play Minna von Barnhelm features an army sergeant who shuns the opportunity to move up in the ranks, saying "I am a good sergeant; I might easily make a bad captain, and certainly an even worse general. One knows from experience." Similarly, Carl von Clausewitz (1780–1831) wrote that "there is nothing more common than to hear of men losing their energy on being raised to a higher position, to which they do not feel themselves equal." Spanish philosopher José Ortega y Gasset (1883–1955) virtually enunciated the Peter principle in 1910, "All public employees should be demoted to their immediately lower level, as they have been promoted until turning incompetent."

A number of scholars have engaged in research interpreting the Peter principle and its effects. In 2000, Edward Lazear explored two possible explanations for the phenomenon. First is the idea that employees work harder to gain a promotion, and then slack off once it is achieved. The other is that it is a statistical process: workers who are promoted have passed a particular benchmark of productivity based on factors that cannot necessarily be replicated in their new role, leading to a Peter principle situation. Lazear concluded that the former explanation only occurs under particular compensation structures, whereas the latter always holds up.

Alessandro Pluchino, Andrea Rapisarda, and Cesare Garofalo (2010) used an agent-based modelling approach to simulate the promotion of employees in a system where the Peter principle is assumed to be true. They found that the best way to improve efficiency in an enterprise is to promote people randomly, or to shortlist the best and the worst performer in a given group, from which the person to be promoted is then selected randomly. For this work, they won the 2010 edition of the parody Ig Nobel Prize in management science. Later work has shown that firms that follow the Peter Principle may be disadvantaged, as they may be overtaken by competitors, or may produce smaller revenues and profits; as well why success most often is a result of luck rather than talent—work which earned Pluchino and Rapisarda a second Ig Nobel Prize in 2022.

In 2018, professors Alan Benson, Danielle Li, and Kelly Shue analyzed sales workers' performance and promotion practices at 214 American businesses to test the veracity of the Peter principle. They found that these companies tended to promote employees to a management position based on their performance in their previous position, rather than based on managerial potential. Consistent with the Peter principle, the researchers found that high performing sales employees were likelier to be promoted, and that they were likelier to perform poorly as managers, leading to considerable costs to the businesses.

The Peter principle inspired Scott Adams, creator of the comic strip Dilbert, to develop a similar concept, the Dilbert principle. The Dilbert principle holds that incompetent employees are promoted to management positions to get them out of the workflow. The idea was explained by Adams in his 1996 business book The Dilbert Principle, and it has since been analyzed alongside the Peter principle. João Ricardo Faria wrote that the Dilbert principle is "a sub-optimal version of the Peter principle," and leads to even lower profitability than the Peter principle.

Some authors refer to the phenomenon they have observed as the Paula principle: that the Peter principle applies mostly to male employees, while female employees are significantly less likely to be promoted than their male colleagues. Therefore women tend to be kept in positions that are below their abilities. They state that this discrimination against women affects all hierarchical levels and not just top positions. The name is a play on words with those of the apostles Peter and Paul.

Response by organizations

Companies and organizations shaped their policies to contend with the Peter principle. Lazear stated that some companies expect that productivity will "regress to the mean" following promotion in their hiring and promotion practices. Other companies have adopted "up or out" strategies, such as the Cravath System, in which employees who do not advance are periodically fired. The Cravath System was developed at the law firm Cravath, Swaine & Moore, which made a practice of hiring chiefly recent law graduates, promoting internally and firing employees who do not perform at the required level. Brian Christian and Tom Griffiths have suggested the additive increase/multiplicative decrease algorithm as a solution to the Peter principle less severe than firing employees who fail to advance. They propose a dynamic hierarchy in which employees are regularly either promoted or reassigned to a lower level so that any worker who is promoted to their point of failure is soon moved to an area where they are productive.

The Peter Principle is a British television sitcom broadcast by the BBC between 1995 and 2000, featuring Jim Broadbent as an incompetent bank manager named Peter, in an apparent demonstration of the principle.

The Incompetence Opera is a 16-minute mini-opera that premiered at the satirical Ig Nobel Prize ceremony in 2017, described as "a musical encounter with the Peter principle and the Dunning–Kruger effect".

Freakonomics Radio is an American Public Radio program & podcast. In 2022, an episode was produced entitled “Why Are There So Many Bad Bosses?” This episode explains the Peter Principle and its practicality. The episode aired in syndication on National Public Radio in the United States of America.

Consensus (computer science)

From Wikipedia, the free encyclopedia https://en.wikipedia.org/wiki/Consensus_(computer_science)   ...