@TheGingerBill@LondoSpark@Meliketoast21@factormystic We have one we wrote at work. It only supports a very small subset of yaml. Luckily it's the same small subset that the program we have to consume yaml from uses ๐ค
@TheGingerBill@factormystic Yaml is 'ok' as just a hierarchical table format. Beyond that, yeah... no. And when you think this is crazy but ok, you discover you an switch to json pretty much anywhere in a yaml document too.
Ai for coding is weird. A lot of the time I find it useless. By the time I've properly instructed it to make the change I want in the way I want with no unintended other changes id have been better doing it myself and saving the cost of the tokens for a beer.
But sometimes it's magic. I basically asked it to create a c to x86_64 compiler with a few specific enhancements to c and it just did in about half an hour. And it works. Now I have little idea how the code works and it's probably injected someone else's compiler and spat it out with a few enhancements but on the other hand I have a compiler for the language I always wanted.
Much of the time ai is frustrating and even slows me down but other times it's like magic.
I'll probably rebuild the compiler myself one feature and function at a time so the I understand it and it's built like I want. I think this is an area ai can speed me up hugely.
Not sure where I'm going with this but I found it interesting
@nuoji@C3Lang I found that codex seems to work fairly well with C3 now. Makes sense to publish as much idiomatic C3 code a possible just for the code to get new models trained on it.
From trying to get AI to write @c3lang code. "OK I'm going to take the most radical simplification. Let me write the code WITHOUT any error handling at all. Just use !! everywhere and let it panic. For /proc files on Linux, this is fine."
Yes we all have days where we feel like that about error handling :)
@nuoji@grok I prefer simple procedural code with structs and functions over OOP and "functional" programming. It seems like C3 would be a good fit for that. Can you summarize how it might be better for me than "modern" C++ written in such a style?
PICARD: Data, shields up
DATA: Brilliant! Shields can reduce damage we sustain. Not immunity. Not hubris. Just prudence. It's not precautionโit's strategy.
[camera shakes]
WORF: HULL BREACHES ON NINE DECKS
DATA: Here's what happened: you told me to raise shields, and I didn't
@davepl1968 This is all great advice.
Although I did read the first one as being 1.90% of the job is debugging - which is not much and strangely precise
@SebAaltonen@mil000 Genuine question though... On a large codebase, if you have to send a large portion of the codebase doesn't this rapidly before prohibitively expensive? Or is it cheaper than I thought?
On C++ error handling, I've gone through preferring c style "return an int error code and return data via out parameters via pointer" to preferring exceptions to using std::optional and std::expected ... and to be honest back to c style again because the others are verbose and difficult (expected), or have other issues (exceptions). With the nodiscard option to prevent accidentally forgetting to handle them I prefer a simple error code once more.
I do agree in principle with the odin language philosophy that errors are no different than other returns, they are all just data coming back from a function - but in practice I find that you need to handle them very differently and "errors" have a lot in common so perhaps it makes sense to split them out.
I expect I'll change my opinion yet again in time , which presumably means that there is little objective reason to choose one method over another.