Earlier quoted context omitted.
I'll be the first to hate on C++, but the only reason C++ might be considered a "don't learn it as a first language" language, is because it's huge. It's got 40 years worth of baggage, and it's "standard" libraries are an absolute mess. Javascript has a super simple syntax, and it's standard libraries though sometimes a bit idiosyncratic are comparatively clean and pragmatic. If you just removed like 90% of C++'s use…
I mean, C++ was my first language and I turned out fine (I think).
The Verse Programming Language [pdf]
241–250 of 387 posts
Re: The Verse Programming Language [pdf]
#242It's cool to finally get some more details on this language. They showed some slides of it being used in Fortnite last year: https://mobile.twitter.com/saji8k/status/1339709691564179464... I believe it has roots in (but quite different from) Skookumscript https://skookumscript.com/about/look/
Re: The Verse Programming Language [pdf]
#243Does anyone know when this language will be ready to play with?
Epic already uses it, so I guess not too long: https://mobile.twitter.com/saji8k/status/1339709691564179464...
It is not a functional language and is obviously quite cheesy in comparison (see someone's comment, in this thread, about it being derived from something called skoomumscript).
SPJ's language is not ready yet.
Re: The Verse Programming Language [pdf]
#244x:int; y:int; if (x=0) then y=1 else y=2; x=7; y
Ok, so here, y=2. And then it goes on to say that the equal operator within a "conditional scrutinee" is "rigid" and can only be read, not unified. Does that mean if we take out the "x=7;" line, and then evaluate "y", that "y=(2|7)"? Or how exactly does that evaluate?
Re: The Verse Programming Language [pdf]
#245These slides need a lot of work. I'll read the paper later, but the slides really lack context and motivation. * I'm a little disheartened to see "Objectively: no. All languages are Turing-complete" in the context of the question of needing another language. It's a throw away comment and largely irrelevant when considering the actual use of programming languages. If one has to state this platitude, it is more accurat…
When you are building simple structures to iterate upon, it makes sense to use the more readable comprehension syntax, where you define a list or set of items and their desired properties.
Yet this terse syntax makes more sense for logic programming, where a lot of the domain logic is built upon generate-and-test patterns; you define a combinatoric search space which is the enumeration of all base value in pairs (or tuples), and check which ones are kept for the next processing steps. When using this pattern, it's clearer to be able to express the space with the shortest syntax rather than the verbose one.
As for the adequacy and need for the language, I have my own ideas on what's needed for the stated use case, and I do agree with the authors that this kind of language will really be easier to learn for people without a programming background; it looks much more like mathematics than the traditional von-Neumann-architecture, continuation-based languages, and its declarative nature may make it easier to approach without having a full understanding of runtime behavior.
Re: The Verse Programming Language [pdf]
#246It seems to me that the objective is not finding a good language for a metaverse, but using the idea of a metaverse to justify this new language.
More realistically, an open metaverse (if it will see existence, I'm not yet convinced of its utility) will support multiple languages.
Even more realistically, the internet is a metaverse already.
Re: The Verse Programming Language [pdf]
#247Earlier quoted context omitted.
AFAICT: Just "false" would be a regular boolean value. The question mark turns it into a logic value so it can be used in conditionals.
But there are no bools in Verse so seems the keyword isn't taken and could have just been syntactic sugar for 0 from what I can tell?
Re: The Verse Programming Language [pdf]
#248Contrary to what others are saying... From my time spent in MUDs/MOOs 30ish years ago and the languages we were playing with then, I can see plenty here that actually does relate to the problem of programming in a large scale shared-state world aka "multiverse" (hate the world) Transactionality. Check. ACID type semantics are absolutely key to handling the concurrency issues created by a world with thousands of autho…
“To answer "what does this program do, or what does it mean?“ just apply the rewrite rules.”
Whenever a senior engineer* uses the word "just" you're about to have a bad time.
* Or an expert in anything, really…
Re: The Verse Programming Language [pdf]
#249For those wondering if there's actually something relevant to the Epic's approach to the metaverse: there's not beyond slide 3. Everything after slide 3 is a description of the semantics of a novel functional logic programming language, the sort of which you'd expect you'd get if you paid the world's premier Haskell core contributor a large sum to design a new language. Of course its intended audience is Haskell acad…
It was presented at Haskell eXchange so the audience is more like Haskell users in industry and those who would like to be.
Re: The Verse Programming Language [pdf]
#250No offense, but: does this actually relate the metaverse, or was that part added in so Epic Games would fund it? I don't see any first-class features that would be specific to that use case.
Verse and the metaverse were ideas at Epic Games long before SPJ was an employee at Epic games (at least 10 years before).