Rust is more like: unless you can mathematically prove to me that this is equivalent to a nut there is no ducking way I’ll ever let you compiled this.
And hot take, but that’s good. I’m absolutely stupid enough for idiot gloves like that.
StackOverflow: Question closed as duplicate. Someone else already asked whether or not something is a nut.
“Question closed as duplicate”
The question it’s a duplicate of: “How to programmatically prove a hotdog is a sandwich?”
1 answer: use the fucking search
First search result brings you to this answer.
“It’s 2024! Why are people still trying to classify nuts? Just use some expensive cloud solution that doesn’t really solve your problem”
Java: “Sorry, but the developers of
Peanut
didn’t declare it to implement theCrackable
interface, even though it has all the relevant methods, so if you want to treat it like a nut your choices are write a wrapper class or call those methods using Reflections”Swift’s extensions system has spoiled me, and I feel the pain of this whenever I have to write Java
You should take a look at kotlin, pretty similar to swift and fully interoperable with java.
Ditto, but Rust’s traits. God those are so fun. It’s like duck typing a la Python but you can just slap whatever methods you want on a foreign type without worrying about breaking anything because they’re only visible to the current crate (or other crates that import the Trait)
C# should actually be “What Java said, except it’s
ICrackable
”.No, actually C#'s answer should be: “What Java said - hold on, what Python said sounds good too, and C++'s stuff is pretty cool too - let’s go with all of the above.”
C#, or as I like to call it “the Borg of programming languages”.
I got my first software developer role last year and it was the first time I’d written C#, I was more TypeScript. Now we use both but I must say I really like C# now that I’m used to it.
I think most programmers would like C# if they spent time with it. It is getting a bit complex because the joke about it over borrowing from other languages is on the money. It is a nice language though and pretty damn fast these days all things considered.
There’s too much MS in the language and runtime for me. The fact that it gives my Linux programs DLL files and the fact that by default the SDK phones home makes me run away in horror from not only writing it but also running other projects written in it.
even nicer is F#. join us brother, you can do everything that you can do in C# but better
What does it offer that would make it better? Just curious and I’m not in a position to change out tech stack at work though.
Removed by mod
Would the equivalent Rust trait be
Crack
?AsCrack
Into<dyn AsCrack>
Into
’s type parameter has an implicitSized
bound. I thinkAsRef<dyn Crack>
would be the trait of choice :D
deleted by creator
In Java, it’s not called the
Crackable
interface.It’s the
Nuttable
interface.Actually it’s
AbstractNutAndShellsFactory
How do I know if something is
Nuttable
?
C can STRUCTurise classes tho
I want my vs code to look like this
Yeah, you can technically write object oriented code in C. Or any other language. Just that actual OOP languages provide a nicer syntax and compile time checks.
Rust is kind of a good example of this. It’s technically not an object oriented language, but the trait system brings it close.
Time for Rust++
Stop this or I’m gonna find you and I’m gonna kill your dog
Whoa now, them there fighting words.
But, why?
most C programs are just C++ programs with extra steps if you look at them close enough
Ah yes, what C needs is VTABLEs.
All those memes picturing C++ as unsafe and unstable yet the server that serves these memes is running mostly C/C++ and has an uptime of months.
Lemmy is written in Rust. There might be bits of C at the periphery behind bindings.
And linux is written in C.
Predominantly C. But even the kernel is beginning to use Rust as a way of avoiding entire classes of programming error.
well and it’s only running this well because of decades of effort and millions of effort spent on security reviews
Lemmy is written in Rust.
Wow, way to ruin my joke.
Also they’re always treating C++ like it’s some arcane enterprise variant that uses 1990s C++
Using modern C++ you can write much cleaner, more usable, and really safe code
Having a thorough process and an engineer approach in software development is also pretty handy. There weren’t many bugs in the AGC. Yet it was programmed mostly in assembly and people had no trouble trusting it with their life.
True, but that’s partly because the Linux is beyond mature, and you can ferret out a lot of bugs with millions of users over decades.
yet the server that serves these memes is running mostly C/C++
Time to rewrite it in Rust!
/ducksandruns
if i remember lemmy is written in rust
Lemmy is rust and it’s alternative sublinks is java…your comment has now power here
Ruby: No, it has been redefined as the number 5 so buckle your seatbelts, kiddos, cuz shit’s about to get wild!
“What Java said.”
Okay, that one made me chuckle.
Excel: 12th of Nutuary 1970
C++: Nuh, uh …
template <typename T> concept Crackable = requires(T obj) { { obj.crack() }; }; auto crack(Crackable auto& nut) { nut.crack(); }
This is dangerous. The object might not have the crack() method, and this bloats the compiled size by a lot if you use it with different types. There’s also no reason I can see to use concepts here. The saner way would probably be to use inheritance and objects to mimic Java interfaces.
This is dangerous
Well, they say you do have to be over 18 to use Concepts
I just dabbled in javascript again, and that description is spot on!
console.log(‘javascript operators are b’ + ‘a’ + + ‘a’ + ‘a’);
BaNaNa
Terracotta
Pepperoni and green peppers, mushrooms, olives, chives!
Oh wait wrong song.
The only reason people use JS is because it’s the defacto language of browsers. As a language it’s dogshit filled with all kinds of unpleasant traps.
Here is a fun one I discovered the other day:
new Date('2022-10-9').toUTCString() === 'Sat, 08 Oct 2022 23:00:00 GMT' new Date('2022-10-09').toUTCString() === 'Sun, 09 Oct 2022 00:00:00 GMT'
So padding a day of the month with a 0 or not changes the result by 1 hour. Every browser does the same so I assume this is a legacy thing. It’s supposed to be padded but any sane language would throw an exception if it was malformed. Not JavaScript.
I can‘t believe you’ve done this
Well, not by accident.
Ce n’est pas une cacahuète
But… It’s a legume?!
Which tracks perfectly with the meme if you read it again
Whatever the Tiger 2-XL was “programmed” in, it’s the best.
Thought this was a YTP at first.
No, just an early 90’s toy commercial. Which is probably a video genre of it’s own.
It feels like it with how often YouTube keeps recommending me channels of nothing but commercials from the 90’s.