8 ms·
Tangential, and because I had to look it up: > Verse has been designed by some people who really know what they’re doing: Lennart Augustsson, Joachim Breitner,
by AceJohnny2 4y ago
Tangential, and because I had to look it up:
> Verse has been designed by some people who really know what they’re doing: Lennart Augustsson,
Joachim Breitner, Koen Claessen, Ranjit Jhala, Simon Peyton Jones, Olin Shivers, Tim Sweeney
The listed people are all luminaries of the functional programming world (and adjacent, like theorem proving and software verification), particularly Haskell. Hell, Simon Peyton Jones is one of the creators of Haskell.
My point is, the creators of Verse aren't just a bunch of coders (pejorative) who felt like creating Yet Another Language.
- AceJohnny2 4y agoNevertheless, I've yet to see an explanation of what problem Verse aims to solve that isn't solved by other languages out there. It's still very early (while announced last year, it was only just shown at GDC last week!) so I expect we'll be hearing a lot soon. Obviously, the association with Fortnite won't do it any favors. They claim they want
- CharlesW 4y ago> Nevertheless, I've yet to see an explanation of what problem Verse aims to solve that isn't solved by other languages out there. You might find the explanation in TFA helpful: > "A battle royale lobby has just 100 players, which fit within a single compute shard. > "But Fortnite is much more than just battle royale. A huge number of Fortnite players are on custom game modes made by people outside of Epic Games. It’s easy to imagine game modes having a few thousand players which can’t fit within a single shard. How do you scale to handle all that game state, correctly? > "Software transactional memory is at the core of Verse. Computation is categorised by transactions and ability to rollback. The goal is to make it easy to write working software across multiple servers. A big goal; we don’t often see programmers do that successfully!"
- AceJohnny2 4y agoI'm hearing "Haskell mashed with Erlang"
- ABeeSea 4y agoThe pitch for SPJ to leave MS research on Haskell for a video game company must have been pretty compelling so I’m very interested to see how this evolves.
- whateveracct 4y agooh I'm $ure it wa$
- deleted 4y ago[deleted]
- nequo 4y agoI think it may have been desire for impact. SPJ spoke with disappointment about his lack of impact on Microsoft's products. Excel did end up adopting lambdas but that took a decade and a half. Inside Epic, he can roll out functional programming to a young audience that hasn't done much programming before. And from what I can infer, Microsoft Research seems to be paying quite well. Do you have knowledge that indicates otherwise?
- eru 4y agoWasn't he kicked out of MS research for silly regulatory reasons? I mean he had lots of options, so the pitch from Epic must have still been pretty good.
- ClimaxGravely 4y agoCan you elaborate on why he was kicked out? That's news to me.
- eru 4y agoFrom what I've heard, Microsoft wanted to downsize the research department in Cambridge. By UK labour laws it was possible to lay off basically everyone in a department, but would have legally been much harder to cherry-pick a few people to keep.
- illiarian 4y agoSTM isn't a new concept. How does it relate to "writing software across servers"?
- srgpqt 4y agoSTM is the Haskell people’s hammer solution to everyone else’s nail problems.
- actionfromafar 4y agoWell, most everyone else is using duct tape, bailing wire and spit to solve those problems.
- illiarian 4y agoThis doesn't explain what STM has to do with it. On the other hand you have Erlang thesis from 1980s which is still true: https://erlang.org/download/armstrong_thesis_2003.pdf https://erlang.org/download/armstrong_thesis_2003.pdf (updated in 2003)
- ClimaxGravely 4y agoI was playing with UEFN quite a bit the last week. As far as I can tell there is no way to make the player limit larger than 100 currently. Maybe it's a plan for the future.
- jayd16 4y ago>Nevertheless, I've yet to see an explanation of what problem Verse aims to solve that isn't solved by other languages out there. The major problem being solved is that Fortnite did not fully control the fate of any other language.
- soup10 4y agoit's also well known that if you put a bunch of functional programmers in a room and let them marinate its only a matter of time before they make another functional programming language
- Kiro 4y ago> Obviously, the association with Fortnite won't do it any favors. What do you mean? I can't think of a better way to fast track a language to mass adoption.
- illiarian 4y agoOr they might be just creating a Yet Another Language precisely because they are luminaries of functional programming. Those often tend to chase a yet another unattainable dream of "the one true functional language". When you type the words "the really know what they are doing" when talking about a language for game programming, I would expect people who know about game programming first, and about language design second. There's a reason C/C++ and even C# are the go to languages for game programming, and not Haskell. For example, the only presentation we've seen so far literally talks about Yet Another Language without mentioning a single problem it solves for game programming.
- ClimaxGravely 4y agoC/C++/C# are indeed often used for game programming but when it comes to gameplay logic scripting there's a lot more options. Lua, blueprint, lisp, angelscript, unity's graph language etc..
- paulddraper 4y agoYeah, Lua is super common. Not exactly sure why, but it really is.
- codebje 4y agoLua is super common because it's super easy to embed into a C(++) project.
- Yoric 4y agoIf I remember correctly, one of the main original reasons was that it was super easy to embed.
- paulddraper 4y agoIsn't that true of Python as well?
- 4y ago
- 542458 4y agoAt the same time… the language is interesting, and I’m sure it’s technically very well designed, but I’m not sure it’s a good fit for the task they’ve got. The apparent goal is for this to allow anybody to democratically contribute to Fortnite (a game most popular with a fairly young audience), but the language feels very technical and not-beginner-friendly to me. For example, it’s fairly symbol-heavy (making it intimidating and hard to read), uses inverted pascal case, and has some tricky semantic whitespace (it has indent-based comments!). Bar():int = if (Foo[]): 1 else: 2 Find(X:[]int, F(:int)<decides>:void)<decides>:int = for (Y:X, F(Y)): return Y false?
- CharlesW 4y ago> The apparent goal is for this to be a “now everybody can contribute to Fortnite, democratize content” thing… I don't think so. TFA notes that Verse was created to support a non-trivial use case, which is to make it possible to write software that works across multiple servers in order to support thousands of simultaneous players.
- 542458 4y agoEpic’s very first design goal for Verse is “simple enough to learn as a first-time programmer”, and all of their intro docs are framed around making content for Fortnite. https://dev.epicgames.com/documentation/en-us/uefn/verse-language-reference https://dev.epicgames.com/documentation/en-us/uefn/verse-lan... AFAIK at present time there’s no way of even using Verse outside of Fortnite mods. It certainly seems that it’s best suited for the use case you described, but their site is trying to sell it as a “let’s all learn programming and mod Fortnite” thing.
- waboremo 4y agoYes, but it's not an exclusive design goal. Other goals are listed on that page and you can see how design tradeoffs happened. You don't prioritize simplicity over all and make concurrency a core pillar! And certainly I think they pulled it off. Go through the lessons here to see what I mean in nothing stands out as beginner unfriendly here, but it's also not black boxing much in the way Python would. https://dev.epicgames.com/documentation/en-us/uefn/learn-the-basics-of-writing-code-in-verse https://dev.epicgames.com/documentation/en-us/uefn/learn-the...
- ClimaxGravely 4y agoThey forgot to include Conan Reis who has been at epic working on that stuff for a long time. He authored a game-specific scripting language called Skookum Script. I have used it a small amount on a couple projects. It's an interesting language but I didn't get deep enough to really have a strong opinion. Interesting to see some of the Skookum script async specific features in Verse such as the race keyword.
- eru 4y agoTo add: Lennart Augustsson created the first publicly available Haskell compiler. I worked with him briefly, and also talked over beers. Great chap!