ORMs are so incredibly finicky. I still remember using old Linq-to-SQL (not Entity Framework) and I had to write the linq query in the reverse order of what I expected or it created 3 nested subqueries instead of just joining the tables together. That was when I learned to instantly double check every ORM query I wrote.
HN user
runevault
Software Developer in Denver, Colorado. Uses Microsoft Tech during the day and Rust at night.
Sadly the era of government that split up studios and theaters is long gone. Hollywood is built on a different time between things like this and its flavor of unions that cover the biggest players in the industry.
Closest thing we have to a Hollywood today is games, but game makers can also make consoles and industry wide unions would never happen. Is there some unionization in games? Yeah, but I haven't heard of any single one that cover a significant number of different studios
I'd say check out Crafting Interpreters [1]. It has 2 parts, the first in Java for doing a treewalk Interpreter in Java before going farther with a version written in C.
Not really. Lore is for gamedev at companies and so not a distributed VCS. Using it for an open source project if you allow outside PRs makes no sense.
Stripe did such a good job with this book (and the others I bought that they published). Each one feels like an artifact I can show off on top of having interesting information inside.
So you're assuming game devs write every line of code in their server infrastructure. First, could be using a third party library you have license to use on a limited number of machines that make up your backend servers. Second you could be paying for third party API access to something like snowflake.
You either have to rip out the code (which may or may not break the server, but still requires developer time to do) or write replacement code which likely takes even more dev time to do or you would have done it instead of paying for the library/access to the service.
Elevator pitch for the language itself or a library/library ecosystem that lets you do things better than in other languages. Ruby originally blew up because Rails was a way people enjoyed writing backend code, despite the speed issues. But the problem is other languages got good enough at writing back ends Ruby was no longer special there and didn't have anything else to back it up the way Python has such strong control of the ML library ecosystem.
It is interesting seeing more and more GCed ecosystems become aggressive about allowing code to stack allocate more. Watching dotnet go through it since I think Core 2.1, or whenever they introduced Span<T>, Memory<T>, etc to get significant performance gains has been nice to track.
GCed languages do not have to be slow if you keep the garbage to only where it is necessary (or where you can allocate once and never collect).
The version I've always heard is just well designed but less popular languages, but the ones I can think of were all functional (Haskell/F#/OCaml/Clojure/Elm/Erlang)
If nothing else dotnet has TCO IL operations (C# doesn't compile down to them last I knew but F# does) so in theory shouldn't be hard to add.
AOT vs JIT is always interesting since JIT depends on the runtime actually deciding to bother running the later passes to get more optimized code.
And sorry for the paranoia, I find a lot of people tried f# or even c# back in 4.x Framework era and think it hasn't changed.
Out of curiosity when did you write that interpreter? The entire dotnet ecosystem has seen massive speed improvements over the years, particularly for anyone who last tried them during the Framework era. Hell they even put work in to improving tail calls which the c# compiler doesn't even take advantage of (also either in the dotnet 9 or 10 timeframe f# added an attribute to make it so a recursive call that isn't a tail call throws a compiler error so you can't accidentally screw that up).
I don't know that any open source project will ever compete with Unreal and its high end tech targeting the AAA space. But beyond that, Raylib doesn't give a ton of things an engine does because that is not the point of a library like it. This is to let someone build their own engine how they want, Unreal/Unity/Godot/etc let you give up some control and decision options to skip a ton of work building out a lot of basic features.
The thing that is funny about it is at least with the mixes, it does actively make me engage less because there are videos I would click on if they were not being tied into a mix, but because they are I actively choose not to open the video and let the song play.
It really amazes how how Youtube refuses to let me hide stuff I don't want to see on my homepage. I still long for the ability to tell them to not give me mix playlists, I do not want them, and often they annoy me when the first song is one I'd click on but I don't want to have to pay attention enough to kill it before the next song plays (since you cannot disable play next in playlists...)
It is, at best, incredibly hard to accumulate that much wealth without doing shady things. Microsoft's monopolistic practices in the 90s for example. The only person I can think of that ever cracked a billion without their money coming through dirty means was, funny enough, JK Rowling who has her own set of issues separate from the value she got out of Harry Potter.
SDL3 is something I've been keeping an eye on, but at least one thing that held me back from diving into it was SDL_Mixer (audio library) was not updated to a release version for SDL3 until I think a month ago? I need to get back to it but lately I've been messing with SDL2 + wasm stuff using emscripten.
For me the nice thing about multiple cursors is when it would take more time to write the regex than it does to just throw down say 8 cursors and update the spots.
Clojure CL as well have macros that let you thread results from call to call, but you could argue that's cheating because of how flexible Lisp syntax is.
Currently DUs are slated for the next version of c# releasing end of this year. However last I knew they only come boxed which at least to me partly defeats the point of having them (being able to have multiple types inline because of the way they share memory and only have a single size based on compiler optimizations).
On top of cost, they probably cannot get as much memory as they order in a timely fashion so offsetting that with greater efficiency matters right now.
I wonder how much of this complexity is a form of resume driven development. Jobs are webdev with a host of microservices and a datastore and and and... This leads people to building apps in that style instead of a command line tool (or non-electron GUI application) to get the same job done.
There was a recent gnarly version of this where some anime reactors and at least one animation channel (with something like 1.4 million subs) got demonetized and had to go through a ton of hoops to get a human to fix it.
I really should get back to outer wilds. I like you bounced off of it because of the controls, and I keep meaning to go back because people I have faith in swear by it. I know the most basic secret you learn incredibly early, but that's the only 'spoiler' I know.
Yup. I remember running dotmemory on a whim and being confused by all the stringnames until I noticed what was in them. They really should put that in the docs to just make a const stringname somewhere. I use a global static class for anything I want in multiple files. But I also tend to just use statics instead of autoloads if I'm doing everything in c#.
I'd caveat this slightly as "it depends"
For mathy stuff, 100% c# is going to be better. But if you need to round trip to the engine a lot getting stuff in and out of the dotnet heap can actually hurt performance. You also have to be _really_ careful because there are a lot of cases you generate accidental garbage (biggest one is when you use strings that are getting implicitly converted to StringNames every time you run a function, you can avoid this by pre-generating them as consts but I've run into a fair few people who never ran dotmemory or the like to see the issues).
If you use an existing template (and are willing to use scons) GDExtension doesn't really have the standard build problems of rigging everything up with CMake/etc in my experience. The template is set up to handle the "set up the build" problem for you. Still have the header problem though cannot deny that one.
Really? Color me corrected I only ran into TC after SonicPi.
Though this entire discussion reminds me I need to fix my TidalCycles setup, had it working on Linux with vscode but I tried it out again a month or two ago and it wasn't playing anymore.
Feels like more and more of these sorts of things are popping up. For example there's TidalCycles which is a Haskell version of the idea, which also exists as https://strudel.cc/ which is I believe a webasm version of it.
Oh yeah I love f#, I need to find more excuses to use it. I just wish it felt like MS was willing to invest more into it. But at least they have not abandoned it and continue to put some resources into its ongoing growth.