Erlang

1. Ramverksbedömning efter problemområde: Den komplianskrävande verktygslådan
1.1. Högförlitlig finansiell bokföring (H-AFL)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang/OTP (med mnesia och gen_server) | Formell tillståndsmaskinmodellering via gen_server, oföränderliga transaktionsloggar och ACID-garantier i Mnesia (med diskkopior) möjliggör bevisbar konsistens. Minnesöverhead är nästan noll tack vare processisolation och copy-on-write-termdelning. |
| 2 | Elixir + Ecto (med :postgrex) | Ectos schemalösa frågor och transaktionspipeliner minskar logikytan. PostgreSQL-backend ger formell varaktighet; Elixirs makron minskar boilerplate men lägger till liten körningsoverhead (~5--8% jämfört med ren Erlang). |
| 3 | CouchDB (Erlang-baserad) | Inbyggd MVCC och replikering är matematiskt genomskinlig, men dokumentorienterad modell inför obestämda sammanfogningssemantik vid konflikter -- bryter Manifest 1. Minnesanvändning är högre på grund av B-trädindexöverhead. |
1.2. Echtidig moln-API-gateway (R-CAG)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Cowboy | Lättviktig, icke-blockerande HTTP-server skriven i ren Erlang. Zero-copy-handling av förfrågningar/svar via iolists. Process-per-anslutningsmodell säkerställer felisolering och deterministisk latens (<1ms p99). |
| 2 | Plug (Elixir) | Sammansättbar middleware-stack med minimal körningsoverhead. Skalas bra men inför Elixirs makroexpansionsöverhead (~12% CPU jämfört med Cowboy). Typsäkerhet via annoteringar förbättrar korrekthet men inte formell bevisning. |
| 3 | Phoenix | Utmärkt utvecklareupplevelse, men WebSocket- och kanalabstraktioner ökar minnesanvändning med 20--30%. Ej lämplig för ultralåg-latens-gateways på grund av GenServer-routingslager. |
1.3. Kärnmaskininlärningsinferensmotor (C-MIE)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + NIFs (med OpenBLAS/TensorFlow C API) | Direkta FFI-bindningar till optimerade C-bibliotek möjliggör nästan native-tensoroperationer. Minne hanteras via Erlangs per-process-heap, undviker GC-pausar under inferens. Formell korrekthet via statiska NIF-kontrakt. |
| 2 | Elixir + Torchx (experimentell) | Hög-nivå-bindningar minskar LOC men inför JIT-overhead och dynamisk dispatch. Ej lämplig för echtid-inferens på grund av VM-uppvärmning och GC-jitter. |
| 3 | DeepLearning.Erlang (icke-underhållen) | Föråldrad, saknar GPU-stöd. Formella garantier bryts av föråldrade beroenden. Undvik. |
1.4. Decentraliserad identitet och åtkomsthantering (D-IAM)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + libp2p (via NIF) + JWT | Lättviktiga kryptografiska primitiver via OpenSSL NIFs. Stateless tokenvalidering med oföränderliga anspråk. Process-per-session-modell säkerställer isolation och noll delat tillstånd. |
| 2 | DIDKit (Rust) + Erlang NIF-wrapper | Starka kryptografiska garantier, men NIF-komplexitet ökar krashrisk. Minnesfootprint acceptabel om NIFs är noggrant begränsade. |
| 3 | Elixir + ueberauth | Hög-nivåabstraktioner ökar LOC och inför mutabelt sessionslager. Bryter Manifest 4. |
1.5. Universell IoT-dataaggregering och normaliseringshubb (U-DNAH)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + MQTT (emqx) | EMQX är byggt på OTP, skalar till miljoner samtidiga anslutningar. Zero-copy-meddelanderouting via iolists. Stateful enhetssessioner hanteras av lättviktiga processer (1KB/process). |
| 2 | Lager + Erlang | Loggning och metrik är låg-overhead. Mönstermatchning på binära laster möjliggör effektiv normalisering utan parsningsoverhead. |
| 3 | Node-RED (via Erlang-brygga) | Visuell programmering ökar LOC och körningkomplexitet. Inte kompliansmedveten enligt Manifest 4. |
1.6. Automatiserad säkerhetsincidenthanteringsplattform (A-SIRP)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + gen_event + syslog NIFs | Händelsedriven arkitektur med isolerade hanterare. Formella processövervakningsträd garanterar återställning från skadliga eller felaktiga händelser. Minnesanvändning: <2MB per hanterare. |
| 2 | Elixir + Phoenix.PubSub | Bra för distribuerade aviseringar, men inför onödig webb-lager. GC-jitter riskerar fördröjning i kritiska svarsbanor. |
| 3 | OpenStack (Python) | Inte Erlang. Exkluderad. |
1.7. Korskedje-aktie-tokenisering och överföringssystem (C-TATS)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + libsecp256k1 NIFs + gen_statem | Formell tillståndsmaskin för fler-kedjeövergångar. Deterministisk transaktionsordning via processmailbox-sekvensering. Minne: 8KB per kanalstatus. |
| 2 | Elixir + ExUnit (för testning) | Testning är stark, men körningsoverhead gör det olämpligt för högfrekvent avveckling. |
| 3 | Solidity (EVM) | Inte Erlang. Exkluderad. |
1.8. Hög-dimensionell datavisualisering och interaktionsmotor (H-DVIE)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + WebGL (via WebSocket) | Server-sidig dataaggregering och komprimering via binär mönstermatchning. Klienten renderar; servern är tillståndslös, <10MB RAM per 10k användare. |
| 2 | Phoenix.LiveView | Echtidig interaktivitet men tung klient-sid JS och tillståndssynkronisering. Bryter Manifest 3 (minnesblåsning). |
| 3 | D3.js + Node.js | Inte Erlang. Exkluderad. |
1.9. Hyper-personaliserad innehållsrekommendationsfabrik (H-CRF)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + ETS/DETS + gen_server | Minnesbaserade användarprofiler lagrade i ETS (ingen GC). Snabba sökningar (<10μs) med deterministisk åtkomst. Inga externa beroenden. |
| 2 | Elixir + DynamoDB (via HTTP) | Latensspikar på grund av nätverksanrop. Inte kompliansmedveten enligt Manifest 3. |
| 3 | TensorFlow Serving | Inte Erlang. Exkluderad. |
1.10. Distribuerad echtidssimulering och digital tvillingplattform (D-RSDTP)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + gen_fsm/gen_statem | Varje digital tvilling är en process. Tillståndsovergångar är matematiskt rent funktioner. Minne: 1--2KB per tvilling. Skalbar till miljoner. |
| 2 | Unity + Erlang-brygga | Tung binär tillgång, GC-pausar i Unity. Bryter Manifest 3. |
| 3 | Python + SimPy | Inte Erlang. Exkluderad. |
1.11. Komplex händelsebearbetning och algoritmisk handelmotor (C-APTE)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + gen_event + timer:apply_after | Händelser strömmar i steg med deterministisk tidtagning. Inget delat mutabelt tillstånd. Latens: <50μs per händelse. |
| 2 | Apache Flink (Java) | Inte Erlang. Exkluderad. |
| 3 | Kafka Streams | JVM-overhead, GC-pausar oacceptabla för HFT. |
1.12. Storskalig semantisk dokument- och kunskapsgraflagring (L-SDKG)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + RDFlib (NIF) + Mnesia | RDF-triplar lagrade som tuplar. Frågeupplösning via mönstermatchning. Inga externa databaser behövs. Minne: 40 byte per trippel. |
| 2 | Neo4j (Java) | Inte Erlang. Exkluderad. |
| 3 | GraphQL + Node.js | Hög serialiseringsöverhead, bryter Manifest 3. |
1.13. Serverlös funktion orchestration och arbetsflödesmotor (S-FOWE)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + rebar3 + gen_statem | Arbetsflödesstatus modelleras som ändliga automater. Inget externt orchestrator behövs. Process-per-steg säkerställer isolation. Binär storlek: 3MB. |
| 2 | AWS Step Functions | Inte Erlang. Exkluderad. |
| 3 | Apache Airflow (Python) | Inte Erlang. Exkluderad. |
1.14. Genomisk data pipeline och variantkallningssystem (G-DPCV)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + NIFs (med htslib) | Direkt åtkomst till bioinformatiska C-bibliotek. Binär parsing via bit-syntax (t.ex. <<>>). Minne: 150MB per pipeline-steg. |
| 2 | Snakemake (Python) | Inte Erlang. Exkluderad. |
| 3 | Nextflow | Inte Erlang. Exkluderad. |
1.15. Echtidig fleranvändar-samarbetsredigerare-backend (R-MUCB)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + CRDTs (via libcrdt) | Operativa transformationer kodade som renta funktioner. Konfliktlösning matematiskt bevisad. Process-per-dokument säkerställer isolation. |
| 2 | Yjs (JavaScript) | Inte Erlang. Exkluderad. |
| 3 | Ot + Node.js | Delat mutabelt tillstånd bryter Manifest 1. |
1.16. Låg-latens förfrågnings-svarsprotokollshanterare (L-LRPH)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + gen_server + iolists | Direkt binär protokollparsing. Inga heap-allokeringar under förfrågningsvägen. Latens: 2--5μs per förfrågan. |
| 2 | Netty (Java) | Inte Erlang. Exkluderad. |
| 3 | gRPC (C++) | Inte Erlang. Exkluderad. |
1.17. Hög genomströmnings-meddelandekö-konsument (H-Tmqc)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | RabbitMQ (Erlang) | Byggt på OTP. 500k meddelanden/sekund per nod. Process-per-konsument säkerställer backpressure och felisolering. Minne: 1KB/meddelande. |
| 2 | Kafka (Scala) | Inte Erlang. Exkluderad. |
| 3 | Redis Streams | Inte Erlang. Exkluderad. |
1.18. Distribuerad konsensusalgoritmimplementation (D-CAI)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + Raft (ren Erlang) | Tillståndsmaskin kodad som renta funktioner. Meddelandeöverföring är den enda kommunikationsprimitive -- inget delat minne. Bevisbar säkerhet. |
| 2 | etcd (Go) | Inte Erlang. Exkluderad. |
| 3 | ZooKeeper (Java) | Inte Erlang. Exkluderad. |
1.19. Cache-kohärens och minnespoolhanterare (C-CMPM)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + ETS (med set, ordered_set) | ETS-tabeller är kernel-hanterade. Ingen GC. Låsfree åtkomst via processmailbox. Minnespool: 100% förutsägbar. |
| 2 | jemalloc (C) | Inte Erlang. Exkluderad. |
| 3 | tcmalloc (C++) | Inte Erlang. Exkluderad. |
1.20. Låsfree samtidig datastrukturbibliotek (L-FCDS)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + ETS/Dets | Inga lås behövs. Processisolation ersätter samtidighetsprimitiver. Atomiska uppdateringar via ets:update_counter. |
| 2 | libcds (C++) | Inte Erlang. Exkluderad. |
| 3 | Boost.Lockfree (C++) | Inte Erlang. Exkluderad. |
1.21. Echtidig strömbearbetningsfönsteraggregator (R-TSPWA)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + gen_server + timer:send_after | Fönsterstatus lagrad i ETS. Aggregeringar via mönstermatchning. Inga externa beroenden. CPU: 0.2 kärnor per 10k händelser/sekund. |
| 2 | Apache Flink | Inte Erlang. Exkluderad. |
| 3 | Spark Streaming | Inte Erlang. Exkluderad. |
1.22. Tillståndsfylld sessionslagring med TTL-utgång (S-SSTTE)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + ETS med timer:apply_after | TTL tvingas via timer-process per nyckel. Minne frigörs omedelbart. Inga bakgrundssvep. |
| 2 | Redis | Inte Erlang. Exkluderad. |
| 3 | Memcached | Inte Erlang. Exkluderad. |
1.23. Zero-copy nätverksbufferringshanterare (Z-CNBRH)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + NIFs (DPDK/AF_XDP) | Direkt åtkomst till kernel-ringsbuffrar. Zero-copy via iolists och binära referenser. Latens: 1μs. |
| 2 | AF_PACKET + C | Inte Erlang. Exkluderad. |
| 3 | libpcap | Inte Erlang. Exkluderad. |
1.24. ACID-transaktionslogg och återställningshanterare (A-TLRM)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + mnesia (med disc_copies) | Transaktionsloggar är oföränderliga Erlang-termer. Återställning via termrekonstruktion -- matematiskt genomskinlig. |
| 2 | WAL i PostgreSQL | Inte Erlang. Exkluderad. |
| 3 | MongoDB Oplog | Inte Erlang. Exkluderad. |
1.25. Hastighetsbegränsning och tokenbucket-tvingare (R-LTBE)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + ETS + gen_server | Tokenbucket-tillstånd lagrat i ETS. Atomiska uppdateringar via ets:update_counter. Inga lås, ingen GC. |
| 2 | Redis + Lua | Inte Erlang. Exkluderad. |
| 3 | Envoy (C++) | Inte Erlang. Exkluderad. |
1.26. Kernel-utrymmes enhetsdrivrareramverk (K-DF)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang (ej tillämpligt) | Erlang körs i användarutrymme. Kan inte implementera kernel-drivrare. |
| 2 | Linux Kernel Modules (C) | Inte Erlang. Exkluderad. |
| 3 | Rust + Linux Driver Framework | Inte Erlang. Exkluderad. |
Obs: Alla lågnivåsystem (1.26--1.30) är icke- genomförbara under Erlang på grund av användarutrymmesbegränsning.
1.27. Minnesallokator med fragmenteringskontroll (M-AFC)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang (ej tillämpligt) | Erlang använder per-process-heap. Inget globalt allokeringsverktyg att kontrollera. |
| 2 | jemalloc (C) | Inte Erlang. Exkluderad. |
| 3 | tcmalloc (C++) | Inte Erlang. Exkluderad. |
1.28. Binär protokollparser och serialisering (B-PPS)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + bit-syntax (<<>>) | Mönstermatchning på binärer är matematiskt total. Inga körningsparserfel möjliga om mönster är fullständiga. |
| 2 | protobuf (C++) | Inte Erlang. Exkluderad. |
| 3 | msgpack (Python) | Inte Erlang. Exkluderad. |
1.29. Interrupthanterare och signalmultiplexare (I-HSM)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang (ej tillämpligt) | Kan inte hantera hårdvaruinterrupts. |
| 2 | Linux signal handlers (C) | Inte Erlang. Exkluderad. |
| 3 | FreeRTOS | Inte Erlang. Exkluderad. |
1.30. Bytekodinterpreter och JIT-kompileringsmotor (B-ICE)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang BEAM (inbyggd) | BEAM är en formellt specificerad virtuell maskin. JIT-komplettering via HiPE (valfritt). Bytekod är matematiskt verifierad. |
| 2 | LLVM | Inte Erlang. Exkluderad. |
| 3 | V8 | Inte Erlang. Exkluderad. |
1.31. Trådplanerare och kontextväxlingshanterare (T-SCCSM)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang BEAM (inbyggd) | Lättviktiga processer planeras preemptivt. Kontextväxling: 1--2μs. Inga OS-trådar behövs. |
| 2 | Linux CFS | Inte Erlang. Exkluderad. |
| 3 | Windows Fiber Scheduler | Inte Erlang. Exkluderad. |
1.32. Hårdvaruabstraktionslager (H-AL)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang (ej tillämpligt) | Endast användarutrymme. |
| 2 | Zephyr RTOS | Inte Erlang. Exkluderad. |
1.33. Echtidsbegränsningsplanerare (R-CS)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang (ej tillämpligt) | Inga hårdreal-tidsgarantier. |
| 2 | RTAI / Xenomai | Inte Erlang. Exkluderad. |
1.34. Kryptografisk primitivimplementation (C-PI)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | Erlang + crypto NIF (OpenSSL) | Standardiserade primitiver. Deterministisk utgång. Minne: 4KB per operation. |
| 2 | libsodium (C) | Inte Erlang. Exkluderad. |
1.35. Prestandaprofilering och instrumenteringsystem (P-PIS)
| Rank | Ramverksnamn | Kompliansmotivering (Manifest 1 & 3) |
|---|---|---|
| 1 | eprof / fprof (inbyggd) | Låg-overhead-spårning. Inga instrumenteringskoder behövs -- kompilatorhakar. |
| 2 | perf (Linux) | Inte Erlang. Exkluderad. |
2. Djupgående analys: Erlangs kärnstyrkor
2.1. Grundläggande sanning och motståndskraft: Noll-fel-mandat
- Funktion 1: Processisolation --- Varje Erlang-process har sin egen heap och inget delat minne. Krashar är isolerade; fel är explicit via
link/monitor. Ogiltiga tillstånd kan inte spridas. - Funktion 2: Mönstermatchning + skydd --- All dataåtkomst är fullständig. Omatcherade mönster orsakar kompileringssvarningar eller körningskrashar (inte tysta fel). Skydd tvingar förutsättningar på typnivå.
- Funktion 3: Oföränderlig data + funktionell renhet --- Inga sidoeffekter. Funktioner är renta. Tillståndsändringar sker via meddelandeöverföring, vilket gör systemets beteende matematiskt spårbart och verifierbart.
2.2. Effektivitet och resursminimalism: Körningslöftet
- Körningsmodellfunktion: Lättviktiga processer --- 1KB per process, planeras kooperativt. Miljoner samtidiga processer möjliga utan OS-trådar. Inga kontextväxlingsöverhead.
- Minneshanteringsfunktion: Per-process-heap + copy-on-write-delning --- GC körs per process, inte globalt. Termer delas via referensräkning (ingen mark-sweep). Minnesanvändning skalar linjärt med samtidighet, inte datastorlek.
2.3. Minimal kod och elegans: Abstraktionskraften
- Konstruktion 1: Mönstermatchning på binärer och tuplar --- En enda rad (
<<Version:4, Length:16, Data/binary>> = Packet) ersätter 50+ rader C/Java-parsningslogik. - Konstruktion 2: OTP-beteenden (
gen_server,gen_statem) --- Inkapslar komplext tillståndsmaskinlogik i 20--30 rader. Jämfört med Java/Python-kod: 150--400+ LOC.
3. Slutlig bedömning och slutsats
3.1. Manifestens överensstämmelse --- Hur nära är det?
| Pilar | Betyg | En-rad-motivering |
|---|---|---|
| Grundläggande matematisk sanning | Stark | Rent funktionell semantik, mönstermatchning och processisolation gör ogiltiga tillstånd orepresenterbara. |
| Arkitektonisk motståndskraft | Stark | Övervakningsträd, hot code loading och processisolation garanterar 99.999% uptime i produktionsystem sedan 1987. |
| Effektivitet och resursminimalism | Stark | Lättviktiga processer, zero-copy iolists och per-process GC möjliggör 10x lägre RAM/CPU jämfört med JVM/Node.js. |
| Minimal kod och eleganta system | Stark | Mönstermatchning och OTP minskar LOC med 70--90% jämfört med imperativa språk samtidigt som säkerheten förbättras. |
Största olösta risk: Bristen på formell verifieringsverktyg --- Även om språket är matematiskt genomskinligt, finns det inga mogna verktyg för automatiserad teorembevisning (t.ex. Coq/Isabelle-integrering). Detta är FATAL för H-AFL och D-CAI om regleringskomplians kräver maskincheckade bevis.
3.2. Ekonomisk påverkan --- Brutala siffror
- Infrastrukturkostnadsdifferens: 1,20 per 1 000 samtidiga användare (mot 6,00 för Node.js/Java) --- på grund av 80% lägre RAM-användning.
- Anställnings-/utbildningsdifferens: +25K per ingenjör/år --- Erlang-talanger är sällsynta; utbildning tar 6--12 månader.
- Verktyg/licenskostnader: $0 --- Alla verktyg är öppen källkod och inbyggda.
- Potentiella besparingar från minskad körning/LOC: 80K per projekt/år --- Baseras på 70% färre LOC = 50% mindre felsökning, testning och underhåll.
TCO-varning: För små team eller startups utan Erlang-expertis är TCO högre på grund av anställnings- och utbildningskostnader --- endast genomförbart för långsiktiga infrastrukturprojekt.
3.3. Operativ påverkan --- Verklighetskontroll
- [+] Distributionssvårighet: Låg --- Enkel binär, inga externa beroenden. Docker-image: 50MB.
- [+] Observabilitet och felsökning: Stark --- Inbyggd
observer,eprof,reconger djup runtime-inspektion. - [+] CI/CD och releas-hastighet: Hög --- Hot code loading möjliggör noll-nedtidsuppdateringar.
- [-] Långsiktig hållbarhetsrisk: Måttlig --- Gemenskapen är liten (10k aktiva utvecklare mot 2M för JS). Ecosystem som
Phoenixväxer, men lågnivåverktyg är stagnanta. - [-] Lärandekurva: Steglig --- Funktionell programmering, samtidighetsmodell och OTP-mönster kräver 3--6 månader att behärskas.
- [-] Ingen hård realtid eller kernel-stöd --- Utesluter inbäddade, HFT- och drivraruse-cases.
Operativ bedömning: Operationellt genomförbar --- För distribuerade, hög-tilgänglighets-system (API:er, bokföringar, meddelanden) är Erlang oförglömlig. För team utan funktionell programmeringserfarenhet eller realtidskrav är det en hög-riskinvestering.