Why He's Dropping Rust
-
Sounds like exactly the sort of thing I want.
-
@Zecc Linux (bash) has custom autocompletion too. But in true Linux fashion, it's handled by separate shell scripts
-
@Gąska said in Why He's Dropping Rust:
Unfortunately, Rust doesn't support class inheritance
Copy and paste code for the win.
Nothing like making everything containers and having to update the same method declarations everywhere.
@Gąska said in Why He's Dropping Rust:
I wonder what his reaction was when he learned about Java interfaces
Yeah... you win this time @Gąska
@Gąska said in Why He's Dropping Rust:
Yep
Ok.... I give up...
He's an idiot.
@Gąska said in Why He's Dropping Rust:
Box<T> is Box<T> is Box<T> regardless of what type the object inside is.
That's actually something different.
C# doesn't work that way unless you give Box<T> a iBox interface. Unless you just want to make your graph Graph<object>.
So, leg up on that one.
Wait... why am I trying to be devil's advocate again?
-
@Bulb said in Why He's Dropping Rust:
C++ has the same limitation
Lor, I miss C++ templates.
I get why C# generics came about, but the flexibility is sorely missed.
-
@xaade said in Why He's Dropping Rust:
Copy and paste code for the win.
That, or use different patterns than your typical Java programmer.
@xaade said in Why He's Dropping Rust:
That's actually something different.
It's definitely different than anything you can come up with in C# because C# manages memory completely automatically, which circumvents the whole problem of heterogenous containers.
Do you know C++? If so, think of Rust's Box as a unique_ptr.
Also, as @Bulb said previously, I was wrong about the necessity of Box in this case. Rc alone is enough here. So this makes me wonder what the fuck did this guy do that it didn't work.
-
@xaade said in Why He's Dropping Rust:
C++ templates
Is there any other language where
SomeType<T>
can have a parent class ofT
?
-
@dkf said in Why He's Dropping Rust:
@Zecc said in Why He's Dropping Rust:
I'd like the executable to contain metadata describing in BNF what arguments it expects and the structure of its output.
People have been struggling to describe that sort of thing for years. It's complicated in general. The current group I know of that are working on this have some documents available but I really haven't tried to use their stuff in anger. @ScholRLEA It's probably worth looking at what they're doing as a model even if you ignore the syntax. Syntax is easy to convert between; semantics is not.
This is much more useful and practical:
With tools and compilers
-
whole OS written in said language
-
@ben_lubar said in Why He's Dropping Rust:
Is there any other language where SomeType<T> can have a parent class of T?
Hmmm. You mean this?
template <class T> class SomeType<T> : public T {};
Isn't that kind of what Traits do in Rust?
Actually, it's more useful when a type inherits from a template based on itself, like this:
template <class T> class UsefulMethods {}; class MyType : public UsefulMethods<MyType> {};
-
@lucas1 said in Why He's Dropping Rust:
whole OS written in said language
I guess that proves that the following statement made in the OP is incorrect:
@cartman82 said in Why He's Dropping Rust:
Turns out this big idea academic circlejerk language falls apart when people try to use it in practice.
Also, not my experience. You have to get used to Rust, but it doesn't have any limitations that should hinder you from using it for a real project.
-
@dse said in Why He's Dropping Rust:
This is much more useful and practical:
It's huge. It's complicated. It doesn't appear to show much awareness of other work in relation to document type description and validation (there's a lot, but the big ones are XMLSchema and RELAX-NG, or SGML if you go back to a previous generation) and appears to be unable to actually describe its own format.
And it relies on NETCONF which has nearly zero adoption outside its core market. That's the killer.
-
@lucas1 said in Why He's Dropping Rust:
whole OS written in said language
Redox - Your Next(Gen) OS
If the primary selling point of your product is "made in technology X", that tells me you're way more interested in messing with technology X then making a good product.
-
@cartman82 I think it is an interesting experiment to make an OS that is written in something that is typesafe.
-
@lucas1 Except for all the use of unsafe blocks to get around type safety:
https://github.com/redox-os/redox/issues/303
-
@Kian it is a little different to mark someone to be unsafe, than it maybe unsafe and not know it.
Also the discussion about said issue seems pretty productive.
-
@dkf said in Why He's Dropping Rust:
@dse said in Why He's Dropping Rust:
This is much more useful and practical:
It's huge. It's complicated. It doesn't appear to show much awareness of other work in relation to document type description and validation (there's a lot, but the big ones are XMLSchema and RELAX-NG, or SGML if you go back to a previous generation) and appears to be unable to actually describe its own format.
And it relies on NETCONF which has nearly zero adoption outside its core market. That's the killer.
You do not have to use it with NETCONF. It is very much usable with a json, and tools to help creating C++ classes along that json. Protocolbuffers on steroid.
-
@Kian said in Why He's Dropping Rust:
Except for all the use of unsafe blocks to get around type safety
Wrap all the assembly in unsafe, and rely code review. Also, only let the most experienced coders use that keyword. Consider it standard library, written once by geniuses and left there.
-
@dse said in Why He's Dropping Rust:
Consider it standard library, written once by geniuses and left there.
It never ends well.
-
@dse said in Why He's Dropping Rust:
You do not have to use it with NETCONF. It is very much usable with a json, and tools to help creating C++ classes along that json. Protocolbuffers on steroid.
Doesn't matter if the actual descriptors for programs aren't actually built in it. Right now, the key missing thing is that programs aren't described. There's simply no information about what the majority of programs accept when it comes to arguments (and that's a lot simpler than for input files, where formats can get really funky). Merely saying that the tools are available doesn't help much; there's always been lots of tools about. It's the actual profiles of real applications which aren't there. (Types aren't really enough for this unless you go really funky; programs are usually a bit more complicated than most individual functions in what they accept.)
-
Rust a move!