Ranked in these QuestionsQuestion Ranking
Pro Concurrency model based on actors
The unique type system allows the compiler to automatically schedule actors on threads, giving you reliable concurrency for free.
Pro Trivially simple C FFI
Calling low-level C functions is as simple as
use "lib:clibrary" and
@c_function_name[return_type](parameter:type). Linking C to Pony libraries is just as easy, as the Pony compiler will generate appropriate header files.
Because of its capabilities secure type system, provided you don't use the C FFI, references will never be stale, race conditions are effectively impossible, locks and mutexes are never needed, and processes never crash (barring compiler bugs, of course).
Pro High performance
Compiles to native code, and features an intelligent garbage collector that takes advantage of the actor architecture to get essentially free garbage collection.
Con Steep learning curve
The type system uses a capabilities-oriented approach to reference semantics, which can be difficult to wrap your head around at first. The lack of more common object-oriented features and the preference for simplicity over familiarity can make it difficult for new users to model their program design.
Con Few libraries
Con Limited documentation
As Pony is such a new language, documentation is relatively light, and tutorials are few and far-between.