This section of our web guide on computer programming languages will focus on Citrine, a general-purpose language for cross-platform operating systems.
Designed and developed by Gabor de Mooij and Aavesh Jilani, the language first appeared in 2014, and as of this writing, it is still under active development, with a new release on January 5, 2024, just over a month ago.
One of the goals of Citrine's developers was for it to be easy to read and maintain, and its minimalistic syntax contributes to this. Beginning with version 0.7, Citrine adopted a focus on supporting native human languages beyond just English, reducing bugs caused by language barriers.
Citrine drew inspiration from Smalltalk and Self. Like Smalltalk, it treats everything as an object and emphasizes sending messages to objects. Unlike Smalltalk, however, Citrine lacks the concept of classes. Its use of prototypes aligns somewhat with JavaScript, but the combination of Smalltalk-like messages and prototypes sets Citrine apart.
In Citrine, everything is an object; communication occurs by sending messages to these objects. Citrine's syntax closely resembles Smalltalk. It supports literals such as Nil, True, False, numbers, strings, and code blocks. Control flow is achieved through message passing. As an example, to check if 5 is even, you would send the message 5 even?. Citrine uses prototypes rather than classes; objects serve as prototypes for creating new ones. No special syntax is necessary with Citrine; just send a non-defined message to a string to replace specified words with arguments. Properties are accessible only within the object itself and its derivatives.
As a general-purpose language, Citrine can be used in several applications, including localization, educational tools, and rapid prototyping.
Citrine's native language support makes it ideal for creating localized applications and games; its simplicity makes it suitable for teaching programming concepts; and its minimalistic syntax allows for quick experimentation and prototyping.
In summary, Citrine's blend of Smalltalk-like messaging and prototype-based design sets it apart, making it a suitable language for exploration and creativity.
 
 
Recommended Resources
Citrine is a general-purpose programming language and a localized scripting language. The official website for the Citrine programming language introduces the official Citrine book, an extensive manual that is available in English and Dutch. Other resources include documentation for the language, and downloads of its various versions, access to changelogs, available as open-source software through the BSD License. An online store offers the book in PDF or paperback and a build service.
https://www.citrine-lang.org/
Citrine (Programming Language)
Featured on HandWiki, a wiki-based encyclopedia of articles related to computing, science, technology, and general knowledge, this sub-site features the Citrine programming language. Its designers, developers, dates, licensure, and influences are stated, along with a description of its features, syntax, control flow, pipelines, prototypes, Unicode, scoping, related languages, references, and external links. General information about HandWiki is also provided.
https://handwiki.org/wiki/Citrine_(programming_language)
The Programming Languages Network provides information and resources about various programming languages. Its section on Citrine offers an introduction to the language, its creation, features, programming paradigms, language types, and influences, as well as an Influence Network Poster, which connects Citrine with the languages that influenced it and others that may have been influenced by Citrine, including links to charts, indexes, and other resources.
https://programminglanguages.info/language/citrine/
This is the official GitHub repository for Citrine, a general-purpose, localized scripting language created by Gabor de Mooij, created to strike a balance between readability, maintainability, and simplicity. Available under the BSD-2-Clause license, the programming language, associated files, and documentation may be found here, including the source code, branches, tags, and forks. Contributors to the repository are identified, and pull requests may be viewed.
https://github.com/gabordemooij/citrine