If you’re hoping for the standard lib to have things built on evolving standards and ecosystems like HTTP clients, then I doubt that will ever happen. There are plenty of examples of why that would be a terrible idea (urllib
, std::regex
, etc).
If you’re hoping for the standard lib to have things built on evolving standards and ecosystems like HTTP clients, then I doubt that will ever happen. There are plenty of examples of why that would be a terrible idea (urllib
, std::regex
, etc).
Factorio. Probably for the next month or so as well.
Sometimes when I don’t leave comments like that, I get review comments asking what the line does. Code like ThisMethodInitsTheService()
with comments like “what does this do?” in the review.
So now I comment a lot. Apparently reading code is hard for some people, even code that tells you exactly what it does in very simple terms.
Factorio is not for everyone, but it’s also one of the all stars of its genre. With the upcoming expansion in a couple weeks, it’ll probably eat another few hundred of my free hours over the next few months, and I know I’m not alone on this one.
Same devs also made Sea of Stars. I found it to be pretty fun.
Fortunately, if you need character backstories and such, you could instead read the books or watch the TV series instead. I jumped straight into Witcher 3 and had no issues with missing background knowledge.
That’s not to say you shouldn’t play 1 or 2 though, just that there are other options.
I’m not going to say that C is unusable by any means (and I’m not saying you are saying that). It’s a perfectly usable language. I do think that more people would benefit from exploring other options though. Programming languages are tools, not sports teams. People should familiarize themselves with many tools so they always have a good tool to use for any job.
I think a lot of people believe this because there is some truth to parts of it. I think we see languages like Rust and Zig (and others) popping up to try and solve specific problems better than others.
As for OP’s post, there is no single “C successor” or anything like that. People will use the best tool they know of for the job whether that’s C, Rust, C++, Zig, Python, C#, etc. Many languages will “replace” C in some projects, and at the same time, C will replace other languages in some projects (likely to a lesser extent though).
(Not /s this time)
Honestly C is the future. I don’t know why people would move from C to any other language. It does the job well enough that there’s no reason not to use it.
Think about it. Every modern application depends on a piece of code written in C, not Rust or Zig or any other language (except assembly). It can be used to solve any problem, and works in more places than any other language.
These arguments about “security” and “memory safety” are all pointless anyway in the face of modern code scanning tools. Cross-platform dev can be done trivially with preprocessors. If that’s not enough, I don’t know what to say. Get better at writing C obviously.
Lifetimes and UB should all be kept in mind at all times. You can explicitly mark lifetimes in your C code if you want using comments. Any index-out-of-bounds bugs, use-after-free, etc are just signs that your team needs more training and better code scanning utils. Write more tests!
Anything more complex than a simple typedef
is just a sign that you’re over-engineering your solution. is both simple, and does exactly what you’d expect any reasonable language to do - paste your referenced code inline. It’s genius, and doesn’t require any complicated explanations on namespaces and classes and subclasses and so on.
So which will be the future? C obviously.
/s
For what it’s worth, I feel the same way about normal settings for FP1 in that it’s pretty easy. Switching to extreme though, it felt as though I needed to play perfectly to finish a scenario. To me, I think it comes down to most of the difficulty being frontloaded. A solid start sets you up for the rest of the game, while a rough start can ruin a run as the game continues to kick you down with every temp drop, event, etc.
From what I understand, it’s Bevy ECS + a custom renderer, and likely some other custom code.
I keep looking at this game not because I want to play it, but because I want to see how it was made. As someone who’s played with bevy a bit, it’s amazing to me what they were able to do with it, and it would be so cool to see how it was done.
Reject assembly, return to machine code. Assembly is an inaccurate projection of what the machine truly does. Writing the binary by hand hardens us, and brings us closer to the computer. We better understand what our machine is doing when we calculate our jumps by hand.
I made the mistake of starting Frostpunk (1) since I saw that 2 released. It’s an incredibly well-made game. The art style is beautiful, the game is intense, there is a lot of emotion, and it does its one thing just so well. Unlike a lot of modern games these days, Frostpunk wants you to lose, which is fitting for its setting. It sees that you’re behind, then kicks you in the shins for good measure rather than lending a helping hand. I’ve lost so many hours of my time to this game in the past week.
I’ve read that Frostpunk 2 is a completely different game. That one might be next on my list if I get to it before Factorio updates and the expansion for it comes out.
The “‘modern’ development stack” we used at my school when I was in a CS program was C++98 or something, compiled using gcc directly. This was in the last decade. It technically wasn’t C!
But we did use C in my computer engineering classes so I guess they technically did teach it. I feel very fortunate that I haven’t needed to use it since then.
Pushing HTML even further, one could say it’s a declarative programming language that programs a UI in a mostly-stateless manner (inputs aren’t really stateless but you can argue the state is provided by the UI rather than managed by HTML).
I’m not sure I’d make this leap myself though, I have a hard time classifying it (or any other markup language) as a PL. As far as I am aware, you can’t really program a state machine with pure HTML, though you can accept inputs and return outputs at least.
Would it work to write the query as a common table expression, then select your columns from that table and join it with a count(*)
aggregation of the table?
I think it’s good to document why things are done, but extracting things out into another function is just documenting what is being done with extra steps. This also comes with a number of problems:
//
or #
would have made the code just as readable.If those functions are huge units of work or pretty complex, I can agree. For most cases though, a simple code comment should do to explain what’s going on?
While impressive, a minifier can bring it down to 1 line of JS! I do like that this can function as a reference for making simple canvas-based games though.
Playing FFXIV for the first time.
I don’t really care for multiplayer games as much since I don’t like to commit my time to others to play games (I like being able to get up and leave when I need to), but there’s a solo challenge that sounded fun, so I’m giving that a shot.