Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 474267
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T00:16:13+00:00 2026-05-13T00:16:13+00:00

There is a lot of buzz these days about not using locks and using

  • 0

There is a lot of buzz these days about not using locks and using Message passing approaches like Erlang. Or about using immutable datastructures like in Functional programming vs. C++/Java.

But what I am concerned with is the following:

  1. AFAIK, Erlang does not guarantee Message delivery. Messages might be lost. Won’t the algorithm and code bloat and be complicated again if you have to worry about loss of messages? Whatever distributed algorithm you use must not depend on guaranteed delivery of messages.
  2. What if the Message is a complicated object? Isn’t there a huge performance penalty in copying and sending the messages vs. say keeping it in a shared location (like a DB that both processes can access)?
  3. Can you really totally do away with shared states? I don’t think so. For e.g. in a DB, you have to access and modify the same record. You cannot use message passing there. You need to have locking or assume Optimistic concurrency control mechanisms and then do rollbacks on errors. How does Mnesia work?
  4. Also, it is not the case that you always need to worry about concurrency. Any project will also have a large piece of code that doesn’t have to do anything with concurrency or transactions at all (but they do have performance and speed as a concern). A lot of these algorithms depend on shared states (that’s why pass-by-reference or pointers are so useful).

Given this fact, writing programs in Erlang etc is a pain because you are prevented from doing any of these things. May be, it makes programs robust, but for things like Solving a Linear Programming problem or Computing the convex hulll etc. performance is more important and forcing immutability etc. on the algorithm when it has nothing to do with Concurrency/Transactions is a poor decision. Isn’t it?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T00:16:13+00:00Added an answer on May 13, 2026 at 12:16 am
    1. That’s real life : you need to account for this possibility regardless of the language / platform. In a distributed world (the real world), things fail: live with it.

    2. Of course there is a cost: nothing is free in our universe. But shouldn’t you use another medium (e.g. file, db) instead of shuttling “big objects” in communication pipes? You can always use “message” to refer to “big objects” stored somewhere.

    3. Of course not: the idea behind functional programming / Erlang OTP is to “isolate” as much as possible the areas were “shared state” is manipulated. Futhermore, having clearly marked places where shared state is mutated helps testability & traceability.

    4. I believe you are missing the point: there is no such thing as a silver bullet. If your application cannot be successfully built using Erlang then don’t do it. You can always some other part of the overall system in another fashion i.e. use a different language / platform. Erlang is no different from another language in this respect: use the right tool for the right job.

    Remember: Erlang was designed to help solve concurrent, asynchronous and distributed problems. It isn’t optimized for working efficiently on a shared block of memory for example… unless you count interfacing with nif functions working on shared blocks part of the game 🙂

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

There's a lot of buzz about MooseX::Method::Signatures and even before that, modules such as
There is a lot of buzz about Microsoft Silverlight , especially after the Olympics.
There is a lot of buzz about HTML5 and CSS3. How do I know
I know there are lot of questions about Sonar and Jacoco not generating the
There are a lot of questions about didRegisterForRemoteNotificationsWithDeviceToken but they all sidestep a very
There's a lot of questions about bookmarks but none of them answers my question:
Innovation seems to be a Buzz word these days. Each organization is giving a
I'm currently learning traditional ASP.NET, but then there is a lot of buzz around
I know there are LOT of questions like that but I can't find one
I am talking about several thousands of flash animations etc. Naturally there is lot

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.