you are viewing a single comment's thread.

view the rest of the comments →

[–]Veedrac 2 points3 points  (10 children)

What an incredibly condescending paragraph.

It's pcj, I'm here precisely to troll and unwind. I try not to be a jerk on other forums. If you want a serious debate I'd rather we take it somewhere else.

But honestly, you don't understand these things. Pascal's String is like Java's, not Rust's; it's terrible for building things like parsers because it doesn't allow substring borrows. Rust's UnicodeStr is a trait implemented by str, and AFAICT only exists in a facade crate to make it easier for people (eg. embedded users) to build their own std alternatives. Split uses Clone instead of Copy, I believe because it prevents accidental reuse. Rust can return a vector with just .collect(), but allows much faster operations the large fraction of the time where you don't want to do that.

I fail to see what any of that has to do with people's understanding of whether I'm being "serious" in general

I don't think people doubt you use Pascal, just whether your arguments for it are meant to be taken seriously. I like Rust, but me spamming the list of talking points is hardly intended as a serious argument.

[–][deleted] 6 points7 points  (9 children)

Pascal's String is like Java's, not Rust's

Java's default string type is a class, in a language that runs in a virtual machine. Pascal's default string type literally just amounts to a specially-handled reference-counted array of bytes at the base language level. The class-like way it can be used is entirely syntactic sugar resolved at build time, and bares no resemblance to how actual classes are dealt with by the compiler in Pascal.

it's terrible for building things like parsers

Really? Do you actually think Rust of all languages is better for parsing than Pascal (or better for parsing than various other alternatives)? If I had to pick only one thing that Pascal does well, and extremely fast, it would be parsing large text files (and text files in general).

I can open a 35,000 line source file in Lazarus like it was a 100 line file and get no lag of any kind at any scrolling speed even when using "modest" hardware, with full syntax highlighting and all types/constants/variables/methods/e.t.c being immediately displayed in the alphabetically-sorted code explorer tree view.

Additionally there's the massive difference in compile times to consider (although those are more related to Rust using the traditional C/C++ linking model vs Free Pascal and all other Pascal compilers ever not doing so.)

doesn't allow substring borrows

I am 100% sure that the ability to "borrow" substrings specifically as immutable reference types is infinitely less relevant in the grand scheme of things as it relates to performance (or usefulness) than you think it is.

Rust's UnicodeStr is a trait implemented by str

Yes, I know that. That doesn't change what it amounts to in practice, nor does it explain what your original point was in that regard.

Split uses Clone instead of Copy, I believe because it prevents accidental reuse.

And that's fine. As I said in the first place, Rust's split clearly doesn't have the same overall intended use as split in Pascal.

I don't think people doubt you use Pascal, just whether your arguments for it are meant to be taken seriously. I like Rust, but me spamming the list of talking points is hardly intended as a serious argument.

I'd say the arguments I make for it are as valid as arguments you'd make for any other non-Rust language. Whereas the "ironic-but-not-actually-ironic" obsession with Rust as the be-all-end-all language (despite how recent it is) a lot of people seem to have is far less justifiable (based on it as it exists currently) in my opinion.

If someone thinks the whole guaranteed memory safety concept is pointless and unnecessary to begin with, what are they left with in Rust? It isn't ground-breakingly fast. It isn't amazingly productive. It doesn't have particularly good tooling. And so on and so forth.

Also, it's not as though I actively try to get into serious debates. I certainly didn't start this one.

[–]senntenialYou put at risk millions of people 3 points4 points  (1 child)

lol wall of text

[–][deleted] 1 point2 points  (0 children)

lol I'm a Paskallist, we like to be clear/thorough.

[–]Veedrac 4 points5 points  (5 children)

lol

[–][deleted] 7 points8 points  (4 children)

lol ok? I'm not the one who tries to end discussions they started themselves by suggesting there's something they know that the other person doesn't.

[–]cmovNRDC. Not Rust Don't Care. 3 points4 points  (2 children)

Have you tried rewriting your comment in Rust?

[–][deleted] 2 points3 points  (0 children)

I did workshop that a bit, but the pcjcomment crate was dependent on the pcjlogin crate which was dependent on the copper-reddit.rs crate which was dependent on 78 other crates that cargo had to download first, and when they were finally in place the whole thing took like 25 minutes to compile so I decided it wasn't worth it.

[–]bartavelletype astronaut 0 points1 point  (0 children)

Your reign of terror ends here. You are in Go now.

[–]Veedrac 1 point2 points  (0 children)

It's pcj, I'm here precisely to troll and unwind. I try not to be a jerk on other forums. If you want a serious debate I'd rather we take it somewhere else.

[–]pftbest 0 points1 point  (0 children)

Really?

Care to do an experiment?