Content deleted Content added
Update latest release date |
Updated references |
||
Line 28:
}}
'''Pony''' (also referred to as '''ponylang''') is a [[Free software|free]] and [[open-source|open source]], object-oriented, [[actor model]], capabilities-secure, high performance programming language.{{Sfn|Allen|2024}}<ref name="hnoon">{{cite web |author=Alex Lashkov |date=26 July 2023 |title=The New Wave of Programming Languages: Pony, Zig, Crystal, Vlang, and Julia |url=https://hackernoon.com/the-new-wave-of-programming-languages-exploring-the-hidden-gems |access-date=24 December 2024 |website=Hackernoon}}</ref><ref name="adabeat">{{cite web | date=8 August 2024 |title=Introduction to Actor Model |url=https://adabeat.com/fp/introduction-to-actor-model/ |access-date=8 March 2025 |website=adabeat}}</ref> Pony's reference capabilities allow even mutable data to be safely passed ''by reference'' between actors. [[Garbage_collection_(computer_science)|Garbage collection]] is performed [[Concurrency_(computer_science)|concurrently]], per-actor, without the need to "stop the world".<ref name="orca">{{cite journal |author1=Sylvan Clebsch | author2=Juliana Franco | author3=Sophia Drossopoulou |date=12 October 2017 |title=Ownership and Reference Counting Based Garbage Collection in the Actor World |url=https://dl.acm.org/doi/10.1145/3133896 |access-date=24 December 2024 |journal=Proc. ACM Program. Lang.| volume=1 | issue=OOPSLA | pages=72:1–72:28 | doi=10.1145/3133896}}</ref><ref name="soc5">{{cite web | publisher=Society 5 Solutions | date=15 October 2024 |title=Introduction to the Pony Programming Language |url=https://www.linkedin.com/pulse/introduction-pony-programming-language-society-5-solutions-llc-s3ppf |access-date=28 December 2024 |website=LinkedIn}}</ref><ref name="dcpony">{{Cite web| author=Daniel Caccamo| year= 2018| title = GoA: Actors with Locally Managed Memory for Go| url= https://uwspace.uwaterloo.ca/bitstreams/b7bb2925-6bd6-49ab-a9b3-bc7581139529/download| access-date=28 December 2024 |website=UWSpace}}</ref> Sylvan Clebsch is the original creator of the language.<ref name="pfintech">{{cite web | author=Charles Humble |date=14 March 2016 |title=Using the Actor-model Language Pony for FinTec |url=https://www.infoq.com/news/2016/03/pony-fintech/ |access-date=24 December 2024 |website=InfoQ}}</ref><ref name="pqc2020">{{cite web |author=Sophia Drossopoulou |date=14 September 2020 |title=Pony, Actors, Causality, Types, and Garbage Collection |url=https://www.infoq.com/presentations/pony-types-garbage-collection/ |access-date=24 December 2024 |website=InfoQ}}</ref> It is now being maintained and developed by members of the Pony team.<ref>{{cite web |title=Team Pony | website=[[GitHub]] |url=https://github.com/orgs/ponylang/people |access-date=28 December 2024}}</ref>
==History==
Line 39:
* [[Memory safety]] - There are no dangling pointers and no buffer overruns. There is no null but optional types can be safely represented using unions with the None type.{{Sfn|Allen|2024}}<ref name="atpony">{{cite conference |author=Ankush Thakur |date=21 December 2024 | title=12 New Programming Languages You Should Know| url=https://geekflare.com/dev/new-programming-languages/| access-date=3 January 2025 |website=geekflare}}</ref>
* [[Exception safety]] - There are no runtime exceptions. All exceptions have defined semantics and are always caught.{{Sfn|MCStone|2023}}
* Concurrency Safety - The type system employs reference capabilities to ensure (at compile time) that there are no [[Race_condition|data races]] nor [[Deadlock_(computer_science)|deadlocks]].{{Sfn|Mölle|2017}}<ref name="ipony">{{cite web |author=Sean T Allen |date=30 May 2018 |title=Introduction to the Pony programming language |url=https://opensource.com/article/18/5/pony |access-date=28 December 2024 |website=opensource}}</ref><ref>{{cite conference |author1 = Sylvan Clebsch | author2 = Sophia Drossopoulou | author3 = Sebastian Blessing | title = Deny capabilities for safe, fast actors | book-title = AGERE! 2015: Proceedings of the 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control | date = October 2015 | pages = 1–12 | publisher = Association for Computing Machinery | ___location = Pittsburgh, PA, USA| isbn = 9781450339018 | doi = 10.1145/2824815.2824816 | editor = Elisa Gonzalez Boix, Philipp Haller, Alessandro Ricci, Carlos Varela}}</ref><ref name="
=== Performance ===
|