3 ms·
I think you misread his intent -- The point he's making is that Erlang grew organically into its current form by way of continual sculpting during use by its cr
by silentbicycle 18y ago
I think you misread his intent -- The point he's making is that Erlang grew organically into its current form by way of continual sculpting during use by its creators, rather than being refined to approach a theoretical ideal. You seem to think this he means this as a slam on functional programming, but I don't think that's the case.
Going one further from the linked blog post, is OCaml functional? By Fischer's definition, yes, but I've written very non-functional (ha) code in OCaml. It's a multi-paradigm language, which happens to have very good support for functional programming, but it isn't limited to it. (I've also written very functional code in idiomatic Lua. Is Lua functional, then?) While functional programming techniques don't go against the flow of Erlang, saying it's functional is probably a bit of a stretch - its design doesn't prioritize this the way Haskell's does.
(HN favors substantial comments over one-line reactions, btw. "I didn't bother reading this" doesn't add much to the discussion.)
- plinkplonk 18y ago"The point he's making is that Erlang grew organically into its current form by way of continual sculpting during use by its creators rather than being refined to approach a theoretical ideal" This might be an interesting language design methodology. Try to code up something hard (to introduce constraints) and assume you have to build a new langauge to do it. Iow ignore existing languages/libraries etc.
- silentbicycle 18y agoA lot of interesting mini-languages (e.g. make, regular expressions, and yacc) have formed that way.
- chops 18y agoThe point he's making is that Erlang grew organically into its current form by way of continual sculpting during use by its creators I've never really designed a serious language before, aren't almost all languages done this way?
- silentbicycle 18y agoHe's contrasting it to languages that are closely based on a mathematical ideal, such as Haskell (pure functional programming, category theory, etc.) or Prolog (Horn clauses and logic), minimalistic Scheme/Lisps (lambda calculus) or, to a lesser extent, SQL (relational theory, albeit a far from perfect implementation).
- hassy 18y ago> The point he's making is that Erlang grew organically into its current form by way of continual sculpting during use by its creators, rather than being refined to approach a theoretical ideal. Thank you. That is exactly what I meant. Whether Erlang satisfies some definition of "functional" or "OO", or "concurrency-oriented" does not matter. What matters is that it's a kick-ass platform for building scalable distributed fault-tolerant apps. (That said, Erlang is a good introductory language for someone who wants to explore functional programming.)