Search This Blog

Tuesday, June 24, 2025

Object-oriented operating system

An object-oriented operating system is an operating system that is designed, structured, and operated using object-oriented programming principles.

An object-oriented operating system is in contrast to an object-oriented user interface or programming framework, which can be run on a non-object-oriented operating system like DOS or Unix.

There are already object-based language concepts involved in the design of a more typical operating system such as Unix. While a more traditional language like C does not support object-orientation as fluidly as more recent languages, the notion of, for example, a file, stream, or device driver (in Unix, each represented as a file descriptor) can be considered a good example of objects. They are, after all, abstract data types, with various methods in the form of system calls which behavior varies based on the type of object and which implementation details are hidden from the caller.

Object-orientation has been defined as objects + inheritance, and inheritance is only one approach to the more general problem of delegation that occurs in every operating system. Object-orientation has been more widely used in the user interfaces of operating systems than in their kernels.

Background

An object is an instance of a class, which provides a certain set of functionalities. Two objects can be differentiated based on the functionalities (or methods) they support. In an operating system context, objects are associated with a resource. Historically, the object-oriented design principles were used in operating systems to provide several protection mechanisms.

Protection mechanisms in an operating system help in providing a clear separation between different user programs. It also protects the operating system from any malicious user program behavior. For example, consider the case of user profiles in an operating system. The user should not have access to resources of another user. The object model deals with these protection issues with each resource acting as an object. Every object can perform only a set of operations. In the context of user profiles, the set of operations is limited by privilege level of a user.

Present-day operating systems use object-oriented design principles for many components of the system, which includes protection.

Examples

Athene
Athene is an object-based operating system first released in 2000 by Rocklyte Systems.  The user environment was constructed entirely from objects that are linked together at runtime. Applications for Athene could also be created using this methodology and were commonly scripted using the object scripting language Dynamic Markup Language (DML). Objects could have been shared between processes by creating them in shared memory and locking them as needed for access. Athene's object framework was multi-platform, allowing it to be used in Windows and Linux environments for developing object-oriented programs. The company went defunct and the project abandoned sometime in 2009.
BeOS
BeOS was an object-oriented operating system released in 1995, which used objects and the C++ language for the application programming interface (API). The kernel was written in C with C++ wrappers in user space. The OS did not see mainstream usage and proved commercially unviable, however it has seen continued usage and development by a small enthusiast community.
Choices
Choices is an object-oriented operating system developed at the University of Illinois at Urbana–Champaign. It is written in C++ and uses objects to represent core kernel components like the central processing unit (CPU), processes, and so on. Inheritance is used to separate the kernel into portable machine-independent classes and small non-portable dependent classes. Choices has been ported to and runs on SPARC, x86, and ARM.
ETHOS
ETHOS was an experimental object oriented version of the Oberon System (see below) created by Clemens Szyperski for his PhD Thesis written in Oberon-2
GEOS
PC/GEOS is a light-weight object-oriented multitasking graphical operating system with sophisticated window and desktop management featuring scalable fonts. It is mostly written in an object-oriented x86 assembly language dialect and some C/C++ and is designed to run on DOS (similar to Microsoft Windows up to Windows Me). GEOS was developed originally by Berkeley Softworks in 1990, which later became GeoWorks Corporation, and it is continued to be maintained by BreadBox Computer Company. Related software suites were named Ensemble and New Deal Office. Adaptations exist for various palmtops, and 32-bit systems with non-x86-CPUs.
Haiku
Haiku (originally named OpenBeOS), is an open-source replacement for BeOS. It reached its first development milestone in September 2009 with the release of Haiku R1/Alpha 1. The x86 distribution is compatible with BeOS at both source and binary level. Like BeOS, it is written primarily in C++ and provides an object-oriented API. It is actively developed.
IBM i (OS/400, i5/OS)
IBM introduced OS/400 in 1988. This OS ran exclusively on the AS/400 platform. Renamed IBM i in 2008, this operating system and runs exclusively on Power Systems which also can run AIX and Linux. IBM i uses an object-oriented methodology and integrates a database (Db2 for i). The IBM i OS has a 128-bit unique identifier for each object.
IBM OS/2 2.0
IBM's first priority based pre-emptive multitasking, graphical, windows-based operating system included an object-oriented user shell. It was designed for the Intel 80386 that used virtual 8086 mode with full 32-bit support and was released in 1992. ArcaOS, a new OS/2 based operating system initially called Blue Lion[9] is being developed by Arca Noae. The first version was released in May 2017.
IBM TopView
TopView was an object-oriented operating environment that loaded on a PC on DOS, and then took control from DOS. At that point it effectively became an object-oriented operating system with an object-oriented API (TopView API). It was IBM's first multi-tasking, window based, object-oriented operating system for the PC led by David C. Morrill and released in February 1985.
Java-based
Given that Oracle's (formerly Sun Microsystems') Java is today one of the most dominant object-oriented languages, it is no surprise that Java-based operating systems have been attempted. In this area, ideally, the kernel would consist of the bare minimum needed to support a Java virtual machine (JVM). This is the only component of such an operating system that would have to be written in a language other than Java. Built on the JVM and basic hardware support, it would be possible to write the rest of the operating system in Java; even parts of the system that are more traditionally written in a lower-level language such as C, for example device drivers, can be written in Java.
Examples of attempts at such an operating system include JavaOS, JOS, JNode, and JX.
Lisp-based
An object-oriented operating system written in the Lisp dialect Lisp Machine Lisp (and later Common Lisp) was developed at MIT. It was commercialized with Lisp machines from Symbolics, Lisp Machines Inc. and Texas Instruments. Symbolics called their operating system Genera. It was developed with the Flavors object-oriented extension of Lisp, then with New Flavors, and then with the Common Lisp Object System (CLOS).
Xerox developed several workstations with an operating system written in Interlisp-D. Interlisp-D provided object-oriented extensions like LOOPS and CLOS.
Movitz and Mezzano are two more recent attempts at operating systems written in Common Lisp.
Medos-2
Medos-2 is a single user, object-oriented operating system made for the Lilith line of workstations (processor: Advanced Micro Devices (AMD) 2901), developed in the early 1980s at ETH Zurich by Svend Erik Knudsen with advice from Niklaus Wirth. It is built entirely from modules of the programming language Modula-2. It was succeeded at ETH Zurich by the Oberon system (see also below), and a variant named Excelsior was developed for the Kronos workstation, by the Academy of Sciences of the Soviet Union, Siberian branch, Novosibirsk Computing Center, Modular Asynchronous Developable Systems (MARS) project, Kronos Research Group (KRG).
Microsoft Singularity
Singularity is an experimental operating system based on Microsoft's .NET Framework. It is comparable to Java-based operating systems.
Microsoft Windows NT
Windows NT is a family of operating systems (including Windows 7, 8, Phone 8, 8.1, Windows 10, 10 Mobile, Windows 11 and Xbox) produced by Microsoft, the first version of which was released in July 1993. It is a high-level programming language-based, processor-independent, multiprocessing, multi-user operating system. It is best described as object-based rather than object-oriented as it does not include the full inheritance properties of object-oriented languages.
The Object Manager is in charge of managing NT objects. As part of this responsibility, it maintains an internal namespace where various operating system components, device drivers, and Win32 programs can store and lookup objects. The NT Native API provides routines that allow user space (mode) programs to browse the namespace and query the status of objects located there, but the interfaces are undocumented. NT supports per-object (file, function, and role) access control lists allowing a rich set of security permissions to be applied to systems and services. WinObj is a Windows NT program that uses the NT Native API (provided by NTDLL.DLL) to access and display information on the NT Object Manager's name space.
Component Object Model
On the user mode side of Windows, the Component Object Model (COM) is an application binary interface standard for software components introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages. COM is the basis for several other Microsoft technologies and frameworks, including Object Linking and Embedding (OLE), OLE Automation, ActiveX, COM+, Distributed Component Object Model (DCOM), the Windows shell, DirectX, and Windows Runtime. OLE is a proprietary technology developed by Microsoft that allows embedding and linking to documents and other objects. On a technical level, an OLE object is any object that implements the IOleObject interface, possibly along with a wide range of other interfaces, depending on the object's needs. Its primary use is for managing compound documents, but it is also used for transferring data between different applications using drag and drop and clipboard operations.
Compound File Binary Format
Compound File Binary Format (CFBF) is a file format for storing many files and streams within one file on a disk. CFBF is developed by Microsoft and is an implementation of Microsoft COM Structured Storage. Structured storage is widely used as main file format in Microsoft Office applications including Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Microsoft Access and is the basis of Advanced Authoring Format.
Object Linking and Embedding
Object Linking and Embedding (OLE) was part of a grander plan named Cairo, the code name for a project at Microsoft from 1991 to 1996. Its charter was to build technologies for a next generation operating system that would fulfill Bill Gates' vision of "information at your fingertips". Cairo never shipped, although parts of its technologies have since appeared in other products. The Windows 95 graphical user interface was based on the initial design work that was done on the Cairo user interface. The remaining component is the object-based file system. It was once planned to be implemented in the form of Windows Future Storage (WinFS) as part of Windows Vista. WinFS is the code name for data storage and management system project based on relational databases, running on the Windows NT file system (NTFS), which is object-oriented in that it can store the NT objects including its NT object identifier. Each NTFS object has an object identifier; a shortcut with a target that's on an NTFS volume also records the object identifier of the shortcut target, and the object identifier of the drive. WinFS was first demonstrated in 2003 as an advanced storage subsystem for the Microsoft Windows operating system, designed for persistence and management of structured, semi-structured, and unstructured data. WinFS development was cancelled in June 2006, with some of its technologies merged into other Microsoft products such as Microsoft SQL Server 2008 and Microsoft SharePoint. It was subsequently confirmed in an interview with Bill Gates that Microsoft planned to migrate applications like Windows Media Player, Windows Photo Gallery, Microsoft Office Outlook, etc., to use WinFS as the data storage back-end.
NeXTSTEP
During the late 1980s, Steve Jobs formed the computer company NeXT. One of NeXT's first tasks was to design an object-oriented operating system, NeXTSTEP. They did this by adding an object-oriented framework on Mach and BSD using the Objective-C language as a basis. It achieved a niche status in the computing market, notably used by Tim Berners-Lee developing the first implementation of the World Wide Web.
NeXTStep later evolved into OpenStep and the Cocoa API on macOS and iOS (iPadOS, watchOS).
OpenStep was provided as an API layer on many operating systems, namely HP-UX, NextStep, Solaris, and Windows.
Oberon System
Oberon System is a single user, object-oriented operating system made for the Ceres line of workstations (processor: National Semiconductor NS32000), developed in the later 1980s at ETH Zurich by Niklaus Wirth and Jürg Gutknecht. It is built entirely from modules of the programming language Oberon. There are two successors of the Oberon System, ETHOS (see above) and, as of 2023 still maintained, an evolution named Active Object System (AOS), then renamed Bluebottle, then renamed A2.
OOSMOS
The Object-Oriented State Machine Operating System (OOSMOS), written in C, promotes object-oriented encapsulation and implements a full table-driven hierarchical state machine architecture. It generates C code directly from state charts drawn with the open source tool UMLet. OOSMOS also supports a unique feature call 'state threads' which allows a thread of execution per state. OOSMOS operates on a bare board or in cooperation with an existing operating system.
Phantom OS
Phantom OS adheres to a principle where "everything is an object" and eliminates the concept of a file entirely, instead transparently persisting virtual memory to storage.
ReactOS
ReactOS is an open-source operating system intended to be binary compatible with application software and device drivers made for Microsoft Windows NT versions. Written from scratch, it aims to follow the architecture of Windows NT designed by Microsoft from the hardware level right through to the application level. This is not a Linux-based system, and shares none of the unix architecture.
Smalltalk
Smalltalk was invented at Xerox in the 1970s. The Smalltalk system is fully object-oriented and needs very little support by BIOS and the run-time system.
Syllable
Syllable makes heavy use of C++ and for that reason is often compared to BeOS.
Symbolics Genera
Genera from Symbolics is an operating system for Lisp machines written in ZetaLisp and Symbolics Common Lisp. It makes heavy use of Flavors (an early object-oriented extension to Lisp) and the Common Lisp Object System (CLOS). Development began in the mid 70s at MIT.
Taligent
Taligent was an object-oriented operating system project, begun by Apple Inc. and jointly developed with IBM in the 1990s. It was later spun off to an IBM subsidiary and transformed from an operating system to a programming environment.

Software engineering

Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining software applications. It involves applying engineering principles and computer programming expertise to develop software systems that meet user needs.

The terms programmer and coder overlap software engineer, but they imply only the construction aspect of a typical software engineer workload.

A software engineer applies a software development process, which involves defining, implementing, testing, managing, and maintaining software systems, as well as developing the software development process itself.

History

Beginning in the 1960s, software engineering was recognized as a separate field of engineering.

The development of software engineering was seen as a struggle. Problems included software that was over budget, exceeded deadlines, required extensive debugging and maintenance, and unsuccessfully met the needs of consumers or was never even completed.

In 1968, NATO held the first software engineering conference, where issues related to software were addressed. Guidelines and best practices for the development of software were established.

The origins of the term software engineering have been attributed to various sources. The term appeared in a list of services offered by companies in the June 1965 issue of "Computers and Automation" and was used more formally in the August 1966 issue of Communications of the ACM (Volume 9, number 8) in "President's Letter to the ACM Membership" by Anthony A. Oettinger. It is also associated with the title of a NATO conference in 1968 by Professor Friedrich L. BauerMargaret Hamilton described the discipline of "software engineering" during the Apollo missions to give what they were doing legitimacy. At the time, there was perceived to be a "software crisis". The 40th International Conference on Software Engineering (ICSE 2018) celebrates 50 years of "Software Engineering" with the Plenary Sessions' keynotes of Frederick Brooks and Margaret Hamilton.

In 1984, the Software Engineering Institute (SEI) was established as a federally funded research and development center headquartered on the campus of Carnegie Mellon University in Pittsburgh, Pennsylvania, United States. Watts Humphrey founded the SEI Software Process Program, aimed at understanding and managing the software engineering process. The Process Maturity Levels introduced became the Capability Maturity Model Integration for Development (CMMI-DEV), which defined how the US Government evaluates the abilities of a software development team.

Modern, generally accepted best practices for software engineering have been collected by the ISO/IEC JTC 1/SC 7 subcommittee and published as the Software Engineering Body of Knowledge (SWEBOK). Software engineering is considered one of the major computing disciplines.

Terminology

Definition

Notable definitions of software engineering include:

  • "The systematic application of scientific and technological knowledge, methods, and experience to the design, implementation, testing, and documentation of software."—The Bureau of Labor Statistics—IEEE Systems and software engineering – Vocabulary
  • "The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software."—IEEE Standard Glossary of Software Engineering Terminology
  • "An engineering discipline that is concerned with all aspects of software production."—Ian Sommerville
  • "The establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines."—Fritz Bauer
  • "A branch of computer science that deals with the design, implementation, and maintenance of complex computer programs."—Merriam-Webster
  • "'Software engineering' encompasses not just the act of writing code, but all of the tools and processes an organization uses to build and maintain that code over time. [...] Software engineering can be thought of as 'programming integrated over time.'"—Software Engineering at Google

The term has also been used less formally:

  • as the informal contemporary term for the broad range of activities that were formerly called computer programming and systems analysis
  • as the broad term for all aspects of the practice of computer programming, as opposed to the theory of computer programming, which is formally studied as a sub-discipline of computer science
  • as the term embodying the advocacy of a specific approach to computer programming, one that urges that it be treated as an engineering discipline rather than an art or a craft, and advocates the codification of recommended practices

Suitability

Individual commentators have disagreed sharply on how to define software engineering or its legitimacy as an engineering discipline. David Parnas has said that software engineering is, in fact, a form of engineering. Steve McConnell has said that it is not, but that it should be. Donald Knuth has said that programming is an art and a science. Edsger W. Dijkstra claimed that the terms software engineering and software engineer have been misused in the United States.

Workload

Requirements analysis

Requirements engineering is about elicitation, analysis, specification, and validation of requirements for software. Software requirements can be functional, non-functional or domain.

Functional requirements describe expected behaviors (i.e. outputs). Non-functional requirements specify issues like portability, security, maintainability, reliability, scalability, performance, reusability, and flexibility. They are classified into the following types: interface constraints, performance constraints (such as response time, security, storage space, etc.), operating constraints, life cycle constraints (maintainability, portability, etc.), and economic constraints. Knowledge of how the system or software works is needed when it comes to specifying non-functional requirements. Domain requirements have to do with the characteristic of a certain category or domain of projects.

Design

Software design is the process of making high-level plans for the software. Design is sometimes divided into levels:

Construction

Software construction typically involves programming (a.k.a. coding), unit testing, integration testing, and debugging so as to implement the design. "Software testing is related to, but different from, ... debugging". Testing during this phase is generally performed by the programmer and with the purpose to verify that the code behaves as designed and to know when the code is ready for the next level of testing.

Testing

Software testing is an empirical, technical investigation conducted to provide stakeholders with information about the quality of the software under test.

When described separately from construction, testing typically is performed by test engineers or quality assurance instead of the programmers who wrote it. It is performed at the system level and is considered an aspect of software quality.

Program analysis

Program analysis is the process of analyzing computer programs with respect to an aspect such as performance, robustness, and security.

Maintenance

Software maintenance refers to supporting the software after release. It may include but is not limited to: error correction, optimization, deletion of unused and discarded features, and enhancement of existing features.

Usually, maintenance takes up 40% to 80% of project cost.

Education

Knowledge of computer programming is a prerequisite for becoming a software engineer. In 2004, the IEEE Computer Society produced the SWEBOK, which has been published as ISO/IEC Technical Report 1979:2005, describing the body of knowledge that they recommend to be mastered by a graduate software engineer with four years of experience. Many software engineers enter the profession by obtaining a university degree or training at a vocational school. One standard international curriculum for undergraduate software engineering degrees was defined by the Joint Task Force on Computing Curricula of the IEEE Computer Society and the Association for Computing Machinery, and updated in 2014. A number of universities have Software Engineering degree programs; as of 2010, there were 244 Campus Bachelor of Software Engineering programs, 70 Online programs, 230 Masters-level programs, 41 Doctorate-level programs, and 69 Certificate-level programs in the United States.

In addition to university education, many companies sponsor internships for students wishing to pursue careers in information technology. These internships can introduce the student to real-world tasks that typical software engineers encounter every day. Similar experience can be gained through military service in software engineering.

Software engineering degree programs

Half of all practitioners today have degrees in computer science, information systems, or information technology. A small but growing number of practitioners have software engineering degrees. In 1987, the Department of Computing at Imperial College London introduced the first three-year software engineering bachelor's degree in the world; in the following year, the University of Sheffield established a similar program. In 1996, the Rochester Institute of Technology established the first software engineering bachelor's degree program in the United States; however, it did not obtain ABET accreditation until 2003, the same year as Rice University, Clarkson University, Milwaukee School of Engineering, and Mississippi State University. In 1997, PSG College of Technology in Coimbatore, India was the first to start a five-year integrated Master of Science degree in Software Engineering.

Since then, software engineering undergraduate degrees have been established at many universities. A standard international curriculum for undergraduate software engineering degrees, SE2004, was defined by a steering committee between 2001 and 2004 with funding from the Association for Computing Machinery and the IEEE Computer Society. As of 2004, about 50 universities in the U.S. offer software engineering degrees, which teach both computer science and engineering principles and practices. The first software engineering master's degree was established at Seattle University in 1979. Since then, graduate software engineering degrees have been made available from many more universities. Likewise in Canada, the Canadian Engineering Accreditation Board (CEAB) of the Canadian Council of Professional Engineers has recognized several software engineering programs.

In 1998, the US Naval Postgraduate School (NPS) established the first doctorate program in Software Engineering in the world. Additionally, many online advanced degrees in Software Engineering have appeared such as the Master of Science in Software Engineering (MSE) degree offered through the Computer Science and Engineering Department at California State University, Fullerton. Steve McConnell opines that because most universities teach computer science rather than software engineering, there is a shortage of true software engineers. ETS (École de technologie supérieure) University and UQAM (Université du Québec à Montréal) were mandated by IEEE to develop the Software Engineering Body of Knowledge (SWEBOK), which has become an ISO standard describing the body of knowledge covered by a software engineer.

Profession

Legal requirements for the licensing or certification of professional software engineers vary around the world. In the UK, there is no licensing or legal requirement to assume or use the job title Software Engineer. In some areas of Canada, such as Alberta, British Columbia, Ontario, and Quebec, software engineers can hold the Professional Engineer (P.Eng) designation and/or the Information Systems Professional (I.S.P.) designation. In Europe, Software Engineers can obtain the European Engineer (EUR ING) professional title. Software Engineers can also become professionally qualified as a Chartered Engineer through the British Computer Society.

In the United States, the NCEES began offering a Professional Engineer exam for Software Engineering in 2013, thereby allowing Software Engineers to be licensed and recognized. NCEES ended the exam after April 2019 due to lack of participation. Mandatory licensing is currently still largely debated, and perceived as controversial.

The IEEE Computer Society and the ACM, the two main US-based professional organizations of software engineering, publish guides to the profession of software engineering. The IEEE's Guide to the Software Engineering Body of Knowledge – 2004 Version, or SWEBOK, defines the field and describes the knowledge the IEEE expects a practicing software engineer to have. The most current version is SWEBOK v4. The IEEE also promulgates a "Software Engineering Code of Ethics".

Employment

There are an estimated 26.9 million professional software engineers in the world as of 2022, up from 21 million in 2016.

Many software engineers work as employees or contractors. Software engineers work with businesses, government agencies (civilian or military), and non-profit organizations. Some software engineers work for themselves as freelancers. Some organizations have specialists to perform each of the tasks in the software development process. Other organizations require software engineers to do many or all of them. In large projects, people may specialize in only one role. In small projects, people may fill several or all roles at the same time. Many companies hire interns, often university or college students during a summer break, or externships. Specializations include analysts, architects, developers, testers, technical support, middleware analysts, project managers, software product managers, educators, and researchers.

Most software engineers and programmers work 40 hours a week, but about 15 percent of software engineers and 11 percent of programmers worked more than 50 hours a week in 2008. Potential injuries in these occupations are possible because like other workers who spend long periods sitting in front of a computer terminal typing at a keyboard, engineers and programmers are susceptible to eyestrain, back discomfort, Thrombosis, Obesity, and hand and wrist problems such as carpal tunnel syndrome.

United States

The U. S. Bureau of Labor Statistics (BLS) counted 1,365,500 software developers holding jobs in the U.S. in 2018. Due to its relative newness as a field of study, formal education in software engineering is often taught as part of a computer science curriculum, and many software engineers hold computer science degrees. The BLS estimates from 2023 to 2033 that computer software engineering would increase by 17%. This is down from the 2022 to 2032 BLS estimate of 25% for software engineering. And, is further down from their 30% 2010 to 2020 BLS estimate. Due to this trend, job growth may not be as fast as during the last decade, as jobs that would have gone to computer software engineers in the United States would instead be outsourced to computer software engineers in countries such as India and other foreign countries. In addition, the BLS Job Outlook for Computer Programmers, the U.S. Bureau of Labor Statistics (BLS) Occupational Outlook predicts a decline of -7 percent from 2016 to 2026, a further decline of -9 percent from 2019 to 2029, a decline of -10 percent from 2021 to 2031. and then a decline of -11 percent from 2022 to 2032. Since computer programming can be done from anywhere in the world, companies sometimes hire programmers in countries where wages are lower. Furthermore, the ratio of women in many software fields has also been declining over the years as compared to other engineering fields. Then there is the additional concern that recent advances in Artificial Intelligence might impact the demand for future generations of Software Engineers. However, this trend may change or slow in the future as many current software engineers in the U.S. market flee the profession or age out of the market in the next few decades.

Certification

The Software Engineering Institute offers certifications on specific topics like security, process improvement and software architectureIBM, Microsoft and other companies also sponsor their own certification examinations. Many IT certification programs are oriented toward specific technologies, and managed by the vendors of these technologies. These certification programs are tailored to the institutions that would employ people who use these technologies.

Broader certification of general software engineering skills is available through various professional societies. As of 2006, the IEEE had certified over 575 software professionals as a Certified Software Development Professional (CSDP). In 2008 they added an entry-level certification known as the Certified Software Development Associate (CSDA). The ACM had a professional certification program in the early 1980s, which was discontinued due to lack of interest. The ACM and the IEEE Computer Society together examined the possibility of licensing of software engineers as Professional Engineers in the 1990s, but eventually decided that such licensing was inappropriate for the professional industrial practice of software engineering. John C. Knight and Nancy G. Leveson presented a more balanced analysis of the licensing issue in 2002.

In the U.K. the British Computer Society has developed a legally recognized professional certification called Chartered IT Professional (CITP), available to fully qualified members (MBCS). Software engineers may be eligible for membership of the British Computer Society or Institution of Engineering and Technology and so qualify to be considered for Chartered Engineer status through either of those institutions. In Canada the Canadian Information Processing Society has developed a legally recognized professional certification called Information Systems Professional (ISP). In Ontario, Canada, Software Engineers who graduate from a Canadian Engineering Accreditation Board (CEAB) accredited program, successfully complete PEO's (Professional Engineers Ontario) Professional Practice Examination (PPE) and have at least 48 months of acceptable engineering experience are eligible to be licensed through the Professional Engineers Ontario and can become Professional Engineers P.Eng. The PEO does not recognize any online or distance education however; and does not consider Computer Science programs to be equivalent to software engineering programs despite the tremendous overlap between the two. This has sparked controversy and a certification war. It has also held the number of P.Eng holders for the profession exceptionally low. The vast majority of working professionals in the field hold a degree in CS, not SE. Given the difficult certification path for holders of non-SE degrees, most never bother to pursue the license.

Impact of globalization

The initial impact of outsourcing, and the relatively lower cost of international human resources in developing third world countries led to a massive migration of software development activities from corporations in North America and Europe to India and later: China, Russia, and other developing countries. This approach had some flaws, mainly the distance / time zone difference that prevented human interaction between clients and developers and the massive job transfer. This had a negative impact on many aspects of the software engineering profession. For example, some students in the developed world avoid education related to software engineering because of the fear of offshore outsourcing (importing software products or services from other countries) and of being displaced by foreign visa workers. Although statistics do not currently show a threat to software engineering itself; a related career, computer programming does appear to have been affected. Nevertheless, the ability to smartly leverage offshore and near-shore resources via the follow-the-sun workflow has improved the overall operational capability of many organizations. When North Americans leave work, Asians are just arriving to work. When Asians are leaving work, Europeans arrive to work. This provides a continuous ability to have human oversight on business-critical processes 24 hours per day, without paying overtime compensation or disrupting a key human resource, sleep patterns.

While global outsourcing has several advantages, global – and generally distributed – development can run into serious difficulties resulting from the distance between developers. This is due to the key elements of this type of distance that have been identified as geographical, temporal, cultural and communication (that includes the use of different languages and dialects of English in different locations). Research has been carried out in the area of global software development over the last 15 years and an extensive body of relevant work published that highlights the benefits and problems associated with the complex activity. As with other aspects of software engineering research is ongoing in this and related areas.

Prizes

There are various prizes in the field of software engineering:

  • ACM-AAAI Allen Newell Award- USA. Awarded to career contributions that have breadth within computer science, or that bridge computer science and other disciplines.
  • BCS Lovelace Medal. Awarded to individuals who have made outstanding contributions to the understanding or advancement of computing.
  • ACM SIGSOFT Outstanding Research Award, selected for individual(s) who have made "significant and lasting research contributions to the theory or practice of software engineering."
  • More ACM SIGSOFT Awards.
  • The Codie award, a yearly award issued by the Software and Information Industry Association for excellence in software development within the software industry.
  • Harlan Mills Award for "contributions to the theory and practice of the information sciences, focused on software engineering".
  • ICSE Most Influential Paper Award.
  • Jolt Award, also for the software industry.
  • Stevens Award given in memory of Wayne Stevens.

Criticism

Some call for licensing, certification and codified bodies of knowledge as mechanisms for spreading the engineering knowledge and maturing the field.

Some claim that the concept of software engineering is so new that it is rarely understood, and it is widely misinterpreted, including in software engineering textbooks, papers, and among the communities of programmers and crafters.

Some claim that a core issue with software engineering is that its approaches are not empirical enough because a real-world validation of approaches is usually absent, or very limited and hence software engineering is often misinterpreted as feasible only in a "theoretical environment."

Edsger Dijkstra, a founder of many of the concepts in software development today, rejected the idea of "software engineering" up until his death in 2002, arguing that those terms were poor analogies for what he called the "radical novelty" of computer science:

A number of these phenomena have been bundled under the name "Software Engineering". As economics is known as "The Miserable Science", software engineering should be known as "The Doomed Discipline", doomed because it cannot even approach its goal since its goal is self-contradictory. Software engineering, of course, presents itself as another worthy cause, but that is eyewash: if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter "How to program if you cannot."

Abstraction layer

From Wikipedia, the free encyclopedia

In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics libraries, which allow the separation of concerns to facilitate interoperability and platform independence.

In computer science, an abstraction layer is a generalization of a conceptual model or algorithm, away from any specific implementation. These generalizations arise from broad similarities that are best encapsulated by models that express similarities present in various specific implementations. The simplification provided by a good abstraction layer allows for easy reuse by distilling a useful concept or design pattern so that situations, where it may be accurately applied, can be quickly recognized. Just composing lower-level elements into a construct doesn't count as an abstraction layer unless it shields users from its underlying complexity.

A layer is considered to be on top of another if it depends on it. Every layer can exist without the layers above it, and requires the layers below it to function. Frequently abstraction layers can be composed into a hierarchy of abstraction levels. The OSI model comprises seven abstraction layers. Each layer of the model encapsulates and addresses a different part of the needs of digital communications, thereby reducing the complexity of the associated engineering solutions.

A famous aphorism of David Wheeler is, "All problems in computer science can be solved by another level of indirection." This is often deliberately misquoted with "abstraction" substituted for "indirection." It is also sometimes misattributed to Butler Lampson. Kevlin Henney's corollary to this is, "...except for the problem of too many layers of indirection."

Computer architecture

In a computer architecture, a computer system is usually represented as consisting of several abstraction levels such as:

Programmable logic is often considered part of the hardware, while the logical definitions are also sometimes seen as part of a device's software or firmware. Firmware may include only low-level software, but can also include all software, including an operating system and applications. The software layers can be further divided into hardware abstraction layers, physical and logical device drivers, repositories such as filesystems, operating system kernels, middleware, applications, and others. A distinction can also be made from low-level programming languages like VHDL, machine language, assembly language to a compiled language, interpreter, and script language.

Input and output

In the Unix operating system, most types of input and output operations are considered to be streams of bytes read from a device or written to a device. This stream of bytes model is used for file I/O, socket I/O, and terminal I/O in order to provide device independence. In order to read and write to a device at the application level, the program calls a function to open the device, which may be a real device such as a terminal or a virtual device such as a network port or a file in a file system. The device's physical characteristics are mediated by the operating system which in turn presents an abstract interface that allows the programmer to read and write bytes from/to the device. The operating system then performs the actual transformation needed to read and write the stream of bytes to the device.

Graphics

Most graphics libraries such as OpenGL provide an abstract graphical device model as an interface. The library is responsible for translating the commands provided by the programmer into the specific device commands needed to draw the graphical elements and objects. The specific device commands for a plotter are different from the device commands for a CRT monitor, but the graphics library hides the implementation and device-dependent details by providing an abstract interface which provides a set of primitives that are generally useful for drawing graphical objects.

Monday, June 23, 2025

Pythagoras

From Wikipedia, the free encyclopedia
 
Pythagoras
Marble bust of a man with a long, pointed beard, wearing a tainia, a kind of ancient Greek headcovering in this case resembling a turban. The face is somewhat gaunt and has prominent, but thin, eyebrows, which seem halfway fixed into a scowl. The ends of his mustache are long a trail halfway down the length of his beard to about where the bottom of his chin would be if we could see it. None of the hair on his head is visible, since it is completely covered by the tainia.
Bust of Pythagoras of Samos in theCapitoline Museums, Rome

Pythagoras of Samos (Ancient Greek: Πυθαγόρας; c. 570 – c. 495 BC) was an ancient Ionian Greek philosopher, polymath, and the eponymous founder of Pythagoreanism. His political and religious teachings were well known in Magna Graecia and influenced the philosophies of Plato, Aristotle, and, through them, Western philosophy. Modern scholars disagree regarding Pythagoras's education and influences, but most agree that he travelled to Croton in southern Italy around 530 BC, where he founded a school in which initiates were allegedly sworn to secrecy and lived a communal, ascetic lifestyle.

In antiquity, Pythagoras was credited with mathematical and scientific discoveries, such as the Pythagorean theorem, Pythagorean tuning, the five regular solids, the theory of proportions, the sphericity of the Earth, the identity of the morning and evening stars as the planet Venus, and the division of the globe into five climatic zones. He was reputedly the first man to call himself a philosopher ("lover of wisdom"). Historians debate whether Pythagoras made these discoveries and pronouncements, as some of the accomplishments credited to him likely originated earlier or were made by his colleagues or successors, such as Hippasus and Philolaus.

The teaching most securely identified with Pythagoras is the "transmigration of souls" or metempsychosis, which holds that every soul is immortal and, upon death, enters into a new body. He may have also devised the doctrine of musica universalis, which holds that the planets move according to mathematical ratios and thus resonate to produce an inaudible symphony of music. Following Croton's decisive victory over Sybaris in around 510 BC, Pythagoras's followers came into conflict with supporters of democracy, and their meeting houses were burned. Pythagoras may have been killed during this persecution, or he may have escaped to Metapontum and died there.

Pythagoras influenced Plato whose dialogues (especially Timaeus) exhibit Pythagorean ideas. A major revival of his teachings occurred in the first century BC among Middle Platonists, coinciding with the rise of Neopythagoreanism. Pythagoras continued to be regarded as a great philosopher throughout the Middle Ages and Pythagoreanism had an influence on scientists such as Nicolaus Copernicus, Johannes Kepler, and Isaac Newton. Pythagorean symbolism was also used throughout early modern European esotericism, and his teachings as portrayed in Ovid's Metamorphoses would later influence the modern vegetarian movement.

Life

No authentic writings of Pythagoras have survived, and almost nothing is known for certain about his life. The earliest sources on Pythagoras's life, from Xenophanes, Heraclitus, Empedocles, Ion of Chios, and Herodotus are brief, ambiguous, and often satirical. The major sources on Pythagoras's life are three biographies from late antiquity written by Diogenes Laërtius, Porphyry, and Iamblichus, all of which are filled primarily with myths and legends and which become longer and more fantastic in their descriptions of Pythagoras's achievements the more removed they are from Pythagoras's times. However, Porphyry and Iamblichus also used some material taken from earlier writings in the 4th century BC by Aristotle's students Dicaearchus, Aristoxenus, and Heraclides Ponticus, which, when it can be identified, is generally considered to be the most reliable.

Early life

There is not a single detail in the life of Pythagoras that stands uncontradicted. But it is possible, from a more or less critical selection of the data, to construct a plausible account.

— Walter Burkert, 1972

Herodotus and Isocrates agree that Pythagoras was the son of Mnesarchus, and that he was born on the Greek island of Samos in the eastern Aegean. Mnesarchus is said to have been a gem-engraver or a wealthy merchant but his ancestry is disputed and unclear. Apollonius of Tyana writes that Pythagoras's mother was Pythaïs, who was said to be a descendant of Ancaeus, the mythical founder of Samos. Iamblichus tells the story that the Pythia prophesied to her while she was pregnant with him that she would give birth to a man supremely beautiful, wise, and beneficial to humankind. As to the date of his birth, Aristoxenus stated that Pythagoras left Samos in the reign of Polycrates, at the age of 40, which would give a date of birth around 570 BC. Pythagoras's name led him to be associated with Pythian Apollo (Pūthíā); Aristippus of Cyrene in the 4th century BC explained his name by saying, "He spoke [ἀγορεύω, agoreúō] the truth no less than did the Pythian [πυθικός puthikós]".

During Pythagoras's formative years, Samos was a thriving cultural hub known for its feats of advanced architectural engineering, including the building of the Tunnel of Eupalinos, and for its riotous festival culture. It was a major center of trade in the Aegean where traders brought goods from the Near East. According to Christiane L. Joost-Gaugier, these traders almost certainly brought with them Near Eastern ideas and traditions. Pythagoras's early life also coincided with the flowering of early Ionian natural philosophy. He was a contemporary of the philosophers Anaximander, Anaximenes, and the historian Hecataeus, all of whom lived in Miletus, across the sea from Samos.

Reputed travels

Modern scholarship has shown that the culture of Archaic Greece was heavily influenced by those of Levantine and Mesopotamian cultures, which appears to have been recognized by authors later in the Classical and Hellenistic periods, who attributed many of Pythagoras' unusual and unconventional beliefs to invented travels to far off lands, where he learned from those people himself. The doctrine of metempsychosis, or reincarnation of the soul after death, which Herodotus had mistakenly attributed to the Egyptians, led to an elaborate tale where Pythagoras learned the Egyptian language from the Pharaoh Amasis II himself, and then traveled to study with the Egyptian priests at Diospolis (Thebes), where he was the only foreigner ever to be granted the privilege of taking part in their worship. Other ancient writers, however, claimed that Pythagoras had learned these teachings from the Magi in Persia or even from Zoroaster himself. The Phoenicians are also reputed to have taught Pythagoras arithmetic and the Chaldeans to have taught him astronomy. By the third century BC, Pythagoras was already reported to have studied under the Jews as well. By the third century AD, Pythagoras was also reported by Philostratus to have studied under sages or gymnosophists in India, and, according to Iamblichus, also with the Celts and Iberians.

Alleged Greek teachers

Ancient sources also record Pythagoras having studied under a variety of native Greek thinkers. Diogenes Laërtius asserts that Pythagoras later visited Crete, where he went to the Cave of Ida with Epimenides. Some identify Hermodamas of Samos as a possible tutor. Hermodamas represented the indigenous Samian rhapsodic tradition and his father Creophylos was said to have been the host of his rival poet Homer. Others credit Bias of Priene, Thales, or Anaximander (a pupil of Thales). Other traditions claim the mythic bard Orpheus as Pythagoras's teacher, thus representing the Orphic Mysteries. The Neoplatonists wrote of a "sacred discourse" Pythagoras had written on the gods in the Doric Greek dialect, which they believed had been dictated to Pythagoras by the Orphic priest Aglaophamus upon his initiation to the orphic Mysteries at Leibethra. Iamblichus credited Orpheus with having been the model for Pythagoras's manner of speech, his spiritual attitude, and his manner of worship. Iamblichus describes Pythagoreanism as a synthesis of everything Pythagoras had learned from Orpheus, from the Egyptian priests, from the Eleusinian Mysteries, and from other religious and philosophical traditions. Contradicting all these reports, the novelist Antonius Diogenes, writing in the second century BC, reports that Pythagoras discovered all his doctrines himself by interpreting dreams. Riedweg states that, although these stories are fanciful, Pythagoras's teachings were definitely influenced by Orphism to a noteworthy extent.

Of the various Greek sages claimed to have taught Pythagoras, Pherecydes of Syros is mentioned most often. Similar miracle stories were told about both Pythagoras and Pherecydes, including one in which the hero predicts a shipwreck, one in which he predicts the conquest of Messina, and one in which he drinks from a well and predicts an earthquake. Apollonius Paradoxographus, a paradoxographer who may have lived in the second century BC, identified Pythagoras's thaumaturgic ideas as a result of Pherecydes's influence. Another story, which may be traced to the Neopythagorean philosopher Nicomachus, tells that, when Pherecydes was old and dying on the island of Delos, Pythagoras returned to care for him and pay his respects. Duris, the historian and tyrant of Samos, is reported to have patriotically boasted of an epitaph supposedly penned by Pherecydes which declared that Pythagoras's wisdom exceeded his own. On the grounds of all these references connecting Pythagoras with Pherecydes, Riedweg concludes that there may well be some historical foundation to the tradition that Pherecydes was Pythagoras's teacher. Pythagoras and Pherecydes also appear to have shared similar views on the soul and the teaching of metempsychosis.

In Croton

Porphyry repeats an account from Antiphon, who reported that, while he was still on Samos, Pythagoras founded a school known as the "semicircle". Here, Samians debated matters of public concern. Supposedly, the school became so renowned that the brightest minds in all of Greece came to Samos to hear Pythagoras teach. Pythagoras himself dwelled in a secret cave, where he studied in private and occasionally held discourses with a few of his close friends. Christoph Riedweg, a German scholar of early Pythagoreanism, states that it is entirely possible Pythagoras may have taught on Samos, but cautions that Antiphon's account, which makes reference to a specific building that was still in use during his own time, appears to be motivated by Samian patriotic interest.

Around 530 BC, when Pythagoras was about forty years old, he left Samos. His later admirers claimed that he left because he disagreed with the tyranny of Polycrates in Samos; Riedweg notes that this explanation closely aligns with Nicomachus's emphasis on Pythagoras's purported love of freedom, but that Pythagoras's enemies portrayed him as having a proclivity towards tyranny. Other accounts claim that Pythagoras left Samos because he was so overburdened with public duties in Samos, because of the high estimation in which he was held by his fellow-citizens. He arrived in the Greek colony of Croton (today's Crotone, in Calabria) in what was then Magna Graecia. All sources agree that Pythagoras was charismatic and quickly acquired great political influence in his new environment. He served as an advisor to the elites in Croton and gave them frequent advice. Later biographers tell fantastical stories of the effects of his eloquent speeches in leading the people of Croton to abandon their luxurious and corrupt way of life and devote themselves to the purer system which he came to introduce.

Family and friends

Suda writes that Pythagoras had 4 children (Telauges, Mnesarchus, Myia and Arignote). The wrestler Milo of Croton was said to have been a close associate of Pythagoras and was credited with having saved the philosopher's life when a roof was about to collapse. This association may have been the result of confusion with a different man named Pythagoras, who was an athletics trainer.

Death

Pythagoras's emphasis on dedication and asceticism are credited with aiding in Croton's decisive victory over the neighboring colony of Sybaris in 510 BC. After the victory, some prominent citizens of Croton proposed a democratic constitution, which the Pythagoreans rejected. The supporters of democracy, headed by Cylon and Ninon, the former of whom is said to have been irritated by his exclusion from Pythagoras's brotherhood, roused the populace against them. Followers of Cylon and Ninon attacked the Pythagoreans during one of their meetings, either in the house of Milo or in some other meeting-place. Accounts of the attack are often contradictory and many probably confused it with the later anti-Pythagorean rebellions, such as the one in Metapontum in 454 BC. The building was apparently set on fire, and many of the assembled members perished; only the younger and more active members managed to escape.

Sources disagree regarding whether Pythagoras was present when the attack occurred and, if he was, whether or not he managed to escape. In some accounts, Pythagoras was not at the meeting when the Pythagoreans were attacked because he was on Delos tending to the dying Pherecydes. According to another account from Dicaearchus, Pythagoras was at the meeting and managed to escape, leading a small group of followers to the nearby city of Locris, where they pleaded for sanctuary, but were denied. They reached the city of Metapontum, where they took shelter in the temple of the Muses and died there of starvation after forty days without food. Another tale recorded by Porphyry claims that, as Pythagoras's enemies were burning the house, his devoted students laid down on the ground to make a path for him to escape by walking over their bodies across the flames like a bridge. Pythagoras managed to escape, but was so despondent at the deaths of his beloved students that he committed suicide. A different legend reported by both Diogenes Laërtius and Iamblichus states that Pythagoras almost managed to escape, but that he came to a fava bean field and refused to run through it, since doing so would violate his teachings, so he stopped instead and was killed. This story seems to have originated from the writer Neanthes, who told it about later Pythagoreans, not about Pythagoras himself.

Teachings

Metempsychosis

Although the exact details of Pythagoras's teachings are uncertain, it is possible to reconstruct a general outline of his main ideas. Aristotle writes at length about the teachings of the Pythagoreans, but without mentioning Pythagoras directly. One of Pythagoras's main doctrines appears to have been metempsychosis, the belief that all souls are immortal and that, after death, a soul is transferred into a new body. This teaching is referenced by Xenophanes, Ion of Chios, and Herodotus. The earliest source on Pythagoras's metempsychosis is a satirical poem probably written after his death by the Greek philosopher Xenophanes of Colophon (c. 570 – c. 478 BC), who had been one of his contemporaries, in which Xenophanes describes Pythagoras interceding on behalf of a dog that is being beaten, professing to recognize in its cries the voice of a departed friend. Nothing whatsoever, however, is known about the nature or mechanism by which Pythagoras believed metempsychosis to occur.

Empedocles alludes in one of his poems that Pythagoras may have claimed to possess the ability to recall his former incarnations. Diogenes Laërtius reports an account from Heraclides Ponticus that Pythagoras told people that he had lived four previous lives that he could remember in detail. The first of these lives was as Aethalides the son of Hermes, who granted him the ability to remember all his past incarnations. Next, he was incarnated as Euphorbus, a minor hero from the Trojan War briefly mentioned in the Iliad. He then became the philosopher Hermotimus, who recognized the shield of Euphorbus in the temple of Apollo. His final incarnation was as Pyrrhus, a fisherman from Delos. One of his past lives, as reported by Dicaearchus, was as a beautiful courtesan.

Numerology

Diagram showing the tetractys, an equilateral triangle made up of ten dots, with one dot in the top row, two in the second, three in the third, and four in the bottom.
Pythagoras is credited with having devised the tetractys, an important sacred symbol in later Pythagoreanism.

Another belief attributed to Pythagoras was that of the "harmony of the spheres", which maintained that the planets and stars move according to mathematical equations, which correspond to musical notes and thus produce an inaudible symphony. According to Porphyry, Pythagoras taught that the seven Muses were actually the seven planets singing together.

The so-called Pythagoreans applied themselves to mathematics, and were the first to develop this science; and through studying it they came to believe that its principles are the principles of everything.

— Aristot. Met. 1, 985b

Modern scholars typically ascribe these discoveries to the later Pythagorean philosopher Philolaus of Croton (c. 470 – c. 385 BC), whose extant fragments are the earliest texts to describe the numerological and musical theories that were later ascribed to Pythagoras. In his landmark study Lore and Science in Ancient Pythagoreanism, Walter Burkert argues that Pythagoras was a charismatic political and religious teacher, but that the number philosophy attributed to him was really an innovation by Philolaus. According to Burkert, Pythagoras never dealt with numbers at all, let alone made any noteworthy contribution to mathematics. Burkert argues that the only mathematics the Pythagoreans ever actually engaged in was simple, proofless arithmetic, but that these arithmetic discoveries did contribute significantly to the beginnings of mathematics. For the later Pythagoreans, Pythagoras was credited with devising the tetractys, the triangular figure of four rows which add up to the "perfect" number, ten. The Pythagoreans regarded the tetractys as a symbol of utmost mystical importance. Iamblichus, in his Life of Pythagoras, states that the tetractys was "so admirable, and so divinised by those who understood [it]," that Pythagoras's students would swear oaths by it.

This shouldn't be confused with a simplified version known today as "Pythagorean numerology", involving a variant of an isopsephic technique known – among other names – as pythmenes 'roots' or 'base numbers', by means of which the base values of letters in a word were mathematically reduced by addition or division, in order to obtain a single value from one to nine for the whole name or word.

Pythagoreanism

Communal lifestyle

Painting showing a group of people dressed in white classical garb standing at the edge of a cliff overlooking the sea watching as the sun rises. The central figure, probably Pythagoras himself, is turned away from our view towards the sunrise. He has long braids and his long beard is partially visible from the side. Both of his arms are raised into the air. The three men closest to him, two on his left and one on his right, are kneeling and making frantic gestures, possibly weeping. Behind them, an older man plays a harp and two women play lyres. A young man without a beard and an middle-aged man with a beard play lyres as well, while another young man plays the aulos. A man in the foreground at the back of the group kneels prayerfully towards the sunrise. In the background, at the far left side of the painting, a woman, a girl, a boy, and a young, naked child watch the Pythagoreans. The woman and the girl are carrying pots, indicating they have been fetching water.
Pythagoreans Celebrate the Sunrise (1869) by Fyodor Bronnikov

Both Plato and Isocrates state that, above all else, Pythagoras was known as the founder of a new way of life. The organization Pythagoras founded at Croton was called a "school", but, in many ways, resembled a monastery. The adherents were bound by a vow to Pythagoras and each other, for the purpose of pursuing the religious and ascetic observances, and of studying his religious and philosophical theories. The members of the sect shared all their possessions in common and were devoted to each other to the exclusion of outsiders. Ancient sources record that the Pythagoreans ate meals in common after the manner of the Spartans. One Pythagorean maxim was "koinà tà phílōn" ("All things in common among friends"). Both Iamblichus and Porphyry provide detailed accounts of the organization of the school, although the primary interest of both writers is not historical accuracy, but rather to present Pythagoras as a divine figure, sent by the gods to benefit mankind. Iamblichus, in particular, presents the "Pythagorean Way of Life" as a pagan alternative to the Christian monastic communities of his own time. For Pythagoreans, the highest reward humans could attain was for their soul to join in the life of the gods and thus escape the cycle of reincarnation. Two groups existed within early Pythagoreanism: the mathematikoi ("learners") and the akousmatikoi ("listeners"). The akousmatikoi are traditionally identified by scholars as "old believers" in mysticism, numerology, and religious teachings; whereas the mathematikoi are traditionally identified as a more intellectual, modernist faction who were more rationalist and scientific. Gregory cautions that there was probably not a sharp distinction between them and that many Pythagoreans probably believed the two approaches were compatible. The study of mathematics and music may have been connected to the worship of Apollo. The Pythagoreans believed that music was a purification for the soul, just as medicine was a purification for the body. One anecdote of Pythagoras reports that when he encountered some drunken youths trying to break into the home of a virtuous woman, he sang a solemn tune with long spondees and the boys' "raging willfulness" was quelled. The Pythagoreans also placed particular emphasis on the importance of physical exercise; therapeutic dancing, daily morning walks along scenic routes, and athletics were major components of the Pythagorean lifestyle. Moments of contemplation at the beginning and end of each day were also advised.

Prohibitions and regulations

Old manuscript illustration showing a cloaked and hooded man labelled "Pythagoras" raising his arms and turning his face away from a fava bean plant, labelled "Fabe."
French manuscript from 1512/1514, showing Pythagoras turning his face away from fava beans in revulsion

Pythagorean teachings were known as "symbols" (symbola) and members took a vow of silence that they would not reveal these symbols to non-members. Those who did not obey the laws of the community were expelled and the remaining members would erect tombstones for them as though they had died. A number of "oral sayings" (akoúsmata) attributed to Pythagoras have survived, dealing with how members of the Pythagorean community should perform sacrifices, how they should honor the gods, how they should "move from here", and how they should be buried. Many of these sayings emphasize the importance of ritual purity and avoiding defilement. Other extant oral sayings forbid Pythagoreans from breaking bread, poking fires with swords, or picking up crumbs and teach that a person should always put the right sandal on before the left. The exact meanings of these sayings, however, are frequently obscure. Iamblichus preserves Aristotle's descriptions of the original, ritualistic intentions behind a few of these sayings, but these apparently later fell out of fashion, because Porphyry provides markedly different ethical-philosophical interpretations of them:

Pythagorean saying Original ritual purpose according to Aristotle/Iamblichus Porphyry's philosophical interpretation
"Do not take roads traveled by the public." "Fear of being defiled by the impure" "with this he forbade following the opinions of the masses, yet to follow the ones of the few and the educated".
"and [do] not wear images of the gods on rings" "Fear of defiling them by wearing them." "One should not have the teaching and knowledge of the gods quickly at hand and visible [for everyone], nor communicate them to the masses."
"and pour libations for the gods from a drinking cup's handle [the 'ear']" "Efforts to keep the divine and the human strictly separate" "thereby he enigmatically hints that the gods should be honored and praised with music; for it goes through the ears".

New initiates were allegedly not permitted to meet Pythagoras until after they had completed a five-year initiation period, during which they were required to remain silent. Sources indicate that Pythagoras himself was unusually progressive in his attitudes towards women and female members of Pythagoras's school appear to have played an active role in its operations. Iamblichus provides a list of 235 famous Pythagoreans, seventeen of whom are women. In later times, many prominent female philosophers contributed to the development of Neopythagoreanism.

Pythagoreanism also entailed a number of dietary prohibitions. It is more or less agreed that Pythagoras issued a prohibition against the consumption of fava beans and the meat of non-sacrificial animals such as fish and poultry. Both of these assumptions, however, have been contradicted. Pythagorean dietary restrictions may have been motivated by belief in the doctrine of metempsychosis; alternatively, they may be based on the genetic prevalence of favism, a type of enzyme deficiency anemia, in the Mediterranean. Some ancient writers present Pythagoras as enforcing a strictly vegetarian diet. Eudoxus of Cnidus, a student of Archytas, writes, "Pythagoras was distinguished by such purity and so avoided killing and killers that he not only abstained from animal foods, but even kept his distance from cooks and hunters." Other authorities contradict this statement. According to Aristoxenus, Pythagoras allowed the use of all kinds of animal food except the flesh of oxen used for ploughing, and rams. According to Heraclides Ponticus, Pythagoras ate the meat from sacrifices and established a diet for athletes dependent on meat.

Legends

Within his own lifetime, Pythagoras was already the subject of elaborate hagiographic legends. Aristotle described Pythagoras as a wonder-worker and somewhat of a supernatural figure. In a fragment, Aristotle writes that Pythagoras had a golden thigh, which he publicly exhibited at the Olympic Games and showed to Abaris the Hyperborean as proof of his identity as the "Hyperborean Apollo". Supposedly, the priest of Apollo gave Pythagoras a magic arrow, which he used to fly over long distances and perform ritual purifications. He was supposedly once seen at both Metapontum and Croton at the same time. When Pythagoras crossed the river Kosas (the modern-day Basento), "several witnesses" reported that they heard it greet him by name. In Roman times, a legend claimed that Pythagoras was the son of Apollo.

Pythagoras was said to have dressed all in white. He is also said to have borne a golden wreath atop his head and to have worn trousers after the fashion of the Thracians. Pythagoras was said to have had extraordinary success in dealing with animals. A fragment from Aristotle records that, when a deadly snake bit Pythagoras, he bit it back and killed it. Both Porphyry and Iamblichus report that Pythagoras once persuaded a bull not to eat fava beans and that he once convinced a notoriously destructive bear to swear that it would never harm a living thing again, and that the bear kept its word. Riedweg suggests that Pythagoras may have personally encouraged these legends, but Gregory states that there is no direct evidence of this.

Attributed discoveries

In mathematics

Diagram illustrating the Pythagorean theorem
The Pythagorean theorem: The sum of the areas of the two squares on the legs (a and b) equals the area of the square on the hypotenuse (c).

Although Pythagoras is most famous today for his alleged mathematical discoveries, classical historians dispute whether he himself ever actually made any significant contributions to the field. Many mathematical and scientific discoveries were attributed to Pythagoras, including his famous theorem, as well as discoveries in the fields of musicastronomy, and medicine. Since at least the first century BC, Pythagoras has commonly been given credit for discovering the Pythagorean theorem, a theorem in geometry that states that "in a right-angled triangle the square of the hypotenuse is equal [to the sum of] the squares of the two other sides"—that is, . According to a popular legend, after he discovered this theorem, Pythagoras sacrificed an ox, or possibly even a whole hecatomb, to the gods. Cicero rejected this story as spurious because of the much more widely held belief that Pythagoras forbade blood sacrifices. Porphyry attempted to explain the story by asserting that the ox was actually made of dough.

The Pythagorean theorem was known and used by the Babylonians and Indians centuries before Pythagoras, and Burkert rejects the suggestion that Pythagoras had anything to do with it, noting that Pythagoras was never credited with having proved any theorem in antiquity. Furthermore, the manner in which the Babylonians employed Pythagorean numbers implies that they knew that the principle was generally applicable, and knew some kind of proof, which has not yet been found in the (still largely unpublished) cuneiform sources.

In music

Woodcut showing four scenes. In the upper right scene, blacksmiths are pounding with hammers. In the upper left scene, a man labelled "Pitagora" is shown playing different-sized bells and glasses with different amounts of liquid in them. Both the bells and glasses are labelled. In the bottom left scene, "Pitagora" is striking chords of different length laid out across a table, once again, all of which have numbers labels. In the bottom right scene, "Pitagora" and another man labeled "Phylolavs" are shown playing auloi.
Late medieval woodcut from Franchino Gafurio's Theoria musice (1492), showing Pythagoras with bells and other instruments in Pythagorean tuning

According to legend, Pythagoras discovered that musical notes could be translated into mathematical equations when he passed blacksmiths at work one day and heard the sound of their hammers clanging against the anvils. Thinking that the sounds of the hammers were beautiful and harmonious, except for one, he rushed into the blacksmith shop and began testing the hammers. He then realized that the tune played when the hammer struck was directly proportional to the size of the hammer and therefore concluded that music was mathematical.

In astronomy

In ancient times, Pythagoras and his contemporary Parmenides of Elea were both credited with having been the first to teach that the Earth was spherical, the first to divide the globe into five climatic zones, and the first to identify the morning star and the evening star as the same celestial object (now known as Venus). Of the two philosophers, Parmenides has a much stronger claim to having been the first and the attribution of these discoveries to Pythagoras seems to have possibly originated from a pseudepigraphal poem. Empedocles, who lived in Magna Graecia shortly after Pythagoras and Parmenides, knew that the earth was spherical. By the end of the fifth century BC, this fact was universally accepted among Greek intellectuals.

Later influence in antiquity

On Greek philosophy

Sizeable Pythagorean communities existed in Magna Graecia, Phlius, and Thebes during the early fourth century BC. Around the same time, the Pythagorean philosopher Archytas was highly influential on the politics of the city of Tarentum in Magna Graecia. According to later tradition, Archytas was elected as strategos ("general") seven times, even though others were prohibited from serving more than a year. Archytas was also a renowned mathematician and musician. He was a close friend of Plato and he is quoted in Plato's Republic. Aristotle states that the philosophy of Plato was heavily dependent on the teachings of the Pythagoreans. Cicero repeats this statement, remarking that Platonem ferunt didicisse Pythagorea omnia ("They say Plato learned all things Pythagorean"). According to Charles H. Kahn, Plato's middle dialogues, including Meno, Phaedo, and The Republic, have a strong "Pythagorean coloring", and his last few dialogues (particularly Philebus and Timaeus) are extremely Pythagorean in character.

The poet Heraclitus of Ephesus (fl.c. 500 BC), who was born a few miles across the sea from Samos and may have lived within Pythagoras's lifetime, mocked Pythagoras as a clever charlatan, remarking that "Pythagoras, son of Mnesarchus, practiced inquiry more than any other man, and selecting from these writings he manufactured a wisdom for himself—much learning, artful knavery." Alcmaeon of Croton (fl.c. 450 BC), a doctor who lived in Croton at around the same time Pythagoras lived there, incorporates many Pythagorean teachings into his writings and alludes to having possibly known Pythagoras personally. The Greek poets Ion of Chios (c. 480 – c. 421 BC) and Empedocles of Acragas (c. 493 – c. 432 BC) both express admiration for Pythagoras in their poems.

According to R. M. Hare, Plato's Republic may be partially based on the "tightly organised community of like-minded thinkers" established by Pythagoras at Croton. Additionally, Plato may have borrowed from Pythagoras the idea that mathematics and abstract thought are a secure basis for philosophy, science, and morality. Plato and Pythagoras shared a "mystical approach to the soul and its place in the material world" and both were probably influenced by Orphism. The historian of philosophy Frederick Copleston states that Plato probably borrowed his tripartite theory of the soul from the Pythagoreans.

A revival of Pythagorean teachings occurred in the first century BC when Middle Platonist philosophers such as Eudorus and Philo of Alexandria hailed the rise of a "new" Pythagoreanism in Alexandria. At around the same time, Neopythagoreanism became prominent. The first-century AD philosopher Apollonius of Tyana sought to emulate Pythagoras and live by Pythagorean teachings. The later first-century Neopythagorean philosopher Moderatus of Gades expanded on Pythagorean number philosophy and probably understood the soul as a "kind of mathematical harmony". The Neopythagorean mathematician and musicologist Nicomachus likewise expanded on Pythagorean numerology and music theory. Numenius of Apamea interpreted Plato's teachings in light of Pythagorean doctrines.

On art and architecture

Painting showing a massive room with a high, domed ceiling. A hole is open at the top of the dome. Columns and statues line the walls.
Hadrian's Pantheon in Rome, depicted in this eighteenth-century painting by Giovanni Paolo Panini, was built according to Pythagorean teachings.

The oldest known building designed according to Pythagorean teachings is the Porta Maggiore Basilica, a subterranean basilica which was built during the reign of the Roman emperor Nero as a secret place of worship for Pythagoreans. The basilica was built underground because of the Pythagorean emphasis on secrecy and also because of the legend that Pythagoras had sequestered himself in a cave on Samos. The basilica's apse is in the east and its atrium in the west out of respect for the rising sun. It has a narrow entrance leading to a small pool where the initiates could purify themselves. The building is also designed according to Pythagorean numerology, with each table in the sanctuary providing seats for seven people. Three aisles lead to a single altar, symbolizing the three parts of the soul approaching the unity of Apollo. The apse depicts a scene of the poet Sappho leaping off the Leucadian cliffs, clutching her lyre to her breast, while Apollo stands beneath her, extending his right hand in a gesture of protection, symbolizing Pythagorean teachings about the immortality of the soul. The interior of the sanctuary is almost entirely white because the color white was regarded by Pythagoreans as sacred.

The emperor Hadrian's Pantheon in Rome was also built based on Pythagorean numerology. The temple's circular plan, central axis, hemispherical dome, and alignment with the four cardinal directions symbolize Pythagorean views on the order of the universe. The single oculus at the top of the dome symbolizes the monad and the sun-god Apollo. The twenty-eight ribs extending from the oculus symbolize the moon, because twenty-eight was the same number of months on the Pythagorean lunar calendar. The five coffered rings beneath the ribs represent the marriage of the sun and moon.

In early Christianity

Many early Christians had a deep respect for Pythagoras. Eusebius (c. 260 – c. 340 AD), bishop of Caesarea, praises Pythagoras in his Against Hierokles for his rule of silence, his frugality, his "extraordinary" morality, and his wise teachings. In another work, Eusebius compares Pythagoras to Moses. In one of his letters, the Church Father Jerome (c. 347 – c. 420 AD) praises Pythagoras for his wisdom and, in another letter, he credits Pythagoras for his belief in the immortality of the soul, which he suggests Christians inherited from him. Augustine of Hippo (354–430 AD) rejected Pythagoras's teaching of metempsychosis without explicitly naming him, but otherwise expressed admiration for him. In On the Trinity, Augustine lauds the fact that Pythagoras was humble enough to call himself a philosophos or "lover of wisdom" rather than a "sage". In another passage, Augustine defends Pythagoras's reputation, arguing that Pythagoras certainly never taught the doctrine of metempsychosis.

Influence after antiquity

In the Middle Ages

Medieval carving of a man with long hair and a long beard hunched over a musical instrument he is working on
Pythagoras appears in a relief sculpture on one of the archivolts over the right door of the west portal at Chartres Cathedral.

During the Middle Ages, Pythagoras was revered as the founder of mathematics and music, two of the Seven Liberal Arts. He appears in numerous medieval depictions, in illuminated manuscripts and in the relief sculptures on the portal of the Cathedral of Chartres. The Timaeus was the only dialogue of Plato to survive in Latin translation in western Europe, which led William of Conches (c. 1080–1160) to declare that Plato was Pythagorean. A large-scale translation movement emerged during the Abbasid Caliphate, translating many Greek texts into Arabic. Works ascribed to Pythagoras included the "Golden Verses" and snippets of his scientific and mathematical theories. By translating and disseminating Pythagorean texts, Islamic scholars ensured their survival and wider accessibility. This preserved knowledge that might have otherwise been lost through the decline of the Roman Empire and the neglect of classical learning in Europe. In the 1430s, the Camaldolese friar Ambrose Traversari translated Diogenes Laërtius's Lives and Opinions of Eminent Philosophers from Greek into Latin and, in the 1460s, the philosopher Marsilio Ficino translated Porphyry and Iamblichus's Lives of Pythagoras into Latin as well, thereby allowing them to be read and studied by western scholars. In 1494, the Greek Neopythagorean scholar Constantine Lascaris published The Golden Verses of Pythagoras, translated into Latin, with a printed edition of his Grammatica, thereby bringing them to a widespread audience. In 1499, he published the first Renaissance biography of Pythagoras in his work Vitae illustrium philosophorum siculorum et calabrorum, issued in Messina.

On modern science

In his preface to his book On the Revolution of the Heavenly Spheres (1543), Nicolaus Copernicus cites various Pythagoreans as the most important influences on the development of his heliocentric model of the universe, deliberately omitting mention of Aristarchus of Samos, a non-Pythagorean astronomer who had developed a fully heliocentric model in the fourth century BC, in effort to portray his model as fundamentally Pythagorean. Johannes Kepler considered himself to be a Pythagorean. He believed in the Pythagorean doctrine of musica universalis and it was his search for the mathematical equations behind this doctrine that led to his discovery of the laws of planetary motion. Kepler titled his book on the subject Harmonices Mundi (Harmonics of the World), after the Pythagorean teaching that had inspired him. He also called Pythagoras the "grandfather" of all Copernicans.

Albert Einstein believed that a scientist may also be "a Platonist or a Pythagorean insofar as he considers the viewpoint of logical simplicity as an indispensable and effective tool of his research." The English philosopher Alfred North Whitehead argued that "In a sense, Plato and Pythagoras stand nearer to modern physical science than does Aristotle. The two former were mathematicians, whereas Aristotle was the son of a doctor". By this measure, Whitehead declared that Einstein and other modern scientists like him are "following the pure Pythagorean tradition."

On vegetarianism

Painting showing Pythagoras on the far left quizzically stroking his beard as he gazes upon a massive pile of fruits and vegetables. Two followers stand behind him, fully clothed. A man with a greying beard sits at the base of a tree gesturing to the pile of produce. Next to him, a fleshy, nude woman with blonde hair plucks fruits from it. Slightly behind her, two other women, one partially clothed and the other nude but obscured by the tree branch, are also plucking fruits. At the far right end of the painting, two nude, faun-like men with beards and pointed ears hurl more fruits upon the pile.
Pythagoras Advocating Vegetarianism (1618–1630) by Peter Paul Rubens was inspired by Pythagoras's speech in Ovid's Metamorphoses. The painting portrays the Pythagoreans with corpulent bodies, indicating a belief that vegetarianism was healthful and nutritious.

A fictionalized portrayal of Pythagoras appears in Book XV of Ovid's Metamorphoses, in which he delivers a speech imploring his followers to adhere to a strictly vegetarian diet. It was through Arthur Golding's 1567 English translation of Ovid's Metamorphoses that Pythagoras was best known to English-speakers throughout the early modern period. John Donne's Progress of the Soul discusses the implications of the doctrines expounded in the speech, and Michel de Montaigne quoted the speech no less than three times in his treatise "Of Cruelty" to voice his moral objections against the mistreatment of animals. John Dryden included a translation of the scene with Pythagoras in his 1700 work Fables, Ancient and Modern, and John Gay's 1726 fable "Pythagoras and the Countryman" reiterates its major themes, linking carnivorism with tyranny. Lord Chesterfield records that his conversion to vegetarianism had been motivated by reading Pythagoras's speech in Ovid's Metamorphoses. Until the word vegetarianism was coined in the 1840s, vegetarians were referred to in English as "Pythagoreans".

On Western esotericism

Early modern European esotericism drew heavily on the teachings of Pythagoras. The German humanist scholar Johannes Reuchlin (1455–1522) synthesized Pythagoreanism with Christian theology and Jewish Kabbalah, arguing that Kabbalah and Pythagoreanism were both inspired by Mosaic tradition and that Pythagoras was therefore a kabbalist. In his dialogue De verbo mirifico (1494), Reuchlin compared the Pythagorean tetractys to the ineffable divine name YHWH, ascribing each of the four letters of the tetragrammaton a symbolic meaning according to Pythagorean mystical teachings.

Heinrich Cornelius Agrippa's popular and influential three-volume treatise De Occulta Philosophia cites Pythagoras as a "religious magi" and advances the idea that Pythagoras's mystical numerology operates on a supercelestial level, a religious term used to describe a high heavenly realm used during his time. The freemasons deliberately modeled their society on the community founded by Pythagoras at Croton. Rosicrucianism used Pythagorean symbolism, as did Robert Fludd (1574–1637), who believed his own musical writings to have been inspired by Pythagoras. John Dee was heavily influenced by Pythagorean ideology, particularly the teaching that all things are made of numbers.

On literature

The Transcendentalists read the ancient Lives of Pythagoras as guides on how to live a model life. Henry David Thoreau was impacted by Thomas Taylor's translations of Iamblichus's Life of Pythagoras and Stobaeus's Pythagoric Sayings and his views on nature may have been influenced by the Pythagorean idea of images corresponding to archetypes. The Pythagorean teaching of musica universalis is a recurring theme throughout Thoreau's magnum opus, Walden.

Women in computing

From Wikipedia, the free encyclopedia https://en.wikipedia.org/wiki/Women_in_computing   Women in computing were amon...