I'm astonished by the immense amount of pure butthurt created by this language! The word Rust is absolutely without no doubt, a trigger word for _chans and reddit.
Name 3 solid technical demerits of this language without autistically sperging out about your tranny cock/feminine penis obsession. Protip, you can't.
nice lowtier bait. I swear it's just 3 retards desperately trying to shill Rust into existence. You can le fuck off now.
Dylan Adams
Apart from the state of libs (quantity, maturity, abandonment) and having to learn how to program in a way that satisfies the borrow checker, nothing. Been around the community for a while and I don't get all the tranny hate. It's fun to write most of the time. Lang team is doing good work. People are making cool shit with it.
>Name 3 solid technical demerits of this language - The borrow checker (which supplies the primary gimmick of the language and is the most foreign thing that a programmer being introduced to Rust will interact with) is incapable of proving safety in several well-known examples of trivially safe code, causing a lot of extra cognitive load on the programmer for no reason. - The safety meme, while perfectly valid in many situations, is taken overboard and leads to decisions that impact performance. One example of this are the hashmap data structure in the standard library, which uses a painfully slow hashing algorithm just because it protects against DoS attacks from attacker-controlled input, even though 99% of the time I want a fast hashmap for internal use. Another example is that many string operations are O(n) instead of O(1) due to unicode handling, and a whole song and dance has to be done to work around it (if you even remember that you need to do it, since it'll still work if you forget, just slowly) - The compilations times are extremely long and consume a lot of memory, partly due to the language being huge and bloated like C++, and partly due to mandatory static lifetime tracing requiring a ton of resources.
Xavier Cooper
1. It's unfinished and unstable 2. shallow and unstable ecosystem 3. it's a pain in the ass to use
It has NOTHING over C/C++. The whole safety argument only applies to subhumans who can't program, but then such "people" will never be able to stand Rust because of how painful everything is.
Noah Lee
What's wrong with admitting to having a higher IQ?
I would like to add another thing: Macro syntax,that is garbage,it gives me nightmares
Adam Scott
Not a bad language, but still needs to work on having a stronger type system than their generics. C++ blows Rust out of the water with its templates, which can save a lot of busywork in some scenarios. Hopefully Rust will improve their generics in the future.
Nolan Baker
The same as the image goes for Reddit even more so.
Kayden Davis
C++20 deprecated it and has a better community, ecosystem, and job market. Rust already degraded into "webshit"
Jason Butler
>- The borrow checker ... is incapable of proving safety in several well-known examples of trivially safe code, causing a lot of extra cognitive load on the programmer for no reason. The borrow checker is a compromise to make shit workable and enable faster code. The most common complaint (borrows that last as long as the lexical scope of a binding) has already been fixed. The next most common complaint is that borrowing a child element of an aggregate data structure (ie. a field of a struct, or an element of an array) also borrows the parent. This is mostly due to how closures are implemented, and won't be changed, so you just have to know and use the workarounds: Disjoint borrow methods for arrays, and destructured bindings for simultaneous struct field borrows.
Nathaniel Wilson
The agony comes from reading the lies of its shills Rust is not just a language, it's also an ideology.
Austin Lee
C++20 wins on every aspect. Rust will forever be a toy language.
Jose James
>C++20 >job market Innocent wishful thinking is so beautiful.
Jordan Torres
Take your hormones
Ryder Perry
Dial 8
Owen Lopez
>being this ass-blasted by Rust
Easton Lopez
>Borrow checker is dogshit productivity killer >Type system features suck dick: monomorphised generics so no rank Ns, """"existentials"""" and trait objects are retarded, trait system as a whole is underpowered, no HKTs >Heinous syntax with keyword soup on every single declaration
Grayson Mitchell
Why yes, i program in C++ on linux how could you tell?
C++ is moving to the right path, but honestly there are many unsolvable core issues with the language that it's better to use Rust if you're going to start a new big project especially when Rust has been gaining unbelievable momentum last couple of years. The language features and current popular crates are enough to do anything you want from crypto stuff to APIs
Luis Myers
There are no "unsolvable core issues" in C++. Any problems with existing features can be solved by not using those features. >but the stdlib Write your own code. Only a fucking idiot would use a library.
Henry Harris
Rust has no support for AIX Rust has no support for z/OS Rust has no GPL Compiler Rust has no standard Rust has pretty poor support in general unless you're on Linux/Windows/Mac or if LLVM happens to support your backend 100%.
All the core issues could be fixed by simply providing an epoch mechanism like Rust has.
Matthew Roberts
It's not a compromise it's a lobotomy
Mason Evans
C/C++ has no unicode manipulation
Camden Moore
You're a lobotomy
Cooper Torres
>no u This is what all rust retorts boil down to. Sad
Andrew Cox
Exactly why it will never succeed in the workplace It cannot be defended on technical grounds
Anthony Rivera
This is like saying "Rust has ONLY unicode manipulation". And Rust's default-to-unicode isn't particularly smart as it slows things down a fuckton.
Logan Gray
Unicode isn't fast but for the most practical tasks you want things to work and be fast enough.
Ryan Torres
It's only slower for some kind of manipulations. Why would you not support Unicode in your program?
Gabriel Ross
If you do in-place character replacement (probably the most common type of string manipulation) you want all characters to be the same size. ASCII has this, Unicode does not.
Nathaniel Sanders
use a Vec if you want a byte string
Hunter Stewart
How about I use a real language
Jason Rogers
Yeah, and ASCII has ~100 characters that are only sufficient if you pretend English is the only language.
Aaron Jenkins
>[annoy people a lot by turning yourself into a broken record] >wow you guys sure are annoyed for some reason! ebin
Hunter Wilson
Like I said, a real language
Matthew Cruz
>c/c++ string manipulation what could possibly go wrong
One of the retards is Bryan Cantrill, inventor of DTrace. His work includes taking care of original AT&T Unix SysV code, and he wants to use Rust as much as possible (for other stuff) going forward.
A retard shilling Rust, not posting on a taiwanese gyoza appreciation forum.
Benjamin James
Not re-learning this academia meme language just to do your homework.
Aiden Jenkins
Can't read lisp, sorry. What is your function doing? This might be a good practice as a rust beginner.
Mason Taylor
Yes, absolutely, especially if you are coming from languages like python or java. In fact I recommend having at least a couple of years of C experience before jumping to rust.
Carter Jones
t. Durgasoft student
Parker Smith
Let's say I don't want to learn C for years before learning Rust (I would prefer to enter into the systems programming world before I'm 30). Could I just cram it in a few months to understand the essentials of pointers, references, memory management, et cetera.
Joseph Morgan
Obviously write it in the language you prefer...
it takes a list of symbols, and splits it into three lists of symbols (those with the + prefix, those with the - prefix, and all the rest). then it looks up the tag-id for each symbol (slicing off the + and - prefixes on those lists) and dispatches the symbol lists to one of three specialized query functions (query-only-excluded, query-no-required, and query-with-required.)
In use, the function looks like this > (query-tags +submarines -russia german) [a list of files relating to submarines, preferring german subs but excluding russian subs, is returned]
(Any tag that is prefixed with + is required. Any tag that starts with - is forbidden, and any other tag is prefered.)
It's pretty straight forward. The key parts to know are that '() represents the empty list and match does pattern matching on data structures.
Xavier Hall
Well, considering that you already know programming, C will be easy to pick up. I recommend at least doing something in C in order to be able to grasp what Rust is trying to solve. Otherwise, you'll find Rust is unproductive (which is true). But in reality, Rust is just type-safe modern C with some additional safety measures.
Joshua Sullivan
>Bryan Cantrill A raging SJW faggot who thinks he's a genius because he worked with smart guys while he was at Sun. Rust has no future. C++ developers have C++ and C developers have Zig.
John Stewart
>just type-safe modern C
Absolutely not. C is a very simple, obvious language. Rust is the opposite.
The real alternative to C is Zig, which pretty much keeps the same philosophy but fixes the major issues that appeared over 30+ more years of collective experience with C.
Asher Richardson
>Zig never even heard of it before. How many people are actually using it, and where?
Daniel Martinez
By "type safe modern C" I meant C is weakly typed. Rust is strong typed. I find Rust is very obvious and predictable but not simple.
Don't know too much about Zig, but does it have RAII?
Ayden Thompson
>tag-id for each symbol Are you talking about filesystem tags?
Mason Foster
The system is designed for organizing files by tagging their content, and then letting you query for files using those tags.
Tags exist in a sqlite database. A tag has a name (passed around as a symbol internally, but stored as a string in sqlite) and a tag-id (which is the sqlite row id).
It might be easier to understand if you see the relevant tables:
CREATE TABLE FileTags( file_id INTEGER NOT NULL, tag_id INTEGER NOT NULL, probability DOUBLE NOT NULL, PRIMARY KEY (file_id, tag_id), FOREIGN KEY(file_id) REFERENCES Files(file_id), FOREIGN KEY(tag_id) REFERENCES Tags(tag_id));
(all of that type information is basically just for show/reference, sqlite is weakly typed so you can put anything in any column.)
Mason Cook
>Rust has no future >Zig has Are you on drugs?
Isaiah Wilson
Why? Zig is not very well known but in terms of design it hits all the right spots.
The major mistake of Rust is to confuse C and C++; they keep saying C/C++. It's true that C can be very risky due to the atrocious (lack of) string support, and a few other things. But modern C++ is the answer to that. You have a real string type, and even great formatting libraries like fmt (which is about to become standard). Things like RAII, etc. But C++ is way more complex and too different, so many C developers don't like it.
On the other hand, Zig looks like C, except it fixes the main issues. Thus it's a more compelling upgrade for C developers.
Bentley Powell
umm no sweaty, intel has endorsed rust
John Sullivan
>. But modern C++ is the answer to that. You have a real string type Yet it can't handle unicode >RAII Zig has RAII? Didn't know that.
Parker Lopez
>intel has endorsed rust You mean some database programmer at Intel has tweeted something about it?
Rust is failing and will continue failing because like every other language it tries to do more than its mission. It's a "big language" for big things. But you already have Java and C# if you want managed/GC, and C++ if you don't or can't. Rust brings virtually nothing over modern C++. At best it's a glorified clang-tidy/cppcheck bolted into the (slow) compiler. And it's also going to fail because it's a bondage and discipline language. Virtually every language that forces too much stuff on programmers has failed to reach popularity: Eiffel, Ada, etc.
Tyler Rogers
White people don't need unicode though. Unicode is for asians.
>unicode is for higher IQ people Ok I guess you never did any maths.
Asher Cooper
>cppcheck Literal toy in comparison to Rusts compile time type/memory safety checks. Anyone who ACTUALLY used cppcheck can vouch to this.
Jayden Russell
>he doesn't just use tex
Carter Stewart
yeah cppcheck is dogshit. but rust is just too ugly to take seriously.
Luke Torres
>Obviously write it in the language you prefer... >translating a code from a language into another only involves knowing the destination language Holy shit FP memesters are so retarded.
Nolan Robinson
I picked cppcheck because it's the only cheap toy we have (with a few other things like what LLVM has). Serious people use commercial static analyzers that cost 10,000+ per seat that are actually more powerful than Rust.
Alexander Ramirez
Also, cppcheck is actually becoming nice in the past few releases
Mason Hernandez
Reading a little lisp code shouldn't be difficult for you even if you can't write it yourself...
Levi Russell
Considered harmful. I prefer stuff that sucks less. You're not a real man if you don't program in C without a debugger.
Aiden Baker
>I picked cppcheck because it's the only cheap toy we have Your cheap toy < my cheap toy :)
When the cat -v people embraced golang for no other reason than because rob pike was involved with it, that's when they jumped the shark for me. From that point on I recognized just how ridiculous their whole psuedo-ideology really is. It's nothing more than a Bell cult.
David Bell
Why is the crab a tranny? Idk about the ins and outs of the language I just want this question answered.
Cameron Martinez
>Why is the crab a tranny? The crab signifies the ultimate safety, snip snipping your dick off, to make sure your unsafe dick doesn't rape anyone.
John Roberts
>Serious people use commercial static analyzers that cost 10,000+ per seat that are actually more powerful than Rust. Googer here, can confirm. We have so many analyzers for C++ that the entire notion that Rust can be as safe as what we already have is the saddest joke I've ever heard. Rust is dog shit and so are Rust pushers.
Josiah Thompson
>Googer here, According to Rob Pike, that renders your opinion on technical matters worthless.
Real talk 99.9% programmers using Java,Go,C#,Python,Ruby,Swift,Javascript won't programmer in rust too hard for no gains.
Functional autism won't touch rust get in Lisp,Ocaml or Haskell.
C/C++ wont wrap massive amount libs for using rust.
Rust is too hard most programmers sorry rust fans
Jacob Harris
Don't be. I'm a Rust fan and I fully acknowledge this.
Rust and C++ has the same LLVM backend, and it has the same optimization capabilities. Like C++, Rust also has all those tricks (moves, copy elision, SIMD intrinsics etc). The performance difference is below 1% as shown in the benchmarks.
Colton Jackson
Lisp is the least autistic language. Lisp is too laid back and freeform for an autistic person. Autistics love routine and regulation. They freak out over minor deviations from the routine. Write a novel control structure macro and the autistics will curl up into a ball and weep.
Lisp is for dope smoking surfer chads who take life easy and make sure to never forget what really matters in life. Sexp.
Currently, rustc produces a fuckhuge quantity of code that LLVM takes a long time to optimize. Like, hundreds of megabytes for something that ends up as a
Justin Perry
>>Bryan Cantrill >A raging SJW faggot who thinks he's a genius because he worked with smart guys while he was at Sun. >Rust has no future. Bryan is the Andy Dick of the IT industry, its entertaining watching is talks. youtube.com/watch?v=LjFM8vw3pbU
Jordan Jones
>f(x, y) The pedestrian Algoler. >(f x y) The workaday Lisper. >f x y The civilized Haskeller.
Elijah Jackson
haskell is another BSDM language. Not my idea of fun.
what do you do with "other-tags"? i assume this is another pool where the inputs with - prefix get sent like required-tags and prefered-tags
Brandon Stewart
I first split the input into excluded-tags and other-tags, then split other-tags into required-tags and prefered-tags. The result is a three-way split. other-tags isn't used for anything else so from that point it's free to get GC'd.
None of this is optimized for speed because in practice the input list will be short 1 to 10 is typical, but it'd be fast enough even if you threw a few thousand at it. The cost of the actual SQLite queries blow away the rest of the code, they can take hundreds of milliseconds for some queries. So my primary concern when writing that code was making it look nice.
Samuel Clark
oh so u read it backwards i see it now its kinda weird language sorry bro
Isaac Hall
it's read left to right like normal
you could think of [(excluded-tags other-tags) (partition (curryr string-prefix? "-") tag-lst)]
as something like excluded_tags, other_tags = partition(....)
partition is a function that returns two values, and the values it returns are being bound to the variables excluded-tags and other-tags.
The curryr part is a tad unusual I suppose, but all (curryr string-prefix? "-") does is return a function that returns true if the string you give it begins with "-".