Need advice about which tool to choose?Ask the StackShare community!

Erlang

753
656
+ 1
314
OCaml

148
117
+ 1
21
Add tool

Erlang vs OCaml: What are the differences?

Developers describe Erlang as "A programming language used to build massively scalable soft real-time systems with requirements on high availability". Some of Erlang's uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems. On the other hand, OCaml is detailed as "A general purpose industrial-strength programming language". It is an industrial strength programming language supporting functional, imperative and object-oriented styles. It is the technology of choice in companies where a single mistake can cost millions and speed matters, .

Erlang and OCaml can be primarily classified as "Languages" tools.

Erlang is an open source tool with 7.8K GitHub stars and 2.12K GitHub forks. Here's a link to Erlang's open source repository on GitHub.

WhatsApp, Heroku, and thoughtbot are some of the popular companies that use Erlang, whereas OCaml is used by Hammer Lab, NG Informática, and Maersk Digital. Erlang has a broader approval, being mentioned in 88 company stacks & 241 developers stacks; compared to OCaml, which is listed in 6 company stacks and 6 developer stacks.

Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Erlang
Pros of OCaml
  • 59
    Concurrency Support
  • 59
    Real time, distributed applications
  • 55
    Fault tolerance
  • 34
    Soft real-time
  • 30
    Open source
  • 20
    Functional programming
  • 19
    Message passing
  • 14
    Immutable data
  • 12
    Works as expected
  • 4
    Facebook chat uses it at backend
  • 3
    Practical
  • 3
    Knowledgeable community
  • 2
    Bullets included
  • 5
    Satisfying to write
  • 4
    Pattern matching
  • 3
    Also has OOP
  • 3
    Easy syntax
  • 3
    Very practical
  • 3
    Extremely powerful type inference

Sign up to add or upvote prosMake informed product decisions

Cons of Erlang
Cons of OCaml
    Be the first to leave a con
    • 3
      Small community
    • 1
      Royal pain in the neck to compile large programs

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Erlang?

    Some of Erlang's uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems.

    What is OCaml?

    It is an industrial strength programming language supporting functional, imperative and object-oriented styles. It is the technology of choice in companies where a single mistake can cost millions and speed matters,

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Erlang?
    What companies use OCaml?
    See which teams inside your own company are using Erlang or OCaml.
    Sign up for Private StackShareLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Erlang?
    What tools integrate with OCaml?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Erlang and OCaml?
    Elixir
    Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
    Haskell
    It is a general purpose language that can be used in any domain and use case, it is ideally suited for proprietary business logic and data analysis, fast prototyping and enhancing existing software environments with correct code, performance and scalability.
    Go
    Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
    Clojure
    Clojure is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system.
    Akka
    Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.
    See all alternatives