[erlang-questions] languages in use? [was: Time for OTP to be Renamed?]
Sun Feb 16 15:37:15 CET 2014
Loïc Hoguin wrote:
> On 02/16/2014 03:40 AM, Miles Fidelman wrote:
>> - My sense is that a lot of the comments in this thread have been about
>> the need to promote adoption of Erlang - which is really a
>> business/company decision, not that of individual developers (at least
>> in my experience, it's companies that make language/platform decisions,
>> for business reasons).
> > any good engineer who's
> > working on high-availability, high-concurrency systems either already
> > knows about Erlang, or will find it pretty quickly when doing
> > assessment for a project with requirements that are best suited for
> > Erlang
> It's companies that make decisions, but it's developers that introduce
> companies to the different choices they have. There's indeed a fair
> amount of chances that someone working in HA at least heard about it.
> There's no real need to target them.
> Everyone else though? Ask any 9-to-5 developer if they heard of
> Erlang. You will get very few positive answers. And if you are the
> only one who heard about it in a company, then it's never going to be
> used even if it's the perfect tool for the job.
Serious question: Is it really the "9-to-5" developer who makes this
kind of choice, or even has much influence?
In my experience it's more likely to be a systems architect, or CTO, or
"chief technologist," or some such who makes serious platform-level
choices (or the founders, when it comes to startups). And these are
folks who, if any good, keep abreast of what technologies are available.
On the other hand, the skill set of a firm's developers, and previous
investment in tooling and code base influence such choices. (Which
makes it easier for either a startup, or a major new effort to pick a
new platform, than, say, a project that's adding features to the next
generation of something built on .NET)
> Erlang can be used for anything server, not just HA. Erlang could
> replace PHP or Ruby or whatever and do so while also saving costs
> (less developers needed, less/smaller servers, etc). If only enough
> people even heard about it.
> The other thing is that Erlang lacks in (properly maintained)
> libraries. Getting Erlang known beyond what's it's historically good
> at is what needs to be done to fix this. Because if it's only used by
> HA people then you'll just get more process registries, pools,
> distributed frameworks and such. Which is great when you're building
> an HA system. But not so much when you need to output Excel files for
> accounting, or crop and resize an image, or send an SMS. Which is the
> kind of tasks that most developers spend their time doing.
Now that is a serious issue. Erlang certainly can replace PHP or Ruby
for a lot of things, IF there were good libraries - and that's an
issue. On the other hand, it's not quite clear that the cost/benefits
work out. Seems like it would depend on the kind of server:
- new protocol that has to run across a global network of systems (let's
say for distributed supply chain support) - definitely
- mid-complexity web server (where PHP and Ruby seem to show up) - I'd
be more likely to pick a platform, and whatever language it's written in
would come along for the ride, and the platform choice would likely be
driven by considerations of what's already in place (can you say
ASP.Net?) - then again, PERL still shines here, mostly because of CPAN
(Mind you, I would not complain a bit if someone where to write a good
mail system and/or list manager in Erlang - but as long as there's
Postfix and Sympa, not sure it's worth anybody's time to do so).
And, while typing that last bullet, I begin to wonder - is it really
libraries, or these days is it more "platform?" For example, when I
think about large-scale data mining applications, I'm thinking more
along the lines of:
1. SQL vs. NoSQL
2. Which database engine
3. What visualization tools
The language(s) involved pretty much come along for the ride.
In this regard, Erlang seems to do pretty well - what with
CouchDB/CouchBase and Riak gaining a lot of traction on the backend.
(For front-end GUIs, I expect Erlang will never be the tool for the job.)
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
More information about the erlang-questions