Jump to content

TempleOS

From Wikipedia, the free encyclopedia

This is the current revision of this page, as edited by CommonsDelinker (talk | contribs) at 07:55, 4 November 2024 (Removing Holy_C_programming_language.png; it has been deleted from Commons by Túrelio because: Copyright violation: copyrighted picture per the source.). The present address (URL) is a permanent link to this version.

(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

TempleOS
TempleOS 5.03
DeveloperTerry A. Davis
Written inHoly C and x86 Assembly
Working stateFinished
Source modelOpen source
Initial release2005; 19 years ago (2005) (as J Operating System)
2013; 11 years ago (2013) (as TempleOS)
Latest release5.03 / November 20, 2017; 7 years ago (2017-11-20)
Platformsx64
Kernel typeMonolithic
UserlandUserCmdLine using HolyC,
Adam
Default
user interface
640x480 16 Color Graphics, specifically created for TempleOS
LicensePublic domain
Official websitetempleos.org

TempleOS (formerly J Operating System, LoseThos, and SparrowOS) is a biblical-themed lightweight operating system (OS) designed to be the Third Temple prophesied in the Bible. It was created by American programmer Terry A. Davis, who developed it alone over the course of a decade after a series of manic episodes that he later described as a revelation from God.

The system was characterized as a modern x86-64 Commodore 64, using an interface similar to a mixture of DOS and Turbo C. Davis proclaimed that the system's features, such as its 640x480 resolution, 16-color display, and single-voice audio, were designed according to explicit instructions from God.[1] It was programmed with an original variation of C/C++ (named HolyC) in place of BASIC, and included an original flight simulator, compiler, and kernel.

First released in 2005 as J Operating System, TempleOS was renamed in 2013 and was last updated in 2017.

Background

[edit]
Terry A. Davis

Programmer Terry A. Davis (1969–2018) began experiencing regular manic episodes in 1996, leading him to numerous stays at mental hospitals. Initially diagnosed with bipolar disorder, he was later declared schizophrenic and remained unemployed for the rest of his life.[1] He suffered from delusions of space aliens and government agents that left him briefly hospitalized for his mental health issues.[1][2] After experiencing a self-described "revelation", he proclaimed that he was in direct communication with God, and that God told him the operating system was for God's third temple.[1]

Davis began developing TempleOS circa 2003.[3] One of its early names was the "J Operating System" before renaming it to "LoseThos", a reference to a scene from the 1986 film Platoon.[1] In 2008, Davis wrote that LoseThos was "primarily for making video games. It has no networking or Internet support. As far as I'm concerned, that would be reinventing the wheel".[4] Another name he used was "SparrowOS" before settling on "TempleOS".[5] In mid-2013, his website announced: "God's temple is finished. Now, God kills CIA until it spreads [sic]."[6]

Davis died after being hit by a train on August 11, 2018.[7]

System overview

[edit]

TempleOS is a 64-bit, non-preemptive multi-tasking,[8] multi-cored, public domain, open source, ring-0-only, single address space, non-networked, PC operating system for recreational programming.[9] The OS runs 8-bit ASCII with graphics in source code and has a 2D and 3D graphics library, which run at 640x480 VGA with 16 colors.[5] Like most modern operating systems, it has keyboard and mouse support. It supports ISO 9660, FAT32 and RedSea file systems (the latter created by Davis) with support for file compression.[10] According to Davis, many of these specifications—such as the 640x480 resolution, 16-color display and single audio voice—were instructed to him by God. He explained that the limited resolution was to make it easier for children to draw illustrations for God.[1]

The operating system includes an original flight simulator, compiler, and kernel.[3] One bundled program, "After Egypt", is a game in which the player travels to a burning bush to use a "high-speed stopwatch". The stopwatch is meant to act as an oracle that generates pseudo-random text, something Davis likened to a Ouija board and glossolalia.[5] An example of generated text follows:

among consigned penally result perverseness checked stated held sensation reasonings skies adversity Dakota lip Suffer approached enact displacing feast Canst pearl doing alms comprehendeth nought[5]

TempleOS was written in a programming language developed by Davis as a middle ground between C and C++, originally called "C+" (C Plus), later renamed to "Holy C", possibly a reference to the Holy See.[5] It doubles as the shell language, enabling the writing and execution of entire applications from within the shell. The IDE that comes with TempleOS supports several features, such as embedding images in code. It uses a non-standard text format (known as DolDoc) which has support for hypertext links, images, and 3D meshes to be embedded into what are otherwise standard ASCII files; for example, a file can have a spinning 3D model of a tank as a comment in source code. Most code in the OS is JIT-compiled, and it is generally encouraged to use JIT compilation as opposed to creating binaries.[11][unreliable source?] Davis ultimately wrote over 100,000 lines of code for the OS.[3]

Holy C

[edit]
Holy C
The unofficial logo of Holy C
ParadigmImperative, Compiled
Designed byTerry A. Davis
OSTempleOS
WebsiteUnofficial HolyC language website
Influenced by
C, C++

Holy C (formerly C+) is a variant of the C and C++ programming Languages designed by Terry A. Davis[12] specifically for the TempleOS. It functions as both a general-purpose language for application development and a scripting language for automating tasks within TempleOS.[13]

Design and features

[edit]

Holy C shares similarities with C and C++ but incorporates distinct features:

  • Compilation and Performance: Holy C compiles directly to x86-64 assembly, offering potential performance benefits for tasks suited to low-level control.
  • Inline Assembly Integration: Holy C allows programmers to directly embed x86-64 assembly instructions within the source code, enabling fine-grained optimization for performance-critical sections.
  • Error Handling: The language prioritizes clear and human-readable error messages to aid debugging.
  • Standard Library: Holy C provides a set of libraries for common programming operations, including string manipulation, numerical calculations, and date handling.
  • Syntax and Flexibility: Compared to C, Holy C offers some syntactic variations and potentially greater flexibility in code structure.
  • C Compatibility: Holy C maintains a degree of compatibility with C code, allowing programmers to leverage existing C libraries and functions within a Holy C environment.[14]

Holy C's primary use case lies within the TempleOS ecosystem. Due to TempleOS's niche position, Holy C adoption remains limited outside of that specific operating system.[15]

However, some programmers find Holy C's unique features and its connection to TempleOS intriguing. Online resources exist for those interested in learning more about Holy C, including tutorials and a standalone compiler that facilitates experimentation independent of TempleOS.[16]

Critical reception

[edit]

TempleOS received mostly "sympathetic" reviews. Tech journalist David Cassel opined that "programming websites tried to find the necessary patience and understanding to accommodate Davis".[3] TechRepublic and OSNews published positive articles on Davis's work, even though Davis was banned from the latter for hostile comments targeting its readers and staff.[3] In his review for TechRepublic, James Sanders concluded that "TempleOS is a testament to the dedication and passion of one man displaying his technological prowess. It doesn't need to be anything more."[5] OSNews editor Kroc Camen wrote that the OS "shows that computing can still be a hobby; why is everybody so serious these days? If I want to code an OS that uses interpretive dance as the input method, I should be allowed to do so, companies like Apple be damned."[3] In 2017, the OS was shown as a part of an outsider art exhibition in Bourgogne, France.[17]

Legacy

[edit]

After Davis' death, OSNews editor Thom Holwerda wrote: "Davis was clearly a gifted programmer – writing an entire operating system is no small feat – and it was sad to see him affected by his mental illness".[18] One fan described Davis as a "programming legend", while another, a computer engineer, compared the development of TempleOS to a one-man-built skyscraper.[7] He added that it "actually boggles my mind that one man wrote all that" and that it was "hard for a layperson to understand what a phenomenal achievement" it is to write an entire operating system alone.[7]

TempleOS is in the public domain. Davis' family has wished for fans to donate to the National Alliance for Mental Illness and other organizations "working to ease the pain and suffering caused by mental illness".[6]

Forks

[edit]
  • ZealOS — The Zeal Operating System is a modernized fork of the 64-bit Temple Operating System.[19]
  • TinkerOS[20]
  • Shrine[21]

See also

[edit]

References

[edit]
  1. ^ a b c d e f Hicks, Jesse (November 25, 2014). "God's Lonely Programmer". VICE Motherboard. Archived from the original on May 3, 2015. Retrieved April 21, 2015.
  2. ^ Bruet-Ferréol, Quentin (May 13, 2014). "Temple OS, un système d'exploitation pour parler à Dieu codé par un fou génial". Slate.fr (in French). Archived from the original on December 21, 2014. Retrieved April 21, 2015.
  3. ^ a b c d e f Cassel, David (September 23, 2018). "The Troubled Legacy of Terry Davis, 'God's Lonely Programmer'". The New Stack. Archived from the original on September 28, 2018. Retrieved September 28, 2018.
  4. ^ Davis, Terry A. (2008). "The LoseThos IBM PC Operating System". LoseThos. Archived from the original on December 16, 2008. Retrieved July 18, 2021.
  5. ^ a b c d e f Sanders, James (January 21, 2014). "TempleOS: an educational tool for programming experiments". TechRepublic. Archived from the original on April 16, 2015. Retrieved April 21, 2015.
  6. ^ a b Davis, Terry A. (2013). "The Temple Operating System". TempleOS. Archived from the original on July 3, 2013. Retrieved April 22, 2015.
  7. ^ a b c Cecil, Neita (September 7, 2018). "Man killed by train had tech following". The Dalles Chronicle. Archived from the original on November 8, 2020. Retrieved November 24, 2020. (subscription required)
  8. ^ Davis, Terry A. (n.d.). "Scheduler". The TempleOS Source Code. Archived from the original on June 1, 2016. Retrieved June 16, 2018.
  9. ^ Mathieu, Bruno (November 28, 2014). "TempleOS : le système d'exploitation qui parle à Dieu" [TempleOs: The operating system that talks to God]. Tom's Guide (in French). Archived from the original on July 2, 2015. Retrieved April 21, 2015.
  10. ^ Davis, Terry A. (n.d.). "The Temple Operating System". www.templeos.org. Archived from the original on March 31, 2017. Retrieved March 30, 2017.
  11. ^ Mitton, Richard (June 8, 2015). "A Constructive Look At TempleOS". www.codersnotes.com. Archived from the original on March 26, 2017. Retrieved March 30, 2017.
  12. ^ "A Language Design Analysis of HolyC – Harrison Totty". harrison.totty.dev. Retrieved July 2, 2024.
  13. ^ "HolyC Lang". holyc-lang.com. Retrieved July 2, 2024.
  14. ^ K, Aryan (December 29, 2023). "HolyC: An Insane Hobby Project from an Insane Programmer". Ballad of SpaciousCoder78. Retrieved July 2, 2024.
  15. ^ Gómez, Ramiro. "HolyC Programming Language Information & Resources • programminglanguages.info". programminglanguages.info. Retrieved July 2, 2024.
  16. ^ "TempleOS". www.templeos.org. Retrieved July 2, 2024.
  17. ^ Godin, Philippe (January 13, 2017). "la Diagonale de l'art – ART BRUT 2.0". Libération (in French). Archived from the original on March 11, 2017. Retrieved March 22, 2021.
  18. ^ Holwerda, Thom (September 8, 2018). "Creator of TempleOS, Terry Davis, has passed away". OSNews. Archived from the original on January 17, 2019. Retrieved January 6, 2019.
  19. ^ "Zeal-Operating-System/ZealOS". github.com. October 6, 2024. Retrieved October 7, 2024.
  20. ^ tinkeros (September 27, 2024). "tinkeros/TinkerOS". github.com. Retrieved October 7, 2024.
  21. ^ "minexew/Shrine". github.com. September 30, 2024. Retrieved October 7, 2024.
[edit]