25 years of OCaml

25 years ago, on May 9th 1996, release 1.00 of the Objective Caml language and system was announced: https://sympa.inria.fr/sympa/arc/caml-list/1996-05/msg00003.html

It was already the consolidation of many years of work, integrating Jérôme Vouillon and Didier Rémy’s work on objects and classes within Caml Special Light, itself a combination of my work on modules and native-code compilation with earlier code taken from Caml Light, especially Damien Doligez’s GC.

Little did I know that O(bjective) Caml would still be there 25 years later!

A lot happened during this time, including several major evolutions of the language, and, much more importantly, the emergence of a community of users and an ecosystem of tools and libraries. But maybe this was just the beginning for something even bigger? We’ll see…

Happy birthday, OCaml!

Xavier Leroy

127 Likes

25 years of excellence :sparkles:
This language you all have created, and the dedicated community around it, is truly something to behold. Something to be proud of and proud to be part of

Happy birthday! :camel: :tada: :confetti_ball:

10 Likes

My first “serious” use of OCaml in around 2004 was to build an interactive wall-projected zooming interface at really short notice for a paper deadline. The mpg videos now look dated, but the LabGL code still compiled for me this morning! Right after that came a huge adventure with the Xen toolstack written in OCaml, and it’s still going strong today. Ever since then, OCaml’s been a wonderful workhorse following me along to so many endeavours I’ve lost track.

None of this would have been possible without the community of maintainers, developers, teachers and users around the language. Thank you for sparking off such an excellent community @xavierleroy, and I feel very privileged to be able to take part in this with all of you :slight_smile:

My only regret? I still haven’t learnt any French despite @samoht’s best efforts. I promise to learn some before you turn 50, OCaml! Happy birthday!

26 Likes

Most pleasingly, with a very small number of patches, the Windows port still works in Visual Studio 2019:

C:\Birthday>ocaml.exe
        Objective Caml version 1.00

#print_endline "Happy 25th Birthday, OCaml!";;
Happy 25th Birthday, OCaml!
- : unit = ()
##quit;;

C:\Birthday>type hooray.ml
let rec hip_hip n =
  if n > 0 then
    let () = print_endline "hip hip! hooray!" in
    hip_hip (pred n)

let () = hip_hip 25
C:\Birthday>ocamlopt -o hooray.exe hooray.ml

C:\Birthday>hooray
hip hip! hooray!
...
20 Likes

Congrats! :confetti_ball::champagne::balloon: I’m wondering how many other languages have been inspired by OCaml as well. Here’s to 25 more years!

6 Likes

My OCaml journey started many years ago when I started to learn OCaml in order to port Logic File System to Python (my preferred programming language at the time). Needless to say the project failed because I fell in love with OCaml instead! :smiley:

Happy birthday! :camel::balloon:

9 Likes

Congratulations! I started using OCaml in 2014 which was also the time I started hacking on the Multicore OCaml project. I was pleasantly surprised by the simplicity of the runtime system having previously hacked on other ML, Haskell and JVM runtimes. OCaml is incredibly nimble for a 25-year-old language! Thanks to the core team for creating and maintaining such a nice system.

11 Likes

Happy birthday OCaml :cake: :champagne: :partying_face:

Many thanks Xavier for this wonderful language! I still fondly remember my first real introduction to programming - 22 years later, I am still an (O)Caml addict :camel:

Looking forward for the next 25 years!

8 Likes

Happy birthday OCaml! I’m happy to say that I’ve been enjoying 25 years of great fun with OCaml programming :grin:, not mentioning Caml Light and Caml Special Light prior to that (yes, I’m old).

Many, many thanks to Xavier, Damien, and to all the people who contributed to OCaml, to its community, and to its ecosystem. You have made my programmer’s life much easier :wink:

9 Likes

Happy birthday to OCaml indeed! I started seriously using OCaml in 2012
for my PhD, but I had previous flirtations with it under François
Pottier and later, Jean-Christophe (who taught me a lot about
performance of functional code :wave:). More mainstream languages are only
just catching up to it :-).

Special thanks to the fine folks who wrote Merlin, the quality level of which
is remarkable and rarely found outside mega-corporation IDEs.

11 Likes

Bravo! So many great language design and implementation ideas were developed for (O)CamL, it is a signal achievement for the field. Well done!

13 Likes

Congratulations OCaml :birthday:
…and a big thank you to all the people who contributed to this great language and friendly community!

Chapeau!

Celebrate and decorate your Laptop lid with some OCaml Stickers via 🐌

Hmm! For me, it’s now close to one year and 1month since I learnt about and started doing work in OCaml. It’s not been a smooth experience, but enjoyable in its own right. I’m super excited to be part of the great and welcoming OCaml community, and to celebrate the 25th birthday of OCaml.

Happy belated birthday OCaml :violin::tada:

8 Likes

Absolutely, a very happy birthday to OCaml! I missed the very beginning as I was still in the middle of things using caml-light at the time. :slight_smile: I still remember first encountering it in 1995 and being floored. There were just so many mistakes that I simply could not make any more. It was amazing. After a moment of aggravation with my teachers for having been teaching us in C and even Scheme, I settled in, made better friends with the type system, gradually became friends with the module system, and haven’t looked back. Huge thanks to the team, and originators and developers of the many ideas that are expressed in the language today! It is a marvel that something so technically sophisticated can still be so practical and approachable. Thank you and very well done!

6 Likes

That’s like 50 years in camel years, congrats!

5 Likes

I’d forgotten about that wall projector project. You know my old vector graphics engine in OCaml still works today on a Raspberry Pi with minimal changes? Amazing…

3 Likes

Happy quarter century OCaml! 10 years ago I started out with Python as my first language, and felt I was missing good ways of structuring my code (… the time when for-loops and deep nested if-statements alone did all you wanted).

Intrigued by the promises of FP, but never understanding what it was, I took a course in Programming Languages at Coursera by the excellent teacher Dan Grossman - which led to my affairs with SML and Racket. Shortly thereafter, I chose OCaml as my main language and havn’t wanted another language since.

The shortest list I could come up with of words that describe what I love about OCaml: code-beauty, simplicity, stability, native code, REPL, compilation-targets, type safety, type expressivity, type inference, speed, abstractional power, WYSIWYG, down to earth, knowledge and experience of community

Thank you so much

2 Likes