Live data from Hacker News

Type system of Fortnite's Verse language

brianmckenna.org

111–120 of 159 posts

Re: Type system of Fortnite's Verse language

#111
post #67

Earlier quoted context omitted.

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

Can you elaborate on why he was kicked out? That's news to me.

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

Re: Type system of Fortnite's Verse language

#112
post #43

Am I the only one who thinks this is possibly the least appealing programming syntax they've ever seen?

I like it personally. I find it weird that everybody seems to be getting caught up in the syntax and choice of naming conventions. The language itself is so interesting and people dismiss it because types are snake case.

Re: Type system of Fortnite's Verse language

#113

Earlier quoted context omitted.

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.

C# is uniquely good at being a GC language that can easily interop with C/C++ code whilst also being quite performant itself. This is why it’s used for so many game engines.

Re: Type system of Fortnite's Verse language

#114
post #32

Earlier quoted context omitted.

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.

Makes sense, with them being immutable and such.

Re: Type system of Fortnite's Verse language

#115
post #45
post #43

Am I the only one who thinks this is possibly the least appealing programming syntax they've ever seen?

Yeah, it doesn't really look like the kind of thing I'd design for 12-year-olds to use? Lua would probably work just as well and been a better choice...

Verse and Lua have completely different execution models so not sure why you think it would “probably work just as well”.

Re: Type system of Fortnite's Verse language

#116
post #88

Earlier quoted context omitted.

Long ago I evaluated a few scripting languages to add to a Doom engine, I think I considered Ruby, Lua, Python, JavaScript, and Squirrel. I ended up choosing Lua because: - easy to embed - good ecosystem (in particular needed Lua GObject Introspection for pangocairo) - usable from C (not just C++) - not white space sensitive - skills translate to programming in the large - it's fast A lot of games let you write littl…

As a non-programmer: when you say slowest, do you mean most verbose? Or, most runtime overhead? Or, something else?

Runtime; there are things you can do, but generally Python takes more time and memory to do things than other languages/platforms. It got better in 3.11 but AFAIK it's still the slowest.

Re: Type system of Fortnite's Verse language

#117
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

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.

Programming has been going for a while, and there's a very wide variety of programming languages. I think one of the reason people have gone for things like Logo, Python, Lua when teaching kids is that there's a wide range of capabilities so you need to make sure they all can learn the basics without leaving others behind. If you try to teach anything too complicated the geek kids that are into computers and videogames will love it, but a third of the kids will just hate it. Maybe since Verse is a language expressly for Fornite, kids will self-select and it won't be as much of an issue, but if the question is whether it's a good language for kids to learn, it doesn't look very promising at first glance.

Re: Type system of Fortnite's Verse language

#118

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…

One thing I noticed when I was in college was that the basics of FP is not hard, in fact it seems way easier (from my data annecdote).

In my university CS course, we start with FP (using Haskell), and in a course with one of the biggest number of dropouts un the first year, FP wasn’t really a reason for it, in fact, from the ten 1st year classes FP was in the top half in success.

BUT what I actually took from that experience was that the students having more trouble with FP (excluding dropouts that failed everything) were actually people that had programing experience before college. For the rest of the world pure functions are easy and “x = x + 1” is confusing as hell.

To note that even though we used haskell, monads were just a light touch at the end mostly to use IO. Haskell has an intrepeter, so you could have a language that mimics how you wrote functions before. It also helped that we learned recursion paralel with induction on a math class, so we where recursing over a Natural Int type on FP while difining naturals through induction on a math intro class (and proofs over inductive definitions are usually do e with recursion).

FP suffers from * unfamiliarity from the general programing community * bad tooling due to smaller community * people very vocal about a language like haskell which has research and teaching before production in its goals * no decent bridge from the academia ivory to industry.

Some languages like elm most issues but suffer from smaller community and weird dictator. Erlang was industry first but had a very small community (thus tooling), until elixir came aling decades later. And its focus get “solved” at a different layer/abstraction level by k8s. Ocaml has shit tooling F# is Microsoft ocaml, but suffers from most things you want to use with it are tailored for C#. Lisp derivatives seem to live in a world of their own. Closure seems popular, and i guess emacs will never be irrelevant. And in lisps you have to learn all the vocabulary as each project is almost its own language.

So we need an FP language doing what GoLang did to C++. Few features, very good tooling and libraries (as in golang has a formatter, builder, dependency manager, etc all on its “compiler”, and strong std lib), easy to read. Basically focusing on Developer productivity from hour 1. An “ML for the masses”, just like go was intended for devs straight out of college to be productive on day one.

Re: Type system of Fortnite's Verse language

#119
post #88

Earlier quoted context omitted.

Long ago I evaluated a few scripting languages to add to a Doom engine, I think I considered Ruby, Lua, Python, JavaScript, and Squirrel. I ended up choosing Lua because: - easy to embed - good ecosystem (in particular needed Lua GObject Introspection for pangocairo) - usable from C (not just C++) - not white space sensitive - skills translate to programming in the large - it's fast A lot of games let you write littl…

As a non-programmer: when you say slowest, do you mean most verbose? Or, most runtime overhead? Or, something else?

Slowest in runtime performance I'd guess as the CPython runtime isn't really known for its performance. Other projects such as PyPy implement a much faster interpreter/JIT compiler but there are some compatibility quirks to use them.

Re: Type system of Fortnite's Verse language

#120
post #45

Earlier quoted context omitted.

Yeah, it doesn't really look like the kind of thing I'd design for 12-year-olds to use? Lua would probably work just as well and been a better choice...

this comment is wrong on multiple levels - this reduces fortnite’s audience to 12 year olds. the average age of a fortnite player is an adult - fortnite custom mods / modes are nearly all developed by adults (the people who will write in this language) - verse is designed to be used more widely than just fortnite in other games by other game develoment professionals (that are nearly all adults) i don’t understand how…

This is a quote from the article,

"I’m really excited that there will be 12-year-olds being introduced to programming by making Fortnite islands, using Verse and functional programming."

to which GP's comment is a valid response:

"It doesn't really look like the kind of thing I'd design for 12-year-olds to use?"

While one can agree or disagree, your response in that context is not correct:

"This reduces fortnite’s audience to 12 year olds."

Not at all. The discussion was about 12 year old players, not all players.

Post reply on HN