OCaml Survey: Developers' Perception, Interest, and Perceived Barriers

by Christine Rose on Dec 20th, 2023

Tarides is conducting a survey targeting non-OCaml programmers to learn their thoughts about this functional programming language and uncover any misconceptions surrounding it. Please take a few mintues to fill it out if you haven't yet done so.

This post shows our preliminary findings based on a relatively small sample size within the Twitter community. The survey aimed to shed light on the challenges hindering its broader acceptance among programmers unfamiliar with its ecosystem and principles.

Our goal was also to discover what information could help new users try OCaml. We found it important to explore any perceived barriers to better understand their impact on adoption. Additionally, we identified some topics we can cover on our blog and the overall OCaml documentation.

Participants' Interest in OCaml

Results showed that 96.6% of the 120 respondents were already familiar with OCaml. The survey data reflects diverse reasons for interest in OCaml. Several respondents value its functional programming paradigm, drawn to its powerful FP and type-level features, reminiscent of Haskell but perceived as less intimidating. Others appreciate its similarity to F# or its multiparadigm nature, enabling cross-compilation to JavaScript and highlighting its industrial applicability.

Heard of OCaml Graph

The language's fast compilation speed comparable with Go, the enthusiastic OCaml community, and its strong type system also emerge as significant draws. While some respondents found its similarity to Rust appealing, others were attracted to its practicality and performance. There was a general sentiment among respondents that OCaml offers a blend of functional programming without the rigidity seen in some other languages, making it an intriguing choice for developers seeing to explore new paradigms.

Its pragmatic approach and its potential applicability in diverse problem domains have also intrigued developers.

What Piques Users' Interest in OCaml

The survey respondents offered various factors that would pique their interest in learning and using OCaml. Job opportunities using OCaml, exceptional tooling, high performance, and a healthy ecosystem of libraries were primary motivators. Additionally, a desire for enhanced type systems, specific functionalities similar to other languages, and an interest in functional programming combined with native compilation emerged as strong incentives.

Some participants already had an interest in OCaml but sought more time or clearer learning paths, while others looked for real-world examples, robust web frameworks, or significant projects utilising OCaml to inspire their adoption. Better resources, tutorials, or online REPLs, as well as use cases that showcase OCaml's strengths, were also highlighted as essential for fostering interest.

Overall, job prospects, powerful tooling, distinct advantages over other languages, clear learning paths, compelling use cases, and abundant learning resources emerged as key factors that would attract individuals to learn and use OCaml.

Try OCaml Graph

What Programmers Want to Know Before Trying OCaml

Several key inquiries emerged as top concerns amongst respondants. A significant 74.6% sought information on OCaml's real-world interface possibilities encompassing web servers, GUI, APIs, and databases. Additionally, 69.3% were keen on discovering a comprehensive learning path, documentation, and video resources aiding beginners in getting started. Another prevalent query, registering at 66.7%, centered on locating useful libraries.

Beyond these top three, between 25% and 35% of respondents expressed interest in aspects like compatibility with operating systems, clouds and hosting providers, IDE integration, availability of VS Code plugins, web request capabilities, access to practice exercises, and the presence of an active community forum for discussions and OCaml-related assistance.

Participants reported that they get most of their information about OCaml on Twitter (X), which isn't surprising because we queried participants found through social media.

OCaml News

These responses reinforced that there needs to be much more information on OCaml out there, and they give us a good place to start addressing this lack of information.

Perceived Barriers to Adoption

The survey reveals a spectrum of reasons why individuals have refrained from adopting OCaml. Time constraints and current comfort with other languages stand as significant factors. Additionally, syntax preferences and challenges in learning functional paradigms contribute to the reluctance to adopt OCaml.

Some participants express hesitancy due to their unfamiliarity with OCaml's strengths and weaknesses, a perceived lack of utility or clear advantages over their existing toolset, or doubts about its practicality in their field or industry. Others believe OCaml fits in a particular niche, has a smaller ecosystem and limited learning resources, or doubts the language's readiness for production.

These results validated that certain outdated misunderstandings require widespread clarification. Our intention is to release blog articles soon to tackle these common misconceptions.

Coders' Thoughts on OCaml's Garbage Collection

The survey responses indicated a variety of sentiments toward OCaml's use of garbage collection (GC). For many, GC was seen as a positive attribute, easing memory management and simplifying programming. Some felt it didn't influence their decision, being accustomed to GC in their work with other languages. Others saw it as a necessary feature or a non-issue, especially in higher-level programming environments.

There were reservations, too. A few respondents preferred languages without GC, expressing concerns about potential performance impacts or complexities in reasoning about memory. However, the general consensus leaned toward a neutral-to-positive view, indicating that while GC might affect performance in certain scenarios, it wasn't a decisive factor for most respondents in trying out OCaml.

Tarides and the OCaml Community

In collaboration with the OCaml community, Tarides is actively engaged in addressing the identified pain points. We acknowledge the these significant issues and are committed to implement effective solutions. Your input is invaluable, so please fill out our short survey. It is anonymous. Your participation not only amplifies your voice but also plays a pivotal role in our collective efforts to enhance and refine the OCaml language, its features, and its documentation.

The survey's nuanced insights illuminate both the growing curiosity around OCaml and the pivotal steps required to facilitate its wider adoption among programmers unfamiliar with its ecosystem and principles. Together, we're dedicated to fostering positive changes based on your invaluable feedback.

Conclusion

In conducting this survey aimed at understanding the perspectives of non-OCaml programmers, we've uncovered invaluable insights into the varied interests, concerns, and barriers surrounding the adoption of this functional programming language.

Diverse reasons for interest in OCaml, ranging from its powerful functional programming paradigm to its pragmatic approach and potential applicability across different problem domains, paint a promising picture for its appeal among developers seeking innovative paradigms. However, the survey has also highlighted crucial gaps in information regarding OCaml's real-world interface possibilities, learning resources, and practical applications, underscoring the need for comprehensive documentation and focused learning materials.

Despite certain reservations about its adoption due to factors like existing comfort with other languages, syntax preferences, and uncertainties about its practicality, the general sentiment remains positive. The findings provide a compelling foundation to address these misconceptions, with our forthcoming blog articles aiming to bridge these informational gaps and dispel any lingering uncertainties.

It's crucial to emphasise the limited exposure of this survey, primarily accessed by those within our social media circle. To broaden the scope and gather diverse perspectives, we encourage more individuals to participate in the survey. Your input is invaluable, so we invite you to voice your support or concerns. Your contributions will enrich our understanding and aid in shaping the future of OCaml. We look forward to reading your responses.

Tarides is an international software company with offices in Cambridge (UK), Paris (France), and Chennai (India), founded in 2018 by systems and functional programming pioneers. Tarides aims to empower developers, communities, and organisations to adopt OCaml as their primary programming experience by providing training, expertise, and development services. For more information about Tarides and our services, please contact us.