1. 30
  1.  

  2. 19

    It is a common complaint against Rust that it has a steep learning curve. I agree; it took me a while to figure out how to use Rust so that I know when I’m on the wrong track and the borrow checker is going to give me errors. What I disagree with is that it’s necessarily a bad thing that Rust has a steeper learning curve; I fail to see how we can reach that next step if we try and limit ourselves to constructs that are already-known and paradigms that are familiar.

    I see many similarities between the difficulties I faced when I started learning Rust with the difficulties I faced 15 years ago when I was learning OCaml for the first time. I had seen Doug Bagley’s original language shootout, and I wanted to learn the weird French language that was faster than C and C++. I did not have a lot of programming experience or background then, only basic scripting with Python, and the type checker would reject most of the code I wrote. This was extremely frustrating, especially since I wrote similar code in Python, and it worked without any problems! I gave up on OCaml a couple of times, tried to use it again a few months later, and each time I was able to go a little further. Fast-forward to now, and OCaml is easily one of my favorite languages, I feel confident writing programs in it, and I enjoy taking advantage of the type system to improve the quality of my code.

    It appears to me that a lot of people are experiencing the same kind of difficulties with Rust’s borrow checker. They struggle a lot at first, curse even more when simple statements fail to compile, but eventually they internalize the model and learn to work with it rather than against it. Unfortunately, many programmers seem to refuse to feel like beginners again, and they hold Rust responsible for this slight against their ego. However, once the initial difficulties are mastered, Rust is not that different from any other language. In the HN thread, burntsushi mentioned that he regularly writes both Go and Rust code, and he can see no difference in productivity between the two languages; I view his experience as a data point in favor of the hypothesis that once you grok the Rust model, the borrow checker is no longer as important an issue as some people make it out to be. I hope that programmers will have the patience and the humility to get over the initial hurdle.

    1. 10

      People approaching a powerful type system for the first time, especially those with “hacker language” backgrounds, often struggle internalizing that the best way to use a type system isn’t to write arbitrary code and then expect the type checker to find errors (which is more or less what TDD consists in, after you replace “type checker” with “test suite”). That would be a hopeless task, since a type system can’t possibly be designed with every legitimate program structure in mind.

      Rather, it is more efficient to let the type system itself suggest what kinds of program structures are more convenient, with the goal to “outsource” to the type checker as much as possible of the task of finding errors. Ultimately, the responsibility to deliver a correct program still lies on the programmer’s hands, but the less he or she has to deal with low-level concerns (e.g.,“Am I not trying to use this file after I have closed it?”), the freer he or she is to address higher-level ones (e.g. “Am I using a file format that is convenient for my program’s users?”).

      There exist some parallels between this and Dijkstra’s suggestion that:

      If one first asks oneself what the structure of a convincing proof would be and, having found this, then constructs a program satisfying this proof’s requirements, then these correctness concerns turn out to be a very effective heuristic guidance.

      1. 4

        As someone who is firmly in the “not much programming experience, basic scripting in Python” camp and also wanting to become confident in OCaml – thank you for sharing your inspiring anecdote.

      2. 7

        Admittedly the main points he makes here, 1) api stability for rust on a 10yr timeframe 2) select/epoll as a language feature / first class citizen are not major concerns for things outside long lived network servers.

        1. 17

          Learning curve for C programmers and conversion costs are other pain points directly relevant to Rust’s goals. Let’s not leave them off.

          1. 2

            Would not Rust allowing you to rewrite part of the application like they are doing with Firefox a major point for the conversion and a +1 for Rust?

            1. 2

              You can rewrite C code in a lot of things. The trick with this is whether Rust’s borrow checker will force major,structural changes to legacy code that might break it. The difficulty of doing this is the very reason so much COBOL and C is still chugging along.

        2. 22

          I don’t put much weight on any ESR opinion after he indicated he believes that black people are sub-human.

          I can disagree with anyone, and still listen to what they have to say, but I draw the line when you start talking about how my colleagues and my cousins aren’t actually humans. I don’t really care what you have to say about anything after that.

          I wish we’d stop posting and reading to what he has to say about anything.

          1. 9

            If I was a serial killer who raped and murdered dozens of women and children, set fire to a church, a mosque and a synagogue, would this automatically, for instance, invalidate my works in applied mathematics?

            It is easy to act offended by this or that person. I prefer ESR’s factual and well-articulated arguments while he discussed Rust and Go any day over your ad hominem attempts to deconstruct a chain of argument stating something that doesn’t have anything to do with the problem at hand.

            In the long run, people like you are the ones who are guilty of the fact that so many people nowadays are afraid of stating their own opinion. Trump’s victory, which was a “total surprise”, actually wasn’t. And now after he won, more and more people are not scared anymore to express their world view. Now, I am not judging anybody on any side. But I suppose your goal is to convince people that believe otherwise that negroes are human (duh!). Now, do you think it is more productive to

            • talk to these people, get an idea why they believe so and suggest fallacies in the line of thought; or to

            • shun them, isolate them, mark them as *ists, *phobes, nazis, whatever, deny their existence, ignore what they have to say, and so on.

            I’ll leave that as an exercise for you and hope you see what I mean.

            1. 10

              Well, let’s discuss his works in applied programming then. His (rather, stolen by him) fetchmail, among its other sins, was not checking SMTP responses from the server it talked to when I looked at it. His gpsd truncates JSON responses after 1.5KB instead of allocating memory dynamically. I don’t see why I should listen to an opinion on relative merits of programming languages by someone whose level of competence is below an average 2nd year CS student.

              If he were like Henry Ford, a Hitler admirer who reached great heights in his chosen field, we could discuss your line of reasoning, but ESR is no Ford.

              1. 3

                So, I’m with you on his track record being spotty in some cases–a better example would be his hijacking/claiming credit for ncurses. That’s a fun little bit of drama to read about, as an aside.

                But, I can’t give you a pass on this:

                instead of allocating memory dynamically.

                If only there was some kind of programming scenario where dynamic memory allocation wasn’t a good policy, like perhaps embedded or realtime systems. But that would only make sense if this code was being used for something like GPS–ha oh wait no, nevermind, that’s exactly what this code is being used for.

                Besides, the behavior is clearly documented and recoverable, and clearly has somehow survived a lot of use in the real world…rather unlike your average 2nd year CS student. I’m sorry it offends your sensibilities, but perhaps maybe consider the problem domain before attacking it on stylistic grounds?

                1. 3

                  If only there was some kind of programming scenario where dynamic memory allocation wasn’t a good policy, like perhaps embedded or realtime systems.

                  According to its home page,

                  gpsd is a service daemon that monitors one or more GPSes or AIS receivers attached to a host computer through serial or USB ports, making all data on the location/course/velocity of the sensors available to be queried on TCP port 2947 of the host computer.

                  It’s not embedded software.

                  Edit: Downvoted as “incorrect”? Have a decency to correct me, then.

                  1. 5

                    GPSD is everywhere in mobile embedded systems. It underlies the map service on Android phones. It’s ubiquitous in drones, robot submarines, and driverless cars. It’s increasingly common in recent generations of manned aircraft, marine navigation systems, and military vehicles.

                    1. 1

                      For what it’s worth, I didn’t downvote you.

                      Anyways, GPSD is run as a service in Android >4.0, so yes, it’s embedded software.

                      1. 3

                        Android systems normally have hundreds of megabytes of RAM at the very least, so I wouldn’t consider them embedded, especially when speaking about allocating several kilobytes.

                        1. 2

                          And don’t forget - he didn’t actually create gpsd.

                2. 6

                  “If I was a serial killer who raped and murdered dozens of women and children, set fire to a church, a mosque and a synagogue, would this automatically, for instance, invalidate my works in applied mathematics?”

                  It would make me not want to read your opinions, engage with you in technical discussion, or otherwise normalize your behavior. I’d continue to make use of valid technical results, but I would not disrespect your victims by accepting your participation in my community.

                  1. 3

                    How do you feel about the Wernher von Braun?

                    1. 3

                      The missiles go up and where they come down is not my concern says Wernher von Braun

                  2. 6

                    would this automatically, for instance, invalidate my works in applied mathematics?

                    I’m not arguing that; I’m arguing that the presence of these people in our community and the discussion of their ideas turns off others in our community, and signaling that these behaviors are acceptable ultimately leads to worse behavior from everyone. It’s a good thing, for example, that you can’t say the N word without being shamed or shunned by your peers and excluded from society.

                    1. 8

                      There are also people who go to the length of taking screenshots of text to put out of context. It’s as if the original material wasn’t even read, or alternatively not understood.

                      Sure this is going off-topic, but the presence of people who are wilfully ignorant or wilfully misunderstanding, and then spreading that kind of a false message, is a problem as well.

                      1. 12

                        Quite right. People keep saying “wah wah wah I want more politics in mah lobsters why do we have to be so technically oriented”, and then they go and show that they can’t be arsed to actually source things correctly and argue things beyond “but but but muh feelings, muh racism”. A bunch of dreck.

                        The argument @kb and others of his ilk put forth is “if you hold views that are not in agreement with us on a topic regardless of whether that topic is relevant to the current technical discussion, you should be shunned.”

                        This is very popular, very in-vogue, and the stupidest, most truly close-minded goddamn thing in the world, and that ideology should be mocked publically at every turn because it cannot play well with others, and because it cripples rational thought prevasively in the afflicted.

                        It’s absurd that irrational opinions or preferences should somehow automatically invalidate other good discourse.

                        Further, the immature notion of @kb’s that failing to shun these folks somehow automagically signal-boosts their message is absurd. You know why we have exposure of ESR’s crazy in this thread? Because @kb decided to pipe up about it.

                        Otherwise, we would’ve just had a reasonable amount of shilling by Go and Rust fans. It’s almost as though these folks can’t shut the fuck up about their pet grievances because they require those grievances to become front-and-center in every place they show their faces–hence my remark about not playing well with others.

                        1. 6

                          “It’s absurd that irrational opinions or preferences should somehow automatically invalidate other good discourse.”

                          Irrational preference is a funny way to characterize racist discourse.

                          “Further, the immature notion of @kb’s that failing to shun these folks somehow automagically signal-boosts their message is absurd.”

                          That’s not an immature notion, it’s basic decency.

                          Edit: Do I get to be of an ilk? Always been a dream of mine.

                          1. 4

                            That’s not an immature notion, it’s basic decency.

                            In what world does failing to ban X cause there to be additional X? Does my failing to ban the word “fnord” on my blog somehow create addional instances of “fnord”? No, no it does not. It might seem like splitting hairs, but in that small difference is the gap between tolerance and censorship.

                            Basic decency, I’d posit, is more about gracefully handling the existence of people who don’t agree with you on everything–even something as “common sense” or “evil” as bigotry. It’s odd that the “decent” approach somehow calls for shunning people and kicking them out.

                            1. 6

                              Who is calling for a ban on anything? But if your question is: in what world does widespread disapproval of some kind of offensive speech or behavior lead to reduction in that type of speech - the answer is: this world. For example the omnipresence of public humiliation of gay people or women in polite conversation in the USA 50 years ago has been reduced significantly by public disapproval. Or consider how white Americans called black men “boy” only a few decades ago even in supposedly educated circles.

                              “Basic decency, I’d posit, is more about gracefully handling the existence of people who don’t agree with you on everything ”

                              You conflate “disagree” and “degrade”. You may disagree with me about, for example, Barack Obama’s skills as a politician, but if you express your disagreement by waving around posters of Mr. Obama with a bone through his nose, we’re not “disagreeing”. Basic decency is treating all human beings as human beings, even if you dislike them or disagree with them. Asserting that an imaginary genetic inferiority of Hatians is to blame for the poverty of Haiti is a failure of basic decency (as well as an admission of gross ignorance).

                              1. 1

                                Who is calling for a ban on anything?

                                @kb, to wit: I can respect disagreements on most issues, but I don’t want you in my community and I don’t want to discuss what you have to say when you can’t see my coworkers and friends as human beings.

                                But if your question is: in what world does widespread disapproval of some kind of offensive speech or behavior lead to reduction in that type of speech

                                That was pretty clearly not my question…?

                                Or consider how white Americans called black men “boy” only a few decades ago even in supposedly educated circles.

                                Is this from personal experience, or calling on a vague notion of “the bad old days”?

                                Because, from personal experience, I can assure you that folks still use “boy” as a diminutive when referring to, well, young males and young-acting males, all the time–at least in Texas–regardless of the race of the person in question. “That boy is going to get himself into trouble.” “I’m going to see my boy.”.

                                You conflate “disagree” and “degrade”.

                                I never said “disagree”, I said “don’t agree”: there is a category of “I don’t promote your message, but I also don’t promote the countermessage” which is important not to lose in the shuffle.

                                Asserting that an imaginary genetic inferiority of Hatians is to blame for the poverty of Haiti is a failure of basic decency (as well as an admission of gross ignorance).

                                That’s not what was pointed out, though–the exact thing pointed out was the observed (by some source) low IQ, and then a comment that “Gee, it seems like low IQ correlates highly with being a third-world country”. You have not here, or elsewhere in sibling posts, actually shown the accusation that you keep claiming ESR made.

                                ~

                                Like, the source text for all of this, his comments and our discussions, are right here. Hyperlinks and direct quotes will save you a lot of miscommunication and bullshit.

                                1. 4

                                  I don’t think you are arguing in good faith, so I’ll give you the last word.

                                  1. 2

                                    Right, so no refutation of my points, and no further evidence for those of yours which were called out as misrepresentations of mine and others' points.

                                    If “good faith” argumentation doesn’t require such things, I’m not really sure why we should care about it, and I certainly see no benefit in having it here.

                          2. 5

                            “if you hold views that are not in agreement with us on a topic regardless of whether that topic is relevant to the current technical discussion, you should be shunned.”

                            This is a straw man, see my first comment that kicked off this whole thing. I can respect disagreements on most issues, but I don’t want you in my community and I don’t want to discuss what you have to say when you can’t see my coworkers and friends as human beings.

                            It used to be acceptable to make sweeping generalizations about racial groups, demean women in the workplace, use the N word, and it’s generally not anymore, in large part because people who make those comments will be shamed/shunned/fired. I think that’s a good thing. I think you and others underestimate the effects toxic people have on others' participation in the community.

                            failing to shun these folks somehow automagically signal-boosts their message is absurd

                            Not about signal-boosting their message, but about the implicit message we send to marginalized groups when we tolerate the extreme beliefs of others. The message it sends when this person, who thinks you are too dumb to learn how to use a gun because of your skin color, is accepted and welcomed in the community.

                            1. 6

                              Thank you for more clearly stating your position here.

                              but about the implicit message we send to marginalized groups when we tolerate the extreme beliefs of others.

                              It’s difficult to reason effectively about “implicit messaging”, especially without either spiraling off into space or making the sin of pretending we can truly know how another person feels about something and how they perceive it.

                              I’ll take responsibility for anything explicitly said, but the way that you use implicit messaging here seems to translate to “whatever message others infer from their observations”. I only have one dog–your reasoning suggests I should be concerned that I’m sending off the “I hate cats” message.

                              The message it sends when this person, who thinks you are too dumb to learn how to use a gun because of your skin color, is accepted and welcomed in the community.

                              Where is this message in his writings, exactly? Or are you just spitballing a hypothetical or, god forbid, another idea coming out of Twitter?

                              Also, that same message sans skin color predicate is used all the time by folks who dislike gun owners, and many of those folks are accepted with loving arms in the tech community. If you want this to be something we care about, maybe we should address that other blatant doubletalk first.

                              1. 4

                                Where is anyone saying your coworkers and friends aren’t human beings? Where did he say something like that? What am I missing? Where is this gun claim coming from?

                                edit: what particular belief should not be tolerated?

                      2. 10

                        You would probably do better to link specific examples than to just say “he’s an evil meanie racist who shouldn’t be listened to”.

                        Least of all because his software probably has more users than yours.

                        1. 17

                          In the case of ESR, I think it’s fair to ask whether people use “his” software because of or despite his authorship. I wager the concensus is that he’s done a shit job actually improving it, despite much bloviating to the contrary.

                          1. 7

                            Sure, but that doesn’t mean his technical opinions are worth ignoring completely.

                            Software quality is not, sadly, the final word–otherwise we would all use OpenBSD instead of Linux.

                            1. 10

                              Of course. His technical opinions should be evaluated - but one should be mindful of the quality of his past work while doing so. ESR portrays himself as a form of coding demi-god (see quotes below), but that may be stretching the truth somewhat.

                              Yes, there was a bug in my vint64 encapsulation commit. I will neither confirm nor deny any conjecture that I left it in there deliberately to see who would be sharp enough to spot it.

                              I often go entire months per project without committing a bug to the repository. There have been good stretches on NTPsec in which my error rate was down around one introduced bug per quarter while I was coding at apparently breakneck speed. This is how I do that.

                              Source

                              Right, so he implies a bug in his code was left there intentionally for others to spot (I’m not sure if it was a failed attempt at humour - it can be hard to tell with his writing style)? And he goes months without committing bugs to the repository. Wow. He’s come a long way since fetchmail is all I can say…

                              Edit: I thought I was making a reasonable argument (with quotes!), but if that’s flagged as trolling, then so be it.

                              1. 2

                                I don’t follow. Are you saying that we should listen to ESR’s technical opinion because his software is relatively popular, eventhough it’s low quality?

                                1. 1

                                  There is indeed a lot that can be learned from popular, if low-quality, software.

                                  Consider the other side of your position: Should we only listen to people who write high-quality software that never sees public use? I think not.

                                  1. 3

                                    Consider the other side of your position: Should we only listen to people who write high-quality software that never sees public use?

                                    This is a ridiculous portrayal of my words. Only people who write software that’s never used? Of course not. But if I’m going to listen to someone speaking about programming, I’d rather listen to someone who can write good software, however popular it is, than follow popularity contests. If he were talking about marketing software to free sof^H^H^H^H^H^H^H^Hopen source enthusiasts, that would be an entirely different issue.

                            2. 8

                              Having more users doesn’t necessarily mean the software is any good. Just look at the horror that is fetchmail (in short: “As to fetchmail: it is an abomination before God”).

                              DJB also had the following to say about it:

                              Last night, root@xxxxxxxxxxxxxxxxx reinjected thirty old messages from various authors to qmail@xxxxxxxxxxxxxx

                              This sort of idiocy happens much more often than most subscribers know, thanks to a broken piece of software by Eric Raymond called fetchmail. Fortunately, qmail and ezmlm have loop-prevention mechanisms that stop these messages before they are distributed to subscribers. The messages end up bouncing to the wrong place, thanks to another fetchmail bug, but at least the mailing list is protected.

                              –D. J. Bernstein

                              There’s more in the getmail FAQ. Yes, the getmail author may possibly be biased but that list of security holes doesn’t make for good reading.

                              If the piece of software you’re most known for is, well, not that great (and you didn’t even create it - it was a development of Carl Harris' popclient), then I reserve the right to treat what you say with scepticism.

                                1. 7

                                  Why not link to the source material?

                                  For example: http://esr.ibiblio.org/?p=5001

                                  In my opinion, the full article is rather different from the snippet you linked.

                                  1. 23

                                    You…are aware that screencaps of text don’t actually imply much these days, right? Especially if they’re from, say, a pretty openly biased source. Hint: tptacek may be an expert in security, but I wouldn’t automagically trust him beyond that point. Do your own homework…speaking of which!

                                    Here, let’s look at the actual quotes in context and at least attempt rigor:

                                    Sure, here: https://twitter.com/tqbf/status/816464403168161793

                                    From an article entitled “Preventing visceral racism” The thrust of which was ESR (however clumsily) trying to explore his own irrational feelings so he could learn to transcend them.

                                    and here: https://twitter.com/tqbf/status/816445221470957569

                                    The first bit is talking about what the guiding principle of the hacker community is (in his opinion), and how to approach him with an objection to that principle or a critique on it execution. Quite harmless, one might dare even say progressive, and frankly the sort of advice that people like you should take (instead of blindly regurgitating tweets).

                                    The second is ESR arguing that politics is the red-herring in Haiti’s “it’s the politics making it bad” is in fact due to “it’s the below-average IQ of the population”. Racism based on skin color (either for or against) is explicitly pointed out as being wrong. The final paragraph is saying that low IQs correlate with third-world countries–only exceptionally uncritical reading would interpret that as “yep, sure hate them blacks folks aye tell you hwut.”

                                    and here: https://twitter.com/tqbf/status/769328477606547456

                                    From this thread, the first comment of which is the one screencapped (which I am disallowed from linking to directly, sadly).

                                    If you read the paper under discussion, specifically the summary on page 60, you’ll see what they’re talking about–specifically, that it is claimed that social stressors don’t completely account for the increase in mental health issues with non-heterosexual and transgender populations.

                                    In that light, Eric’s comment is not some crazy bigoted nonsequitor. It can still be incorrect mind you, as can the report they’re discussing, but it’s hardly a smoking gun unless you’re hellbent on dismissing what the man has to say.

                                    Which, by your own admission of course, you are.

                                    I wish there was a downvote option for “intellectually lazy”.

                                    1. 2

                                      The second is ESR arguing that politics is the red-herring in Haiti’s “it’s the politics making it bad” is in fact due to “it’s the below-average IQ of the population”. Racism based on skin color (either for or against) is explicitly pointed out as being wrong. The final paragraph is saying that low IQs correlate with third-world countries–only exceptionally uncritical reading would interpret that as “yep, sure hate them blacks folks aye tell you hwut.”

                                      You don’t have to sound like a racist out of central casting to be racist. The comment by Raymond you cited qualifies as racist.

                                      1. 7

                                        I don’t get it. What is racist about it?

                                        1. 2

                                          Seriously? You don’t get what is racist about a white American saying that a 100% black country, which his own country has invaded multiple times, has economic problems because its population is made up of people who are genetically doomed to stupidity?

                                          1. 2

                                            He didn’t make up the IQ of Haiti. What do you want from him? How much sugar do you want with your research? Maybe Haiti has problems from both being invaded and being full of borderline disabled people?

                                            I don’t know how you could possibly look at that fact and not think it’s going to have a big effect. Maybe the research is flawed but to say it’s racist to even ask the question is pathetic.

                                            1. 0

                                              At this point “ask the question” is like “it’s just a joke”.

                                            2. 2

                                              That isn’t what he said though…If you read the link, he says nothing about genetic predetermination. You are attacking him for something he didn’t write there.

                                              Also, would it be less racist a claim, by your logic, were ESR not a white American? Cmon.

                                              1. 2

                                                “Also, would it be less racist a claim, by your logic, were ESR not a white American? ”

                                                Of course. This is how language works. It’s annoying how when these types of topics arise, people affect a kind of bland literalism that nobody uses to navigate daily life.

                                                1. 4

                                                  Jesus Christ. The IQ is what it is. How can you seriously say it’s racist to examine it?

                                                  1. 1

                                                    IQ is not like atmospheric pressure - it’s a socially defined and socially significant “measure”. There’s a lot of research on the topic. There’s a good, short introduction in this article https://www.theatlantic.com/national/archive/2013/05/why-people-keep-misunderstanding-the-connection-between-race-and-iq/275876/

                                                    What Raymond does in that note is a long way from “examine” some objective measure.

                                      2. 7

                                        While it’s well within your right to ignore ESR for his bigoted views, and idiocy, I do like to challenge this idea that because someone takes a certain stance on one thing, they shouldn’t be taken seriously in another, unrelated thing.

                                        I wonder how many contributions to science, literature, math, software, etc you’ve enjoyed, used, quoted, expanded your mind with, that were contributed to, written by, discovered by, persons with views that you would oppose so vehemently?

                                        Maybe the fact is, we live in a much different world now, where we have the tools necessary to understand people’s opinions and beliefs, because people share them openly on blogs and such.

                                        I’m not suggesting it’s the wrong approach to take–it may be the best strategy for defending against hate–but I wonder how this works when we might promote someone we don’t know enough about, which we wouldn’t if we did, ya know?

                                        1. 6

                                          A guy who’s considering the implications of scientific research and trying to actively train his system 1 to be less racist, what a monster.

                                          1. 6

                                            Go tell a black coworker or a black friend that you don’t believe that black people should be allowed to own guns because you believe, as a group, they lack the intelligence to learn how to handle them and then get back to me on whether these are racist comments or not.

                                            1. 6

                                              I didn’t see that claim made. I saw a claim about the average IQ in Haiti?

                                              Seeing if an idea hurts someone’s feelings seems like a pretty bad idea to tell if it’s true though.

                                              edit: I love the “here be dragons” label, I wish more places would do something like that rather than delete things.

                                              1. 3

                                                Presumably, though, telling white (whatever that means) people that one believes, as a group, that they have pillaged the earth and made the human race worse off is somehow acceptable?

                                                Please, let’s end this line of conversation for the time being.

                                                1. 2

                                                  You’re moving the goalposts, and no, it’s not.

                                                  1. 7

                                                    How am I moving the goalposts? Friendo, you haven’t managed to set any meaningful parameters on this discussion beyond snark and half-baked accusations.

                                                    Maybe you could start by actually linking (directly!) to the material that you’re roundabout suggesting exists when you say things like

                                                    because you believe, as a group, they lack the intelligence to learn how to handle them

                                                    If ESR said that, source it–if he said that indirectly, source the different parts and draw the pattern out for us. If he didn’t say that, you’re just spouting inflammatory nonsense in an attempt to signal and get upvtoes.

                                        2. 2

                                          Even a stopped clock is right twice a day. Sometimes the wrong people are right about something, and the strengths of their observations stand on their own.

                                          1. 2

                                            Sometimes the wrong people are right about something, and the strengths of their observations stand on their own.

                                            Plenty of people have thoughts about Rust and Go, we don’t need to also listen to the racist folks.

                                            1. 4

                                              Well, I think we can’t ignore any solid points they raise, if we happen to come across them.

                                              I’m not saying we should seek out the opinions of racist folks. I was just browsing Lobste.rs when I saw this.

                                              It might also be a good idea to keep abreast of what the racists are up to. Otherwise they might surprise you.

                                        3. 7

                                          repeating my comment from hn, I continue to be astonished that D gets left out of these discussions. it’s more capable than go and easier to use than rust, which would make it look like the sweet spot for a lot of people moved to compare the two. (that said, every time i’ve tried to use the language the tooling around it has been a miserable experience. that might have changed in the last couple of years.)

                                          1. 14

                                            D was (maybe it fixed all these by now, haven’t looked in a few years) a complete mess. Multiple standard libraries, GC was in this weird sort of “being made optional, but not working yet”, and it tried to be universal and never found a niche. Basically, the issues around GC and the standard libraries made it an untrustworthy community in the eyes of many developers.

                                            1. 7

                                              The standard library split, at least, was resolved about 5 years ago, with the outcome that there’s one standard library (the one bundled with the compilers), with appropriate changes made so that the former “alternate” standard library could be reworked as a third-party extension library on top of it, rather than an alternative. So they now have roughly the relationship that, say, the C++ standard library and boost have.

                                              1. 1

                                                This is not useful. “few years” is a long time. If I were to talk about 2010 Go, I’d be saying the same things about “the issues around GC and the standard libraries made it an untrustworthy community in the eyes of many developers.” and not be wrong.

                                                1. 1

                                                  D was released in 2001, when I explored it, it was close to a decade old and still a huge mess. In 2010, Go was about a year old, and the GC and stdlib where already well flushed out and while both have been improved, neither has broken or changed. Go has a core value of stability and backwards compatibility which has been I believe a cornerstone of its growth (see: https://golang.org/doc/go1compat).

                                                  So, I disagree with your points on two fronts, (1) Go had decided on GC and the stdlib by 2010 [actually by 2009] and (2) D was 10x as old at the point I looked at it and STILL lacked stability on EITHER of those fronts.

                                              2. 7

                                                Hard to shake a bad reputation, I have barely looked at D but the general vibe I get is people don’t like it.

                                                1. 3

                                                  In addition to the library issues mentioned elsewhere and unsearchable name, wasn’t there some funky licensing history? I imagine that’s probably resolved by now, but at the time I remember seeing it wasn’t properly open-source and so figured it was best ignored.

                                                  1. 4

                                                    yeah, from what i recall the reference compiler (dmd) was free-as-in-beer, but not free-as-in-speech, but there was an open source front-end to which people hooked up a gcc backend. it was still a bit funky, but not unviable. (as opposed to, e.g., shen, which is a great language whose community was essentially stillborn due to bad licensing)

                                                2. 2

                                                  Rust supports an equivalent of conventional mutexes locking shared state via its data-ownership system. It also has an implementation of CSP channels. […] Rust’s native shared-state/mutex system looks fussy and overcomplicated compared to CSP, and its set of primitives is a known defect attractor in any language.

                                                  This bit seems like it could be expanded. You can get a kind of locking from ownership alone – passing the object to functions and getting it back – but this would not be a defect attractor in the same way as mutexes.

                                                  1. 6

                                                    A hidden feature is that Rust can detect - through ownership and borrowing - when moderation of concurrent access isn’t necessary. This is free at runtime then.

                                                    1. 1

                                                      I suspect it can also detect in limited situations when this moderation of access is being done correctly, since methods that take ownership can also return it, by returning self.

                                                      Admittedly, this technique is no good across an FFI boundary.

                                                  2. 0

                                                    fairly or not, i can no longer see esr’s name mentioned without immediately flashing on this strip

                                                    1. 1

                                                      The Rust part is a repost from Eric Raymond’s much discussed blog post about how Rust is “severely disappointing”.

                                                      1. 5

                                                        The entire post is written by Eric S. Raymond (ESR), and yes he included a snippet from his other post.

                                                        1. 1

                                                          I wasn’t implying that ESR didn’t write this, too. Sorry if it reads that way. Just wanted to note that this is not all “new”.