this post was submitted on 30 Sep 2023
129 points (88.2% liked)

Programmer Humor

32472 readers
866 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

(joke in the title stolen from a redditor)

Context: some Rust kid vandalized cppreference.com today.

top 27 comments
sorted by: hot top controversial new old
[–] xmunk@sh.itjust.works 77 points 1 year ago* (last edited 1 year ago) (4 children)

That kid is an asshole because cppreference is doing the lord's work.

Also, I know that language choice is one of the most important decisions when starting a new project but, personally, I work on a highly performance sensitive project that's written in PHP. If you think you need Rust to be performant or type safe then you don't really know what you're doing yet. It makes it easier and increases theoretical limits - that is all.

[–] istdaslol@feddit.de 20 points 1 year ago (1 children)

I want to tell the computer what it should do, not what the computer things I can do. That’s why I use scratch

[–] manpacket@lemmyrs.org 16 points 1 year ago (1 children)

I saw md5 checksum implemented in scratch.

[–] istdaslol@feddit.de 11 points 1 year ago (1 children)

There is also a whole OS written in scratch. A very basic one but still

[–] Tabugti@feddit.de 7 points 1 year ago

And a RISC-V emulator that runs Linux.

[–] manpacket@lemmyrs.org 6 points 1 year ago (1 children)
[–] xmunk@sh.itjust.works 3 points 1 year ago (1 children)

I am happy to answer any and all questions.

[–] manpacket@lemmyrs.org 5 points 1 year ago (1 children)

Is this a new project that was intentionally started in PHP or something legacy? Any interesting benchmarks? Like minimal wire to wire network processing time and where the bottleneck is?

[–] xmunk@sh.itjust.works 5 points 1 year ago* (last edited 1 year ago)

Our project was something that has evolved from a full web app into a PHP backend fronted by a reactish SPAish thing. Our spool up time to cache our website is 13 ms from a cold start (after provisioning and stuff) so we're pretty good at horizontal scaling. Once cached our overhead is 7ms for framework things. Our page load times across the board calvary wildly with 25ms being our target time but with some very large reports stretching into the seconds range - on those slow pages all those previous numbers are essentially irrelevant and performance is dictated solely by how much we're investing into query caching and tuning.

Personally I'm actually a big fan of PHP, it's incredibly powerful and good with lists (and all good programming is list programming ;P). The typing is strong when enforced and weak when you choose. The lambda and reflection frameworks are robust and it has a number of interesting phpisms like magic functions and variable variables.

[–] CanadaPlus@lemmy.sdf.org 2 points 1 year ago (1 children)
[–] xmunk@sh.itjust.works 3 points 1 year ago

It's a choice left up to developer but you can have static and runtime type checking enabled for as many functions as you desire. Theoretically you can have collection subtype checking but I'd say that PHP is still quite frail here as proper collection typing lacks any template-style typing but needs dedicated collection types.

[–] herr@lemmy.world 2 points 1 year ago (1 children)

then you don't really know what you're doing yet.

Can you elaborate on this? How are you guys making PHP so performant? Do you call C programs from it or something?

[–] xmunk@sh.itjust.works 8 points 1 year ago* (last edited 1 year ago)

No, we just use good algorithmic approaches including an emphasis on lazy evaluation. It'd take out application like 20x as long to compute 2+2 compared to one written in C but computation in PHP isn't our main bottleneck - it's efficient network connection handling and psql query performance.

Our PHP code is maintainable and expressive that makes it much easier to tune performance where it counts.

[–] livingcoder@programming.dev 40 points 1 year ago

As someone who learned a lot from C++ and that now loves Rust, this annoys me.

[–] TootSweet@lemmy.world 26 points 1 year ago* (last edited 1 year ago) (4 children)

An attitude I've seen a lot among software developers is that basically there aren't "good languages" and "bad languages." That all languages are equal and all criticisms of particular languages and all opinions that some particular language is "bad" are invalid.

I couldn't disagree more.

The syntax, tooling, standard library, third-party libraries, documentation quality, language maintainers' policies, etc are of course factors that can be considered when evaluating how "good" a language is. But definitely one of the biggest factors that should be considered is how assholeish the community around a particular language is.

A decade or two ago, Ruby developers had a reputation for being smug and assholeish. I can't say I knew a statistically significant number of Ruby developers, but the ones I did know definitely embodied that stereotype. I've heard recently that the Rust community has similar issues.

The Rust language has some interesting features that have made me want to look deeper, but what I've heard about the community around Rust has so far kept me away.

I write Java for a paycheck, but for my side projects, Go is my (no pun intended) go-to language. I've heard nothing but good things about its community. I think I'll stick with it for a while.

[–] herr@lemmy.world 20 points 1 year ago* (last edited 1 year ago) (2 children)

But definitely one of the biggest factors that should be considered is how assholeish the community around a particular language is.

I think all of the factors you've mentioned are extremely valid, but this is the one factor that I think should absolutely not count into whether something's a 'good' or 'bad' language. If I'm choosing which technologies to use for my next project, the question of whether it has a rude vocal minority in its community is AS FAR DOWN on my list as possible. Right next to whether its name is hip or whether their homepage is engaging.

[–] TheGalacticVoid@lemm.ee 13 points 1 year ago (1 children)

A toxic community won't help you in good faith when you're running into issues, and this makes it harder to develop using a language with a toxic community.

[–] herr@lemmy.world 1 points 1 year ago

idk, how do I contact "the community" when I have an issue in the first place? All I know of is StackOverflow, and they're honestly toxic enough to make me never ask questions there in the first place.

[–] TootSweet@lemmy.world 10 points 1 year ago (1 children)

Yeah, but the shittiness of a shitty community will come through in documentation that talks down to you and doesn't dain to explain things properly. And then when you go and ask a question because it wasn't well explained in the documentation and get derided for asking.

Fanboys are also likely to mislead (including in documentation) by downplaying caveats in libraries and such. Documentation can end up being more like marketing speak than technical reference.

You speak of "vocal minorities", but I don't think it's quite as simple as that. Languages have cultures around them. (As do lots of other things. Video games. Hardware devices. Car brands. What have you.) If a language has a toxic community around it, it might be an indication that the people behind the language may lack the ability or motivation to maintain a better community. Or worse, that they're doing things that promote or attract the shittiness.

So, in short, I disagree with you. For one thing "everything about this language is great except its community is shitty" makes me suspicious that maybe everything about the language isn't great and it has a really fanboyish community that likes to suppress any (even legitimate) negativity. Where I have to, I use the language I have to use, but when I have a choice, a shitty community is generally a deal breaker for me.

[–] Schmeckinger@feddit.de 6 points 1 year ago* (last edited 1 year ago) (1 children)

Rust documentation, at least for std is some of the best I have seen.

[–] TootSweet@lemmy.world 1 points 1 year ago (1 children)

Gotcha. I can't really speak to the quality of any Rust official documentation.

[–] Schmeckinger@feddit.de 2 points 1 year ago

Whats also nice is thst you put the documentation in the code and rust automatically generates a documentation page thsts hosted on docs.rs. So it makes really easy to have good docs for your stuff. If only everyone would document their stuff perfectly. A lot of the new released stuff gets released with minimal documentation.

[–] darcy@sh.itjust.works 6 points 1 year ago (1 children)

i cant imagine people thinking ruby is the best

[–] Amaltheamannen@lemmy.ml 3 points 1 year ago (1 children)

I'd use ruby over python or JavaScript anyday

[–] darcy@sh.itjust.works 3 points 1 year ago

thats like decing whether to be punched in the face or kicked in the balls

[–] jasory@programming.dev 5 points 1 year ago

Pretty sure syntax is the only one that is even related to what a language is. All the rest are just ecosystem development primarily effected by popularity.

[–] Sunrosa@lemmy.world 1 points 3 months ago

In my experience the actual rust community that you'll be seeing if you work with the language is actually incredibly nice and open minded. It's got a lot of autistic people and other minorities who are more emotionally mature than a lot of adults. Rust people can be smug sometimes talking to "outsiders" but once you're in the community the problem disappears