The Showdown: Best Ethereum Language | Devcon Bogotá
Devcon·Mon, Oct 9, 2023, 12:00 AM
Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on Swarm, IPFS and more. https://archive.devcon.org/archive/watch/6/the-showdown-best-ethereum-language/ This session will be an unconventional panel discussion. Instead of being boring and repeating the same things, we will spice things up a bit. The goal is to decide which is the best language for Ethereum. How do we find that out? Though a combination of "pub quiz" and on-stage activity (e.g. tug-of-war) between members of different language teams. The audience can chime in as well. Speaker(s): Hari, Leo Alt, Alex Beregszaszi Track: Developer Infrastructure Keywords: solidity,vyper,fe Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 6 was held in Bogotá, Colombia on Oct 11 - 14, 2022. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/
Transcript
foreign [Music] oh wait so this is not the Spanish language I showed up am I bad I'm sorry okay so uh excuse me uh so welcome everyone thank you for being here uh we have a lot of wonderful people in this panel and I'm gonna start by introducing the organizers uh in case you didn't know them already those three wonderful folks over there are the organizers of this event and we have the formal verification lead and compiler engineer uh the ethereum foundation with over 2 000 Twitter followers and over 1 000 GitHub contributions in the last year Leonardo aka Leo alt big round of applause next one we have Team Epsilon lead and solidity language X co-lead at the ethereum foundation coffee addict and evm nerd Alex AKA axic in that side over here and last but not least it's like it's like and last but not least um Harry AKA Hari [Applause] so I do need your password answer foreign Y and now that we have introduced the organizers let's introduce our wonderful participants so from Faye we have Mr Grant Grant is a developer at the EF focused on design and implementation of field Lang before Fey he mostly contributed to consensus clients thank you for your service Yoshi yoshimoto is a developer at the ethereum foundation working on FEI Lang and sonatina compiler back end [Applause] from half we have Joshua Joshua AKA JT former super fluid solidity engineer mobile app developer and half contributor thank you for being here sir from Viper we have Bryant Bryant is the CEO of April x a python Dev tool startup and a contributor to the Viper compiler he has also contributed on several eaps and core python libraries in the ecosystem from the ATK language we have Ansgar he's a researcher at the ethereum foundation previously at consensus quilt he has worked on protocol improvements including eips 3034 4488 and 48 44. thank you for your service I'm amazed I pronounced that right now from the solidity team we have Camille is one of the core developers at the salinity team at the ethereum foundation he is also a co-founder of code poets a Polish Software House specializing in chemi informatics and blockchain in the past he worked on a variety of software projects in multiple languages ranging from Video Editor to C plus plus to python web development to Devos and infrastructure his blockchain experience started with a printing cooperation with Golem he's currently focused on the solidity language and compiler wow thank you Camille and Daniel Mr Daniel has been with the solidity team for the past 4.5 years he's passionate about talking so taking somebody to the next level with generics and he will be taking over the language technical lead role at the solidity team wow thank you everyone for being here it is everybody Pleasant thank you all for being here as well so we are coming with a pop quiz there are no drinks but maybe later will be so uh let's start with some historical questions Mr Leo would you mind uh showing them on the wait you can see that all this is improvised one for you just in time development you know how this works so we are gonna go through a couple of questions to make this fun in order to see which language is the best one uh please do not kill each other like we really appreciate your work and our bloodbath here is not wouldn't be actually quite fun so and don't cheat absolutely not I we will verify we have a formal verification lead here and Harry is going to be taking over that role today he will be standing up and checking that your answers are actually correct and if they are correct then you will score a point and there may be or may not be a price at the end I cannot confirm nor deny so let's go with history language okay are you ready listen to me so who was the original creator of each language so for Viper half fade solidity and etk and you have 30 seconds 15 seconds four four pins up pants up pants up ends up friends down or pencil thank you okay so should I say their answers okay so for okay say that loud favorite Sanders Mr how are you confirm oh you're asking me I just put grant you know just optimistically okay uh what about you did you write it down ah shall we given a half a point maybe left [Applause] okay so what did you what did you write for a half okay so no point what did you write for solidity no let's go one by one solidity whatever for 80k doxed okay okay so he gets the points as well right okay what did you write for for Viper okay vitalik point so go through your list again discuss your business again okay next one on the list solidity no no TK no idea yes sir uh not like solidity is Gap in Wood I believe and Faye is David but I only wrote David okay give me the mic okay let's go down the list oh yeah how do you define your mind yeah they are the dictators of this game they get to decide and the bottle begins okay next one [Music] but apparently that was wrong and I have I had no idea and salinity okay so for solidity we put giving increase uh for five Grant and we run out of time for others all right so oh well the answer is if the colleagues are wondering about the answer so Viper is vitalik for half is Zach for Faye is David Sanders for salinity Chris and God and ATK Sam Mad Dogs again that's fine let's go to the next question in regards to the parity hack Okay so there's Ah that's a great question so there's gonna be five um okay so let's give you one minute for you this one okay so there's gonna be five questions here so for the ability hack number one what was the GitHub issued title of the priority hack by devops 199. the second question is what was the text in the first comment the third one what year was it the fourth one was it solid is fault and the fifth one is what Viper feature proposal was motivated by it you have one minute what processing are you gonna how are you gonna answer that okay this is gonna be good the last one is what Viper feature proposal was motivated by you have 25 seconds you have 15 seconds to open your Google browser and find the answers online now foreign okay so let's go one by one and let's start from the other side this time okay so what was the GitHub issue title of the party hack by devops no idea okay what was the text in the first comment convince it I killed it that's probably what it was I accidentally killed it yeah okay what year was it 2017 was it solidity's fold of course not okay what Viper future proposal was motivated by it no idea okay so sir let's go over here yeah um okay so uh I couldn't remember the title either something like anyone can I don't know something something anyone can yeah but I forgot the rest I don't know can give me half a point if you want to uh and then I put down I think I killed it but apparently it was I accidentally killed it I don't know uh 2017 I guess as well of course not solid his fault I mean you know given the judges here what else can you say um and no idea about the Viper feature let's go with you sir oh I forgot the title of the issue uh I accidentally killed it 2017. and was it to leave this fault I have to think about that I guess not not this time and I forgot the feature proposals I probably made [Music] cool uh what was the GitHub issue title no idea the text in the first comment no idea what year was it no idea what is the latest fault yes what Viper feature proposal wasn't divided by no idea good that was awesome title uh so I guessed we got hacked it was a joke uh text in the first comment [ __ ] dot dot dot what what year was it uh 2017.
was it the latest fault no what Viper feature proposal was uh re-entrancy protection but um okay so uh I guess they both have already been assigned let me go through the answers for the public and the audience at home come here play with us sir okay so that's the first answer to the question what was what was the text in the first comment does anyone know yes sir what year was it who knows that that was easy was it so this is fault I cannot confirm Northern ire at this point what Viper feature proposal was motivated by it and yeah so Alex said it was like cloning Factory all righty are we ready to go to the next section regarding ethereum evm knowledge yes alrighty so here's the first question for which you will have uh 30 seconds which is what is the cheapest evm up code just name one you can name more name as many as you can what is the cheapest evm up code five seconds oh this point is awful okay so let's start with you minus one point okay zero points ah this is a dictatorship sorry we put down code size at two guys but after the fact we think it was like jump this at one no okay who here knows the right answer sir there's two points for you sir good job give this man a beer and there is one more there is one more it's revert apparently okay shall we go to the next evm question 30 seconds which up code was motivated by the dial hack 30 seconds which op code was motivated by the Dao hack you got seven seconds go for it three two one okay so let's start from here which up code was motivated by the dial hack s that's correct he had no idea but that's correct all right okay next it's okay people get lost usually no okay okay next question are you ready can you emit logs in a static call I'm giving you 30 if the public wants to answer them please go ahead you will gain nothing but you will get knowledge you can write it down actually yeah you can just if you have a phone or something just like play along [Music] well this is what just two is you're not even gonna bother something at all okay so shall we start asking okay so what about the public can you emit logs in a static call no that's right that's right okay next one all right so which up code returns to stack items which op code returns to stack items so you have 10 seconds the audience also if you if you know it then like write it down time yes that's the spirit okay all right so shall we start with that side okay so which op code returns two stack items yeah we should really know but I don't right now no point known it's like the answer or not like you don't know uh it's just too fast I don't have any time so it's actually none okay what was it genius next one Okay so which up code reverts on out of bounds access into 30 seconds and I'm asking you two this time which up code reverts on out of bound access five seconds he's wrong okay so hey let's talk with you uh call data copy oh no obviously the uh no I remember a bit too late it's returning the coffee I think that's true though we had returned in a coffee we actually got something in the Optima wrong about that once well I cannot ask you anymore because I already know the answer so it wouldn't make sense okay next category language specific questions wow someone has a follower here okay so the first question is what is the latest release of Viper solidity phase half and ATK let's do 35 seconds this is five seconds one okay which way shall we start Alex you tell this time okay so for Viper no idea okay for solidity uh op 0.8.17 for pay or something he's not wrong for half oh something for ATK or something okay sir I have zero points uh Viper nothing soluti 0.8.10 is what I guess but apparently we have power beyond that okay no idea Huff no idea ATK no idea slum I put down 1.
0 just in case you know oh that was close though sir Viper solidity huh put forward not applicable is that a valid answer no and etk all right I'm sorry okay okay great now you can hear me buff it on the recording awesome so uh yeah Viper 0.3.4 solidity 0.8.18 Huff 0.
1.0 etk no idea fee no idea which one like I'm pretty sure the salinity docs points to 0.8.18 though I'm going to check that you've got drugs all right well uh fee might be 0 18.0 um solidity zero dot eight that's something and I didn't know any of the other ones I like his honesty no okay so let's give you all the answers so Viper 0.
3.7 sorry ET 0.8.17 Fe 0.19.
1 have only night lies TK 0.2.1 good job [Laughter] okay so next question what language was serpent written in Viper and Viper how do you pronounce those foreign yes so those are three questions 35 seconds folks what language was serpent written in Viper and Viper thank you okay are you ready so uh let's start with you folks so serpent what language was it written with oh yeah the mic this is working yeah let's say python okay and Viper python and a Viper we said the rust but I suspected might be python so what's your final answer python okay for you sir so uh for the three like I I put down python python C so which which one is which well uh serpent python Viper python Viper with an y c I don't know not bad sir uh surface are in C plus uh Viper with a Y is written in Python and Viper with an I from the ecff uh whatever it's a formal verification tools written in C plus oh did you forget about that did you forget about that that's the reason why we have to change the name from fiber with an eye to Viper with a Y because but they're not though [Laughter] technically correct is the best kind of correct can someone verify this can you give me like five or ten points for this okay uh sir serpent uh uh I said python three times well that's two out of three so and you folks yeah uh serpent python Viper with a Y Python and Viper with an i c plus even 2.01 points wow that was pretty curious actually how okay so uh are you ready for the next question so what language is half written in 35 seconds what yeah there's like multiple answers and you get many points write down all the programming languages they are I think it's in vipers okay you have five seconds you know that half was brilliant in half okay so let's start with you folks rest okay so that's the only answer you had yeah there was a another language I think it was uh was it originally implemented in C plus plus I don't know but now it's implemented in Rust so rust is correct would you would you put the mic all right so original Huff no idea uh slightly modern Huff typescript modern modern Huff rust that's two points for you sir typescript I wrote Haskell which is cool in this room that's a solid answer okay yeah Mingus was dressed and then I I was just throwing in C plus but apparently that's wrong so rest that's one point so we wrote rust all right so well the correct answer was also does anyone know actually there is three answers so rust is one typescript is another there's a third one hands up so no I don't hear an answer JavaScript can we give him a point okay I tried I'm sorry okay so uh shall we go to the next question Mr Leo okay are we ready what was Faye originally called 35 seconds five more seconds all right so yeah we had it earlier but I don't remember exactly what's rusted something he put down rust Viper but that's correct wow respect no I did not put down rust but I just you know I put down fee with two e's because that always confuses me but you know uh the correct answer is Russ Viper because it was originally supposed to be a rust implementation a Viper compiler even though it didn't follow semantics at all uh not rust Viper breast Viper well Harry's not very fine the answers anyway so all right are you ready for the next one which solidity version introduced named function arguments you have one hour to answer this question If someone knows this stand up and scream it out loud which saluted version introduced name function arguments foreign it's obvious 15 seconds yeah let's do that one one okay we got two one and time's up okay let's start from that side one four zero okay the audience any answer okay uh I said o4o do you want to change your answer okay just write it down don't forget I give a little bit of a benefit of a doubt and I said zero one two a little bit I'm surprised the answer isn't immediately no answer changes right okay I put down zero four zero you're good okay it was long before my time but it was there for ages so I said like 0.1.
0 but Okay so we said uh should I say no you say this Alex so it could have been oh yeah so I get a half a point right I guess something before that time yeah you know this Oprah Winfrey meme you get a point you get a point okay so ready for the next question which pre-compiles do not have a built-in in solidity 30 seconds there's multiple Alpha leak which pre-compiles do not have a built-in in solidity multiple answers are allowed so uh let's start here yeah we had identity that's the only one that I was sure uh then some hash thingy with B but like something yeah that's a that's does it ever Freedom finally these days I don't know but they're the only ones you have okay that's one point right wow Viper going hard yes right pretty similar answers that like the identity one and then this hash thingy but I didn't even know that like it began with a B so I put it ah so do with that what you want maybe we should just rename it to the hash thingy pre-compile I said identity and Blake 2. identity and shot 256. no idea okay that's the audience know there's more so again no well for the sake of time it's going to be identity pairing and black 2. all right let's go to the next one okay so two questions here when was Yule introduced and what was it originally called and you can get bonus points because Alex says so answers okay you have five seconds when was Yule introduced and what was it originally called okay uh shall we start with you sir uh 2018. and something that started with a j supposed to be a version a year it's a year okay pause the mic no no no points I'm sorry uh no idea when but it was originally called Julia I rode zero four two six which was released in 2018 so that's kind of right there yeah I had no idea about the name I put down 2017.
that's a point for him it says 2017 here but you're the master [Laughter] uh so yeah you have you also had I think we also only named the deal in 2018 but introduced it maybe as Julia earlier but not sure so they got one or two feet you got yeah let's do two why not I'm 0.5 from him is everyone happy yes let's continue then next question what version introduced metadata support or metadata depending how do you pronounce it for solidity and also Viper so what version introduced metadata support in solidity and in Viper two questions in soluti I mean Viber you should know this is [Music] two seconds no so we are discovering a lot of new things here we are learning together isn't that fun so yeah why probably guess zero three four uh for solidity it was before our time and we guessed there was three six well that's a fun puff quiz were there any questions and answers but uh I put down solidity 0.30 um Viper I don't know 0.20 plausible you know sure uh selated Team actually got the Viper one right zero three four and then I wrote zero four twelve for solidity probably have to look that one up then no idea straightforward no idea I also have no idea Alex just one point for everyone [Laughter] okay uh we're almost done next question what version allows disabling the metadata in solidity and in Viper so personality and for Viper which version allows disabling the metadata sure for Authority I'm for Viper okay everyone seems so confident I'm just gonna oh thumbs up Okay so yeah I don't know any of these version questions okay no idea for solidity I put zero eight eleven because why not and Viper I put zero three seven that's one point wow yeah if I put 0.34 and then solidity I put zero seven zero all right can I put some Mike okay for for Viper we said 036 and for solidity okay 034 and for solution we measured the pr like last week so it will be 08 18.
that's one point okay the last question of the pub quiz if you win this you win this you win everything or not Okay so if you name them correctly all of them so even the audience if you name it then you win as well so name one forgotten evm language there's multiple apparently name one or a couple or name all of them thank you five seconds time flies okay so shall we start with you I just wrote surfing I'll do that uh there was like three others I remember but vaguely can you just like remember one of them was uh that guy that used to work on formal verification for the EF before he left in protests right um yeah what was it called okay so I'll pass the mic uh serpent it's forgotten we put uh Serpent and solang 's pretty actively developed guys what is souling okay sir yeah I didn't didn't think serpent counted as as forgotten I put down move you know because why not I think that compiles to evm right okay so we have LL and nib okay the audience what's your plan oh wow [Music] hi uh well the answers apparently are like mutton lll and bamboo have you heard of those okay well congratulations everyone for this amazing uh display of knowledge that we got here now we have a should I introduce a yeah the question audience right but okay so let's introduce the question for the audience okay this is for you and you will have to scream and shout and jump or not I don't know okay so what is the best solidity version in 2018. why argument your argument your what's your thesis the correct answer is it's a trick question so I'm would upset it foreign okay okay and what what feature would you remove [Applause] we too okay and well um we are um out of time okay we have 10 minutes for you want to do this are you sure sorry okay so you are going to be you have not only seen a massive display of brain power but you will also see a display of strength okay so Harry would you mind would you do would you do the honors do you know what a tog war is and because uh there is like too many solidity people so I don't know you're one of them Okay so yes would you like that yes yes she likes that and he took my sock I want that talk back Okay so how do you wanna put this we need some people on one side and we need people on the other side so okay you also count do you do you think the organizer should also do like participate in this right take positions [Laughter] does anyone have like a rock music or like something solid to play in the background one until one loses of course so one two three four five yeah is is anyone recording oh yeah yeah [Music] we need to talk a bit more in the middle okay so you see you see you see this if you put it a bit here in the in the in the middle Ah that's it okay at the count of zero three two one go the solidity team is becoming strong thank you all for coming thank you all for tuning in in this language Showdown thank you all for your time
Automatic transcript — names and jargon may be misspelled.