319 karma · joined August 5, 2024
If using a programming language with locked-down package dependencies, then all you need is the compiler/interpreter and your script will work.
When you look at the details, Linux gaming is not as good as it might seem.
But I'm still gaming on Linux!
One good example is `uuidgen`
The best way is a scripting language with locked-down dependency spec inside the script. Weirdly .NET is leading the way here.
I would strongly suggest that for quick code-first prototypes. The boiler-plate of "load a texture and render to screen" is quite minimal - you could perhaps make a small library for yourself?
It also has no opinions about how you structure your game data. This means you can represent things like a Flappy Bird clone as just a `Vector2`, rather than having to bash a graph of entities in the shape you want.
Turtles all the way down?
Let's say you are the provider that must support idempotency keys? How should it be done?
- making associations
- generating original ideas
- more perceptive
...
"spatial awareness" I can see though
It is probably best to use that unless there is a strong reason against.
What problems does this cause?
Why? I routinely put compiled .NET programs into containers.
It's also easy (easier than Rust even) to build on Mac targeting a Linux image.
That TypeScript supports this is yet more complexity introduced to cover usages of an API not designed around types.
let! a = fetchA() and! b = fetchB()
Whereas `Promise.all` usually requires all promises to have the same type (returning a `List<T>` or even a `List<obj>`)
.See https://learn.microsoft.com/en-us/dotnet/fsharp/whats-new/fs...
Running TypeScript on the server is a well trodden path. It can be pretty fast too. Python on the client, not so much.
C# has lots of anti-features that F# does not have.
Unfortunately lots of the more advanced stuff seems to be blocked on C# team making a decision. They want a smooth interop story.
But F# remains a solid choice for general purpose programming. It's fast, stable and .NET is mainstream.
{Ecosystem, Functors} - choose 1
For example, there is no OAuth2 client library for OCaml [1]
Even Haskell is not functional in the strictest sense. It has unsafe IO. It can throw exceptions. Functions may not halt.
TypeScript has soundness issues that OCaml does not have
• Strongly-typed data structures catch field errors at compile time
TypeScript does have this, although the guarantees are in practice weaker since libraries may have incorrect type definitions
• Type-safe SQL queries prevent schema drift before deployment
There are TypeScript libraries that offer this, so fair point!
• Immutability by default eliminates race conditions
TypeScript is not immutable by default
• PPX generates correct JSON serialization automatically
TypeScript does not have an equivalent to PPX infrastructure AFAIK. If there is, it's definitely not as widely used within the ecosystem compared to PPX for OCaml.
Edit: Downvoters care to respond?