(joke in the title stolen from a redditor)
Context: some Rust kid vandalized cppreference.com today.
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.
I want to tell the computer what it should do, not what the computer things I can do. Thatโs why I use scratch
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?
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.
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?
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.
As someone who learned a lot from C++ and that now loves Rust, this annoys me.
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.
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.
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.
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.
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.
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.
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.
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.
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?
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
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
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.