Live data from Hacker News

Type system of Fortnite's Verse language

brianmckenna.org

91–100 of 159 posts

Re: Type system of Fortnite's Verse language

#91

There's a lot of bummed out comments in here about the syntax, but to me it looks a lot like what someone might see in a reimagined Typescript. Maybe a little Haskell thrown in for good measure. I agree they probably would have been better served just using an existing language with loads of existing tutorials like C# or Python, but if they're going to make something totally from scratch, I think a lot of decisions w…

The main problem with using an established language like C# or Python in an embedded context is that they come with an expectation that the existing library ecosystem is supported. And that’s often just not realistic.

The security implications of embedding a language like Python can be massive. Even the most basic libraries would be broken (e.g. a sandboxed script won’t be able to read and write files). And it may be just too much of a burden to try to enable decades of legacy cruft built with different assumptions than the host app (e.g. blocking vs async).

You end up with a halfway language that has the syntax but none of the ecosystem. And that’s a poor experience for a new developer who googles a Python tutorial, copy-pastes code into Fancy Metaverse App, and is immediately greeted by a horde of mysterious errors.

Re: Type system of Fortnite's Verse language

#92
post #12
post #5

Earlier quoted context omitted.

At 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 int…

+1 to this. If anything, you have a language that looks like it was made by luminaries, for luminaries. If you want something that would get kids that wanted to get into programming to create custom Fortnite modes, you want something that looks closer to Scratch or Python. I want to say Roblox has made programming quite accessible to children iirc

Why does it have to be either extreme? It certainly looks much easier than Agda or Coq. As someone without a CS degree, I applaud them for not racing to the bottom and creating an ad-hoc dynamically-typed soup, which still needs an instruction manual, if only to figure out how the equality operator works.

Re: Type system of Fortnite's Verse language

#94

There's a lot of bummed out comments in here about the syntax, but to me it looks a lot like what someone might see in a reimagined Typescript. Maybe a little Haskell thrown in for good measure. I agree they probably would have been better served just using an existing language with loads of existing tutorials like C# or Python, but if they're going to make something totally from scratch, I think a lot of decisions w…

> There's a lot of bummed out comments in here about the syntax

Consider the target audience - first time programmers. Verse has a syntax without the historical baggage of C, but still rather conventional. They avoided going off into functional strangeness land. ("Daddy, what's a monad?")

    Define and initialize   :=
    Equality test           =
    Assignment              set a := b
    And                     and
    Or                      or
Reasonable enough.

Re: Type system of Fortnite's Verse language

#95

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 i…

Nevertheless, 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

> 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.

Re: Type system of Fortnite's Verse language

#96
post #5

Earlier quoted context omitted.

At 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 int…

The typical perspective with functional programming, if you buy it, is that it is a little more investment in getting going, but once you have something compiling and working you spend less time on bugs and refactoring.

I think the problem with this claim is that "functional programming" (or "object-oriented" "procedural") aren't actually distinguishable kinds of languages but are more like social groups or aesthetic movements.

More important question is if a language has a spec or just a default implementation, and if so if that's a compiler, interpreter, JIT etc.

Re: Type system of Fortnite's Verse language

#97

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 i…

Or 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 s…

C# is one of the most popular game languages and I wouldn't say it's particularly fit for it.

Not that it's bad, it just doesn't have any game or simulation specific features, manual memory management, etc.

Re: Type system of Fortnite's Verse language

#98
post #85
post #12

Earlier quoted context omitted.

+1 to this. If anything, you have a language that looks like it was made by luminaries, for luminaries. If you want something that would get kids that wanted to get into programming to create custom Fortnite modes, you want something that looks closer to Scratch or Python. I want to say Roblox has made programming quite accessible to children iirc

Roblox uses Lua, right? I think Redstone in Minecraft are good examples of introduction to programming via visual programming languages. Something you can really feel and play around with. I'm not sure how Verse or Lua are integrated into their respective games but it's really hard to imagine kids being able to get into these languages without something that gives immediate visual feedback

Minecraft redstone is a terrible example. The idea of it is great, the implementation, not so much. It's super non obvious for a lot of thing, have got behaviour that changes based on location in the world, etc... It' not uncommon for people to dive into the code to figure out how redstone works or watching tutorials from people who have done so.

Re: Type system of Fortnite's Verse language

#99
post #85
post #12

Earlier quoted context omitted.

+1 to this. If anything, you have a language that looks like it was made by luminaries, for luminaries. If you want something that would get kids that wanted to get into programming to create custom Fortnite modes, you want something that looks closer to Scratch or Python. I want to say Roblox has made programming quite accessible to children iirc

Roblox uses Lua, right? I think Redstone in Minecraft are good examples of introduction to programming via visual programming languages. Something you can really feel and play around with. I'm not sure how Verse or Lua are integrated into their respective games but it's really hard to imagine kids being able to get into these languages without something that gives immediate visual feedback

Maybe I’m revealing my youth here, but I played Roblox waaaay back as a middle-schooler around 2009/2010 or so (it existed in 2006!), and it was my first introduction to programming. The Roblox editor was _rough_, but Lua probably got me interested in the field of software in the first place.

Anecdotal, yes, but based on how popular Roblox has become, I would guess that its a fine enough intro language for even the next generation of software engineers

Re: Type system of Fortnite's Verse language

#100
post #32
post #28

Earlier quoted context omitted.

>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.

it'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

It's because it's easier to make a new one than change them.
Post reply on HN