Featured in
Architecture & Design

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Featured in
Process & Practices

In-App Subscriptions Made Easy

There are various types of subscriptions: recurring, non-recurring, free-trial periods, various billing cycles and any possible billing variation one can imagine. But with lack of information online, you might discover that mobile subscriptions behave differently from what you expected. This article will make your life somewhat easier when addressing an in-app subscriptions implementation.

Featured in
Operations & Infrastructure

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Featured in
Enterprise Architecture

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Sponsored Content

Bio

Steve Vinoski is the author of "Toward Integration" by IEEE Internet Computing, and has written for magazines such as C/C++ Users Journal and C++ Report and is the co-author of Advanced CORBA Programming with C++ (APC) with Michi Henning. He is currently an architect at Basho Technologies. He previously worked as chief architect for IONA Technologies, HP, Apollo Computer and Texas Instruments.

Software is changing the world; QCon aims to empower software development by facilitating the spread of knowledge and innovation in the enterprise software development community; to achieve this, QCon is organized as a practitioner-driven conference designed for people influencing innovation in their teams: team leads, architects, project managers, engineering directors.

The simplicity of Erlang can be an advantage with respect to reliability. Joe Armstrong has given a recent talk about this, see the presentation Building-Highly-Available-Systems-in-Erlang on this site. I agree with the observation that Scala/Akka has a rich programming environment, so if you are wanting to integrate an actor-based architecture with existing tools on the JVM, Scala is the way to go. But for systems where reliability is critical and the functionality is well defined and message oriented (e.g. tools like RabbitMQ), Erlang is clearly a good choice.

Given his background, I don't think that Steve Vinoski would ignore the value of abstraction in the OO sense.

Serge is right, Actors are a low-level concurrency model as described in this Wikipedia article that includes historical information...en.wikipedia.org/wiki/Actor_model

An Actor is a _very_low-level_ entity used to compose a concurrency scheme that is discussed here in this Wikipedia article...en.wikipedia.org/wiki/Actor_model_theory...it appears it might simplify distributed concurrency and or computation.

As discussed it began in 1973, some attributed ideas go back as far back as the late 1950s. The work that finalized the model of all the initial work was complete here at the University of Michigan College of Engineering(Ann Arbor,MI)and at MIT(Cambridge,MA). A joint PhD committee of knowledgeable computer scientists was formed to review the thesis work of Gul Agha, see...en.wikipedia.org/wiki/Gul_Agha_(computer_scientist)..and thus he did get his PhD for the Actors model through MIT.

SCALA introduces some high level ideas that utilize Actor like primitives. It is a useful exercise. The real benefit will come with more study of the Actor model. SCALA runs within a JVM process simulating what could be the future.

You will find the story does not end here. Actors and concurrency remain a very active area of study and practice.

How would you build an truly huge distributed Actor implementation and for what computational purpose? How about a 1,000,000 ARM SoC machines with MINX3 and userspace Actor stacks? How would you design a language to program such a machine? Maybe a completely different type of CPU is needed?