Citrine Roadmap
Planned for 2025:
- Export to Android, Linux and Windows
- Improved networking
- Improved editor and demos
- Demo Game
Later:
- Export to SteamOS, Web, iOS, PS2, Nintendo Switch, XBox
- Scrolling, Multi-screen, Math/bit-functions
- Multiplayer
- Simple database
- 3D-game support
- FFI
- Cryptography
Changelog
2024 Citrine 0.9.6 - South Park
- Media Plugin (Graphics, Sound, Controller, Networking)
- Basic editor
- 6 Demo Programs
2023 Citrine 0.9.5 - Sorghvliet
- New testing system: Test-o-mat, entirely written in Citrine
- Improved portability: new binaries for Windows 32/64-bit and macOS
- Added new language: Citrine/YAK (Yakut)
- Improved all translations
- Reflection API
- String minus to remove substring from the end
- Alias Map contains/has
- Fixed Dutch time notation
- Fixed warning chdir/getcwd() return values
- Fixed reset tracked memory data after ending program
- Improved performance of string-to-code
- Allow users to unset/Nil environment vars (portable way)
- Fixed plugin loader for Windows
- Fixed null pointer check in ctr_heap_reallocate()
- Fixed constraint check in ctr_array_fill()
- Fixed minimum size for pools
- Added core test for parser
- Added core test for memory allocator
- Code clean-up
2022 Citrine 0.9.4 - Koekamp
- Localized commas (Arabic comma)
- Localized colons (Armenian)
- Add lozenge/fat arrow to macro package as replacement marker
- Improved readme & scripts - thanks Tirifto!
- Papiamento Language (Citrine/PAP)
- Performance improvements
- Password input
- Add support for Haiku
- AST-Export
2021 Citrine 0.9.3 - Solleveld
- Localized quotes like ‘’ and “ ”
- Quote counting, no need to escape quotes
- Localized numbers like 1,234.56
- Single character keyword messages: (+: is now also allowed)
- Automatic recursion detection/prevention
- Platform independent file paths/commands
- Brazillian Portugese language (Citrine/PT_BR)
2020 Citrine 0.9.2 - Wapendal
- Support for 109 human languages
- 1-based Array Indexing
- Improved object system
2019 Citrine 0.9.1 - Van Leydenhof
- Romanian language support (Citrine/RO)
- Lithuanian language support (Citrine/LT)
- Hindi language support (Citrine/HI)
- Remove low-level functions
2016 Citrine 0.7
- Turn Citrine into a localized programming language
- Create Citrine Code Translator
- Publish first open source version of Citrine
History
Around 2009/2010 I started a project called PenelopePHP. The purpose of this project was to make PHP code more readable by adding wrapper objects. The project tried to turn PHP into a Smalltalk-like programming language. In 2012 I decided to make the project more generic, rewriting it as a classic interpreter in C. Because of the JavaScript hype, I did another rewrite to turn the system into a JavaScript transpiler. Those projects were called DinkyScript. In 2014/2015 I decided to plan a major rewrite of the system again in C using an AST-parser instead of a classic parser. In 2016 I released the first official version of Citrine.
Inspiration
The inspiration for the Citrine Programming Language comes from Smalltalk (message-based, pure object oriented programming), JavaScript (prototypal inheritance), and BASIC (dynamic scope). The name Citrine refers to the yellow coloured gem and honours the short lived tradition to name programming languages after shiny minerals like Pe(a)rl and Ruby.
News Archive
English PDF book now available
XMAS Demo 2023
Dutch PDF book now available
Citrine/UZ Update
Roadmap 2024: Media plugin
Pre-order the Citrine Book!
French homepage! (thanks Mario Périard)
Translation Kit Update
Citrine 0.9.5 Sorghvliet released!
Citrine included in Tiobe Index
New Windows & Mac Binaries
Citrine Python Extensions (Preview)
Citrine/YAK available!
Conference Presentation 2022
Roadmap 0.9.5
EU Partner Database
Citrine/RU Update
0.9.4 Koekamp
0.9.3 Solleveld
0.9.2 Wapendal
0.9.1 Van Leydenhof
Citrine 0.8
Citrine 0.7
Citrine 0.6