|
Post by christian on May 19, 2018 8:54:06 GMT 1
Det verkar som en stor anledning av Solidity är att använda något som är populärt hos utvecklare, idag javascript/go liknande syntax. Men populariteten inom programmeringsspråk förändras under tid, så hur kommer detta påverka utvecklingen av Ethereum. Ett index man kan se förändringar i popularitet är TIOBE index www.tiobe.com/tiobe-index/Länk till Solidity solidity.readthedocs.io
|
|
|
Post by tedskyvell on May 19, 2018 20:35:46 GMT 1
Blev lite nyfiken när jag läste ditt inlägg, och började med fundera över Solidity. Varför behövs det ett helt nytt språk för att skriva smarta kontrakt? Rent intiutivt känns det som att det vore bra att hålla inlärningskurvan så låg som mjöligt, för att steget in för nya utvecklare skall bli så litet som möjligt - detta för att locka fler utvecklare som utvecklar smarta kontrakt för Ethereum platformen. Nu måste potentiella utvecklare istället lära sig ett nytt språk, vilket höjer tröskeln man måste över för att utveckala på platformen. Någon som är lite mer insatt och som faktiskt har använt Solidity för att utveckla smarta kontrakt för gärna svara på detta. Varför räcker det inte att koda ett "libray" i e.g. python som man gör för allt annat typ - varför behövs Solidity?
|
|
|
Post by andreas on May 20, 2018 7:58:03 GMT 1
Jag tror att hur EVM eller Ethereum Virtual Machine är uppbyggt är de underliggande till att varför man valde att skapa helt nya programmeringsspråk istället för att använda något populärt som redan finns. EVM är en runtime env för smarta kontrakt i Ethereum kedjan. Den byggdes för att smarta kontrakt behöver vara helt deterministisk (eng. determinism). Med det menas att när en processen körs, ska det produceras samma resultat för en specifik input. Det är extra viktigt för att garanterar att olika maskiner ska få exakt samma output när samma inputs anges. Utöver att processer måste vara determinism behöver koden som lagras vara minimal, hålla onödiga "features" till ett minimum som kan innefatta säkerhetsrisker, infinite loop restrictions, mm. Programkod behöver kompilera till bytekod som kan förstås av EVM. Det är här Solidity kommer in i bilden, ett minimalt språk som är skapat för att hantera kontrakt i EVM. Det skulle gå att använda mer populära programmeringsspråk men den här koden måste följa vissa krav och sedan kompileras till bytekod som kan förstås av EVM. Det gör det mer praktiskt skapa ett nytt språk som är reglerat och optimerat för hantera kontrakt än att porta ett existerande språk för att fungera mot EVM. Om någon har något att tillägga eller tillrättavisa mig så är de mer än välkomnande. - Andreas
|
|
bjorn
New Member
Posts: 4
|
Post by bjorn on May 20, 2018 21:13:38 GMT 1
Intressant fråga! Preferenser för olika programmeringsspråk kan ju variera kraftigt mellan olika utvecklare och verkar kunna framkalla känslor av närmast religiösa proportioner. Därför tror jag att just valet av språk, och hur det är utformat kan vara av stor vikt för hur Ethereum-kedjan utvecklas. Ett problem som jag ser det är att man behöver vara hyfsat väl insatt i Solidity för att kunna sätta sig in i, och förstå, ett kontrakt, och det tror jag kan verka avskräckande för den breda massan och hämmande för kedjans utveckling. Det blir svårt för den "breda massan" att få förtroende för systemet. Nyligen läste jag om ett projekt som har som mål att ta fram en ny kedja som stödjer kontrakt skivna i ett språk som bygger på naturligt språk, vilket skulle göra det mer begripligt och tillgängligt för folk som inte är så insatta i programmering. Detta tror jag kan vara ett steg i rätt riktning för att få smarta kontrakt att få större spridning. Går vi dessutom in på den religiösa biten, så verkar det som att den här blockkedjan implementeras i Common Lisp - ett mycket gott tecken som bara kan leda till framgång Kedjan kallas för emotiq, och för mer info, se emotiq.ch//Björn
|
|
geir
New Member
Posts: 9
|
Post by geir on May 23, 2018 22:28:55 GMT 1
Kom ihåg att blockkedje teckning är relativt ny och möter en del motstånd. Men när beslutfattare börja se nyttja så tar det inte länge för de stora drakarna Google, Microsoft, Facebook och Amazon att göra ett bättre/ enklare språk än Solidity eller gör moduler till EVM. De har båda resurser och kapital till sådant.
|
|