handdator

Visa fullständig version : Nya warhammer 40k MMO kor Erlang



flodihn
2013-08-15, 03:04
Tyckte det ar intressant eftersom jag tror att Erlang kommer ta over i stort sett alla server/natverks-baserade program.

http://n4g.com/news/1333142/warhammer-40-000-eternal-crusade-creators-will-team-up-with-muchdifferent-to-use-pikkoserver

Jordgubben
2013-08-15, 16:51
Intressant video, även om den inte gick in så mycket på djupet.

Men NU kan jag (som språk-nörd) inte hjälpa att bli nyfiken. Påståendet Att "funktionella språk + servrar med stor last == sant" är jag helt med på. Men varför just Erlang? Varför inte lika gärna t.ex. OCaml, Haskell eller Scala?

flodihn
2013-09-10, 11:31
Ditt pastaende ar ungefar korrekt. Jag skulle saga att funktionella sprak + serverar med stor last ar sant, med inte med p.g.a att dom ar funktionella sprak. Du kan exempelvis hantera lika stor last med C/Java/C# etc, det ar blir bara mycket mer jobb.

Forutom att vara ett funktionellt sprak har Erlang bra stod for reliabilty (via supervisors), distribution (via noder och dess egna namnservers). Darfor ar det enklare att bygga servers i Erlang an i exempelvis OCaml/Haskell/Scala.

Jordgubben
2013-09-10, 19:01
Forutom att vara ett funktionellt sprak har Erlang bra stod for reliabilty (via supervisors), distribution (via noder och dess egna namnservers). Darfor ar det enklare att bygga servers i Erlang an i exempelvis OCaml/Haskell/Scala.


Coolt!

Men.. Hmm.. Supervisors? Det här låter lite bekant, lite som i Akka (http://http://akka.io/) (vilket i sin tur väl mer eller mindre är Erlangs design-filosofi i Scala på JVM:en, så din poäng kvarstår).

En annan sak om Erlang, är det inte det där språket där du kan byta ut koden medan processen fortfarande är igång? (En ganska vettig sak att kunna göra i en televäxel.. eller ett MMO).

flodihn
2013-09-11, 02:26
Coolt!

Men.. Hmm.. Supervisors? Det här låter lite bekant, lite som i Akka (http://http://akka.io/) (vilket i sin tur väl mer eller mindre är Erlangs design-filosofi i Scala på JVM:en, så din poäng kvarstår).

En annan sak om Erlang, är det inte det där språket där du kan byta ut koden medan processen fortfarande är igång? (En ganska vettig sak att kunna göra i en televäxel.. eller ett MMO).

Supervisors ar speciella processer utan egen logik (darfor ar dom i stort sett buggfria) som overvakar andra processer och kan starta om processer nar dom krashar. Du kan fa ett valdigt robust system om du bygger supervisor trad, dvs supervisor som overvakar andra supervisors likt ett trad dar arbetsprocesser kors i botten.

Ja Erlang stodjer 2 versioner av samma kod i minnet samtidigt. Darfor kan man lata vissa processer arbeta klart innan dom upgraderas till den nya koden, vilket gor att man inte behover starta om system for att upgradera. Detta gor det aven mojligt att uppgrade kod som kors utan att avbyta nagonting, exempelvis kan du upgrade koden for en spelare i ett MMO utan att dom behover sluta spela (dom spelar bara pa som vanligt utan att uppgraderingen marks fran deras sida).