Comment Re:What's the catch? (Score 1) 19
Probably in here somewhere: "run locally on your laptop without depending entirely on cloud"
Probably in here somewhere: "run locally on your laptop without depending entirely on cloud"
EU techie: "We did it, we replaced Google!"
Boss: "Good job! Are there any other US dependencies?"
EU techie: "Um, yes, it runs on top of Bing."
Boss: "Microsoft!?"
EU techie: "Yip. We couldn't get our home-grown one to work right."
Boss: "Uhgg, well, don't tell anyone and you can have a Citroen."
This is great! The more Google knows about me, the more they can protect me. I will feel so much safer once this rolls out.
Sarcasm noted. So... you think this fake call check is a bad thing? Or do you have a different design to suggest that would work better?
Russian citizens have no incentive to push innovation, the war's potential prizes give ordinary Russians no notable advantage, yet Ukraine is fighting for its survival: it's adapt or die.
California joined Canada. The orange thing is now all yours!
Which will come first?:
1. Practical flying cars
2. Practical fusion energy
3. Robot that do can dishes
4. Useful quantum computer
...the Higgs BSOD
Hey, you just solved the Hormuz Conundrum, congratulations! Both sides get a better deal than Obama's deal, so can now brag and move on with life.
Maybe the mathies will enter our field and force the industry to factor out all the repetitious bloat found in current stacks. All that repetitious verbose shit just cannot be the pinnacle of software development, I'll bet my Vulcan wanker on it (a transplant). It might require new programming languages, but so be it! Or burning the damned DOM?
Kind of like going from Perl to Java?
Politicians already encroached on that.
If our luck keeps up, Hillary has Putin's emails!
Has anyone here done first-hand testing?
Now you got me curious, are there?
UCS32 is certainly an option. It would probably turn me off from Rust entirely, though, at least for my current work. When your device only has a few KB of RAM, quadrupling the size of your strings would be really painful. I'm unhappy that my pointers and register-sized integers are each 8 bytes, so a slice consumes 16 bytes (pointer plus length), minimum. I hate it so much I might consider creating my own string type that only handles strings < 64kb in length, so I could use an 8-byte pointer and a two-byte length -- but ARM has pretty strict alignment requirements so the compiler would pad the u16 out to eight bytes anyway. And all of my strings are error messages which are seven-bit ASCII.
As for your abstracted version... note that in my code I not only don't have GC, I don't even have a heap... no dynamic allocation
With Rust as-is, that means I don't actually have String, but I *do* have &str.
You can certainly argue that one language shouldn't try to address the requirements of tiny microcontrollers to servers with hundreds of GB of RAM... but it's actually really nice that it does.
I think letting programmers use a string as if it's a byte array is an unforced mistake and is out of step with the idea of Rust trying its best to prevent devs from writing bad code.
Rust doesn't try to prevent devs from writing bad code, it tries to prevent devs from writing unsafe code (i.e. code that can exhibit undefined behavior), and the approach to strings is safe. If you index a string at byte offsets, and try to use that data as a string and it's not valid UTF-8, your program panics in a safe, well-defined way
If a thing's worth doing, it is worth doing badly. -- G.K. Chesterton