Oh, I forgot my other complaint.
4) The reference implementation Radicle client is written in #Rust. Not necessarily a problem, since if the protocol takes off there will certainly be implementations in more mature languages like #Python or #CPlusPlus, but I don't love the extra bit of uncertainly with a new language along with a new protocol.
My notes from May 2025 include a list of tech jobs for good, more problems with LLMs, and a sick C++ burn. https://evanhahn.com/notes-from-may-2025/
Hmm… just realized, there is a 5:
5. Forward-declare a struct that you define nowhere, and to which you keep a pointer in the context.
That way, no need for dynamic_cast<>, # define or generics, and you still get type-checking. The app just has to know to define that type.
#CPlusPlus mavens!
I have an "interpreter context" in my programming language. The data structure that contains the stack, current instruction register etc.
I'd like to let apps that embed my compiler/VM attach their own data structure to each such context.
What's a good solution?
1. templated context, (means the entire interpreter becomes templated)
2. void* that the app dynamic_cast<>s to its type
3. # define for the app-specific field's type (interpreter has to ship as source now)
4. ?
#engineering #commonLisp #smallWeb #Cplusplus #insane #future #clKitten https://screwlisp.small-web.org/momentary/screwlisps-cl-kitten-future-theory/
in which I lay out a terrifying nine step complete overhauling of present popular #software #technology. I named it my Insane Fairy Godmother theory.
@uliwitness
Nobody stops you from writing:
class Foo {
public:
int _bar;
Foo(int _bar) : _bar(_bar) {}
};
There you have it, no new language required.
Things I wish they fixed in C/C++:
When you init an instance variable from a parameter, you often copy-paste the name of the instance variable into the parameter. This allows you to accidentally forget editing code and generate perfectly compiling but wrong code like:
class Foo {
public:
int _bar;
Foo(int bar) : _bar(_bar) {}
};
accidentally initializing a variable with itself instead of the parameter. (Thank goodness we have an "unused parameter” warning)
I wish I weren't a snob about such things, but the fact that most examples of breakthroughs in C++ are coming from the banking and fintech sectors isn't something that makes me more excited about the language.
"Check out this cool thing. We've used it to improve the efficiency of our HFT platform."
... gooooooooooooooood.
I know I follow a lot of indie game makers here, but I have little idea of what engines any of of you use. Anybody here know about C++ compiling? @josemachete79 is working on building his own version of #Angband from a cloned repo, and is running into issues compiling.
Any help anyone can offer would be much appreciated- I've played a test build or two of the game and it's working great except for these final compiling issues. Hit him up!
(The image below is a screenshot of the starting character I randomly generated to use when testing one of the builds.)