this post was submitted on 30 Sep 2023
183 points (88.6% liked)

Programmer Humor

32426 readers
719 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 39 comments
sorted by: hot top controversial new old
[–] [email protected] 95 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.

[–] [email protected] 25 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

[–] [email protected] 19 points 1 year ago (1 children)

I saw md5 checksum implemented in scratch.

[–] [email protected] 11 points 1 year ago (1 children)

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

[–] [email protected] 7 points 1 year ago

And a RISC-V emulator that runs Linux.

[–] [email protected] 8 points 1 year ago (1 children)
[–] [email protected] 6 points 1 year ago (1 children)

I am happy to answer any and all questions.

[–] [email protected] 9 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?

[–] [email protected] 6 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.

[–] [email protected] 3 points 1 year ago (1 children)
[–] [email protected] 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.

[–] [email protected] 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?

[–] [email protected] 15 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.

[–] [email protected] 57 points 1 year ago

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

[–] [email protected] 41 points 1 year ago* (last edited 1 year ago) (6 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.

[–] [email protected] 28 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.

[–] [email protected] 19 points 1 year ago (2 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.

[–] [email protected] 11 points 1 year ago (2 children)

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.

[–] [email protected] 7 points 1 year ago

Yes, and answers on StackOverflow about languages that have toxic communities are worse than answers on StackOverflow about languages with less assholeish communities in my experience. As I mean it, StackOverflow posts tagged with the language (and probably even more so those posts' responses) qualify as part of "the community".

[–] [email protected] 3 points 1 year ago

Touche. I personally found Discord users to be helpful and welcoming, but that was moreso for libraries and not languages.

[–] [email protected] 3 points 1 year ago

Documentation is not a community though.

[–] [email protected] 13 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.

[–] [email protected] 7 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.

[–] [email protected] 1 points 1 year ago (1 children)

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

[–] [email protected] 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.

[–] [email protected] 12 points 1 year ago (1 children)

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.

[–] [email protected] 9 points 1 year ago (1 children)

And the ecosystem affects whether when I run into an obstacle, I can google for 5 minutes to find the solution or whether I'll spend the next three days trying dozens of incorrect approaches suggested by StackOverflow answers and random comments on language-specific forums and Wordpress blog posts etc. Whether you consider "the ecosystem" part of the language or not, it's worth considering when choosing a language to work in.

[–] [email protected] 3 points 1 year ago (1 children)

Sure but, this isn't about the actual language. For instance I like Ada, there isn't a lot of public support for it and you're mostly left with the RM and GNAT manuals. But none of this is relevant to Ada as a language. Which was really all I was saying, you should probably split complaints about the ecosystem and the actual language affecting viability.

[–] [email protected] 5 points 1 year ago

Of course it's relevant to (my or anyone else's use of) Ada as a language. And for any language the language and culture influence each other too much to consider them entirely separate. The attitude of the community invariably ends up being reflected in the syntax and standard library (and third party tools/libraries/documentation) of the language and vice versa. If you want in your head to decide there's a distinction there, I guess that's fine, but such a distinction has no practical benefit to a developer making the decision what language to use for such-and-such use-case.

[–] [email protected] 7 points 1 year ago (2 children)

i cant imagine people thinking ruby is the best

[–] [email protected] 5 points 1 year ago (1 children)

Ruby is a really nice language especially when taken in the context of it's time. Curious why you feel it isn't worth being someone's favorite?

[–] [email protected] 1 points 1 year ago (1 children)

its like python or lua but worse syntax and slower. we are not in the 90s anymore, i cant see any reason to use it unless working with a code base or library that already requires it. weakly typed interpreted languages are, imo, only good for certain applications, such as scripting or for beginners. why use ruby when lua or even python exist? i used to like ruby, btw, im not just a hater

[–] [email protected] 2 points 1 year ago (1 children)

Are you trying to imply that python is both fast and strongly typed? As for the syntax that's largely a matter of opinion. Most ruby-enjoyers I know specifically call out the syntax as something they like

Also I'm not qualified to comment on Lua so I won't. Most of my language exploration has been with languages many people famously hate (perl and lisp)

All of that is to say I generally don't think talking about what language is "best" is really a productive conversation. I was mostly curious if you had an intimate understanding of the tradeoffs or otherwise a strong opinion about how it was constructed

[–] [email protected] 1 points 1 year ago

im saying python is very slow, but ruby is even slower.

[–] [email protected] 4 points 1 year ago (1 children)

I'd use ruby over python or JavaScript anyday

[–] [email protected] 4 points 1 year ago

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

[–] [email protected] 2 points 1 year ago

Are you me? I know the joke is overused, but, seriously... that was a comment I would have written.

So wierd.

[–] [email protected] 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

[–] [email protected] -4 points 1 year ago

Blaming others for your own shortcomings in being able to pick up a language is the same kind of behavior as some kid on League blaming everyone else on his team except himself for failing a match.

Stop letting a community dictate your use of effective tools, whether it be C++, rust, python, or air fryers.