Dove si posizionerebbe Erlang sullo spettro della concisione tra, per esempio, Java/.net sull'estremità meno concisa e Ruby/Python sulla parte più concisa dello spettro? Ho un problema di RSI, quindi la concisione è particolarmente importante per me per motivi di salute.Erlang è un linguaggio conciso dal punto di vista di un programmatore?
risposta
concisione come caratteristica del linguaggio è mal definito e probabilmente non uniforme. Lingue diverse potrebbero essere più o meno concise a seconda del problema.
Erlang come linguaggio funzionale può essere molto conciso, oltre a Ruby o Python. Nello specifico, la corrispondenza del modello spesso sostituisce se le istruzioni e la ricorsione e la comprensione delle liste possono sostituire i loop.
Per esempio Java dovrebbe avere qualcosa di simile:
String foobar(int number){
if (number == 0) {
return "foo";
} else if (number == 1) {
return "bar";
}
throw new Exception();
}
mentre il codice Erlang sarà simile:
foobar(0) -> "foo";
foobar(1) -> "bar".
Con l'eccezione che è intrinseca perché non v'è alcuna clausola per l'ingresso altro allora 0 o 1. Questo è un problema che si presta bene allo sviluppo di stile di Erlang.
In generale tutto ciò che è possibile definire come una trasformazione corrisponderà a un linguaggio funzionale particolarmente bene e può essere scritto in modo molto conciso. Di fatto molti zelanti del linguaggio funzionale affermano che qualsiasi problema nella programmazione è una trasformazione.
Erlang consente di realizzare la funzionalità in pochissime righe di codice, rispetto alle mie esperienze in Java e Python. Solo Smalltalk o Scheme mi sono stati vicini in passato. Hai solo un piccolo sovraccarico, ma in genere tendi a parlare di identificatori per moduli, funzioni, variabili e atomi. Rendono il codice più leggibile. E hai un sacco di bretelle normali, ricci e quadrati. Quindi dipende dal layout della tastiera di quanto sarà confortevole. Dovresti fare un tentativo.
mue
Erlang è sorprendentemente conciso soprattutto quando si desidera ottenere prestazioni e affidabilità.
Erlang è concisa anche rispetto a Haskell:
http://thinkerlang.com/2006/01/01/haskell-vs-erlang-reloaded.html
Ed è sorprendentemente veloce (e affidabile) anche rispetto a C++:
(18 volte meno SLOC non è una sorpresa).
In ogni caso dipende sempre dalle preferenze e dall'obiettivo ciò che si desidera ottenere.
Devi passare un po 'di tempo, scrivere codice, per capire il punto debole di erlang, rispetto a tutti gli altri strumenti emergenti, DHT, doc store, framework mapreduce, hadoop, GPU, scala, ... Se provi a fare , diciamo app di tipo SIMD al di fuori del punto debole, probabilmente finirai per combattere il paradigma e scrivere codice verboso, mentre se riscontri problemi che necessitano di scalare server e middleware senza interruzioni, esso scorre in modo naturale.(E anche l'aumento di scala nel suo punto debole è inevitabile)
Una buona cosa da cercare sarebbe l'esperimento di Tim Bray Wide Finder (distillazione di grandi file di log di apache) di un paio di anni fa, e come è stato deluso da Erlang.
io in genere non consiglio mettere molto negozio nella sparatoria Alioth, dato inevitabilmente finisce per il confronto veramente buono e il codice cattivo, ma se avete bisogno di mettere i numeri di LOC, Erlang vs C, Ruby, qualunque sia
- 1. Che cos'è fatwire dal punto di vista del programmatore?
- 2. Framework .NET dal punto di vista di un programmatore di basso livello
- 3. Come il linguaggio funzionale è diverso dal punto di vista dell'implementazione del linguaggio
- 4. Qual è il linguaggio di programmazione più conciso?
- 5. Impara UML ma dal punto di vista C# ... (sono un principiante)
- 6. Facebook-connect o OpenID? Dal punto di vista dello sviluppatore
- 7. Come appaiono le stringhe dal punto di vista del compilatore?
- 8. ExpandoObject vs. Dizionario dal punto di vista delle prestazioni?
- 9. Tracciamento GPS efficiente dal punto di vista energetico
- 10. Come convertire un punto di vista GeoPoint in un punto dello schermo dell'hardware
- 11. Mathematica è un linguaggio non tipizzato?
- 12. replica di un punto di vista della rete in lattice
- 13. Team Foundation Server - Guida di un programmatore
- 14. C# è adatto per un linguaggio di scripting?
- 15. UML è un linguaggio di programmazione?
- 16. C# è un linguaggio di alto livello?
- 17. Cerchi un programmatore di eventi per Delphi?
- 18. Oltre a un linguaggio dichiarativo, SQL è un linguaggio funzionale?
- 19. JavaScript è un linguaggio applicativo?
- 20. Vala è un linguaggio multipiattaforma?
- 21. Spiegazione di matrici annidate a un programmatore
- 22. Controllare se la directory è un punto di montaggio?
- 23. Python per un programmatore Perl
- 24. Definizione di OOP per un nuovo programmatore
- 25. ASP.Net è un linguaggio di scripting o un framework?
- 26. Perché il codice della GUI è così costoso dal punto di vista computazionale?
- 27. Concorrenza in stile Erlang nel linguaggio di programmazione D
- 28. Trova angolo di un punto dal centro del cerchio
- 29. come riavviare un metodo dal suo ultimo punto di errore
- 30. Come si calcola un punto sulla circonferenza di un cerchio?