1. 44

  2. 8

    I feel like these points support the rich as a great man theory, as noted in the conclusion. His valuing stability seems to lead to those decisions. If those other languages could get a Rich, they’d have made Clojure. It seems fine to have different values. I agree that making different decisions around development model and static typing make those things harder, and are interesting trade offs, but I find the framing of the whole thing strange.

    1. 5

      Is it really inconceivable that an equally great “Rich” would create a curly brace language with static types that requires more tweaking?

      Edit: I think the whole “great man” discussion is a distraction. I think this language arose out of Rich’s personal vision and decisions, so it’s quite plausible to think he meets Carlyle’s definition–the primary explanation of what Clojure is like is Rich[0]. However, the point that Clojure’s stability is enabled by its status as a dynamic lisp is also right, and more important and interesting than the first point.

      [0] And this tells us nothing about the great man theory writ large! A programming language is not the fate of a continent.

      1. 1

        Not at all, but they have different values and end up in different places. I hold Jonathan Blow in a similar regard and Jai looks wildly different and cares about very different things. It is a product of a BFDL type though and it’s success or failure will be on his shoulders.

        I agree that it’s a distraction and basically what I meant by strange is that the post is largely about the “great man” idea and a weird plug for an ideology not well supported by the discussion of the design of Clojure.

      2. 5

        I think Steve’s entire point is that it’s easy to attribute the success or failure of a particular project to the actions of an individual – but not only is that attribution useless in terms of folks learning from that success, it’s also usually inaccurate and completely subjective. (what is great? etc.) Even more insidious, I think it plays in to the delusions of grandeur I’ve found many engineers to have – the 10x developer myth, ‘mean geniuses’ trend, etc.

        Even Rich himself never speaks about Clojure in this way (with him being some sort of enlightened genius keeping complexity at bay), so it’s been interesting to see the community run with this “meme”.

        1. 2

          It might be useless in terms of learning, since the learning is about concrete technical trade-offs, but I don’t think it’s inaccurate and it doesn’t seem particularly subjective. I also don’t think it’s a myth at all. Is someone like Fabrice Bellard (ffmpeg, qemu) not 10x more productive than average? I don’t really know what the counter argument against the idea of a 10x developer is except that it leads to arrogant people wanting to play the mean genius as you mentioned, which I agree is a bad thing.

          No one would really speak of themselves that way since it’s extremely taboo but I don’t think that says anything about their impact.

          1. 1

            I agree partially, part of this is a semantic argument for me. A more accurate statement instead of 10x might be:

            “There are certain engineers, who, because of their subject matter expertise and learning experience, are able to be more productive than others in certain areas given equal conditions.”

            I don’t think anyone would disagree that the above is true. But that’s not what comes to mind (for me at least) when the terms “rockstar engineer” or “10x engineer” are used.

            Preternatural giftedness in an area happens less than once a generation, and we have no idea how it occurs or how to measure it reliably for that matter. Most of the folks you or I might describe as a 10x engineer are just normal folks with particular interests, the right mentors and teachers, and the time to dedicate to their craft — the 10x theory never accounts for the gifts of knowledge that were given to those folks. What’s more, attributing that productivity to some sort of god given intellect hides the learning process that they had to go through, which I think is most harmful to present to people new to our profession — it engenders something similar to: “oh I could never be like X, they’re just naturally gifted.”

            Alan Turing was a visionary and left more lasting marks on computing history than most of us will. But he didn’t become that way out of the womb. He worked, he learned, he struggled even, and that combined with being in the right place and working on the right problems at the right time (or the wrong time depending on your view of his persecution) is what brought him success. Casting the story otherwise does a disservice to the journey.

            EDIT: something that I also didn’t go into is the fact that Clojure is an open source project. Rich hasn’t developed clojure in isolation for a long time now — and I would strongly doubt that his ideas aren’t influenced by his colleagues, either in review or ideation.

        2. 2

          A number of other systems have BDFLs - that Clojure got what it got is due to the system that produced Rich: deep diving enterprise C++ coders in the 90s.

          Arguably Linux has similar characteristics.

          1. [Comment removed by author]

            1. 2

              That’s telegraphed when one mentions “a people’s history” :)

              It’s nevertheless strange. If individuals are to be erased, I would guess that Steve (I mean “the people”) should sign his (actually “ours”, not “his”, right?) blog post with a moniker that avoids the filth of individuality.

              which emphasizes the army over Napoleon, the worker over the CEO.

              Early in his career Napoleon massacred a mob of people in Paris. I mean, he gave the order to do so. I don’t think he personally aimed a weapon, but anyways it was his decision, I place less blame on the nameless subordinates. And Napoleon gets more credit than his subordinates for any achievements as well.

              1. 1

                That’s the problem with the author’s struggles with great man theory. Leaders are generally more responsible than their followers for actions taken. Movements get blamed for poor actions by mobs of people, in the same light. Could another person have the same ideas and comparable success? Yes, absolutely. But this is one person who actually did, so we respect that.

              2. 0

                So what you’re saying is that Klabnik’s a decent human being.

                1. [Comment removed by author]

                  1. 10

                    this comment and your last are both wrong, pejorative, and off-topic.

                    1. 0

                      Pejorative? Maybe. It’s at least accurate. I’m not just name-calling. I’m not sure “pejorative” is even a bad thing — most users of this forum would be justifiably pejorative of anyone openly white-supremacist.

                      Off-topic? Yeah, my snipe at his Russia visit certainly was. Although his [extremist] political ideas do seep into his technical writing, as another commenter has pointed out.

                      Wrong? No. That I hold an unpopular opinion here is made clear by the ream of downvotes, but Klabnik doesn’t hide the fact that he supports an extremist ideology, and he has at least publicly hinted in the past at engaging in physical violence with those holding opposing political views.

                      Frankly, I think most people downvoting me here are afraid to hold everyone to the same standard.

                      1. 6

                        A word of advice: you think you’re being downvoted for an unpopular opinion. In fact, you are being downvoted because your opinion is the political equivalent of complaining that “HTML is stupid because it’s based on Clojure”.

                        No one who has any knowledge of fascism would ever suggest that everyone who “supports pushing a political agenda under the threat of violence” is thereby a fascist. There is some debate about the meaning of fascism, but the statement you made is not within the realm of reasonable debate.

                        1. 0

                          Thank you for your advice, but I do not need it. Downvoted or not, I believe I leave this with my dignity intact having called out political extremism regardless of flavour. That’s real equality.

                          you think you’re being downvoted for…. In fact, you are being downvoted because …

                          I don’t believe either of us can do more than speculate on the exact motivations for everyone else’s downvoting. One other commenter has made clear they disapprove because my comments are “pejorative”. Yes? So what? What is wrong exactly with disapproving of violent political extremism? I believe it to be ethically worse for anyone to not be disapproving of violent political extremism.

                          your opinion is the political equivalent of complaining that “HTML is stupid because it’s based on Clojure”.

                          I’m not sure I follow this analogy. In the context of what you wrote that follows, you might be saying that my argument is fundamentally invalid because we don’t agree on the definition of fascism.

                          I’m sorry, but if you open up a dictionary, you can’t argue that what I have said earlier is “not within the realm of reasonable debate.”

                          No one who has any knowledge of fascism would ever suggest that everyone who “supports pushing a political agenda under the threat of violence” is thereby a fascist.

                          People in public discourse on this topic apparently disagree with you, as does Wikipedia and the dictionary.

                          There is some debate about the meaning of fascism

                          Wikipedia doesn’t say there is some debate. Wikipedia says it is highly disputed.

                          Aside from arguing about the definitions of words — and to move this forward — exactly what term would you like me to use to describe the behaviour that I have observed? What word to you most accurately describes the activity that Antifa [though not exclusively] are engaged in, which is using physical violence to shut down political opponents?

                          1. 3

                            Fascism is nationalistic, communism is not. Fascism is anti-egalitarian, while communism appeals to the goal of a classless society. Fascism is anti-materialist, communism is materialist. Fascism identifies itself with tradition, communism does not.

                            Yet communists encouraged political violence in the pursuit of communism.

                            I acknowledged that there is not an exact, agreed definition of fascism[0]. My claim was that there is essentially universal agreement that what you said is not a definition, and that can be seen from the fact that communism is not fascism, but meets your definition. Where, in wikipedia or the dictionary, or any academic source, is fascism defined as “any use of violence for a political agenda?”

                            If you want a term, “political violence”, or “extremism” could work Most any word will do better than “fascism”.

                            [0] I do think that the definitions in that wikipedia article are like venn diagrams with 80% overlap–the precise boundaries are not agreed upon, but there is a lot of common ground.

                        2. 3

                          Do I correctly understand you to be saying:

                          1. Anti-fascists are the real fascists, and

                          2. We’re all too afraid to treat anti-fascists as fascists?

                          1. [Comment removed by author]

                            1. 3

                              Okay, noted.

                              1. Are you alleging that Steve threatens violence?

                              2. If so, is that on the basis that Steve identifies as an anti-fascist (which I don’t know to be true), or is there some additional basis for it?

                              1. [Comment removed by author]

                                1. 4

                                  I appreciate your answering my questions. To the extent that your answers clarified, I appreciate that as well.

                                  If Steve were to sue you for defamation, under California law a jury would decide whether you were making any assertion of fact. Here on lobste.rs, it is my opinion that anyone reading the thread could reasonably have concluded you were, at the least, strongly suggesting that Steve endorses or advocates violence on the part of individuals.

                                  Of course, on close reading, another interpretation could be that you merely believe that opposition to fascism is fundamentally rooted in violence because the rule of law is fundamentally rooted in violence (by the state). However, I don’t believe this was your point and I don’t intend to entertain it.

                                  Your position is a very serious allegation, and the manner in which you raised it was completely inappropriate. In the future, if you are to remain on this forum, either refrain from making allegations of that nature, or make them directly as assertions of fact with clear meanings that don’t have to be teased out of you. Also, make sure that you are not negligent in determining the truth of such claims.

                                  1. 0
              3. 5

                A good read! Bummed that steve has moved on from the lobste.rs community, but still writing thoughtful stuff.

                1. 1

                  Didn’t realize this had happened. Is there a source for this?

                  1. 2
                2. 6

                  An interesting observation for me is that — at least from what I’ve gleaned online — it seems the sentiment is that Clojure is good because it is developed slowly and thoughtfully, while Elm is bad because it is developed slowly and thoughtfully.

                  One is perceived as “stable”, the other perceived as “dead”.

                  Although this could just be an illustration of the overlap between JavaScript users and the “move fast and break things” crowd.

                  1. 4

                    Clojure is good because it is developed slowly and thoughtfully, while Elm is bad because it is developed slowly and thoughtfully

                    One of these regularly breaks existing code.

                    (I have no idea which one is perceived “dead” because as a Clojure programmer I haven’t seen meaningful changes in Clojure in the entire time I was using it professionally, which mostly means that what I think would make Clojure better is not what Rich Hickey thinks makes Clojure better)

                    1. 2

                      I won’t dispute that, but from my perspective:

                      1. Elm is at less than a 1.x release
                      2. The changes I’ve seen in the past couple of years have all been caught by the compiler. This is more desirable to me than the uncertainty of not knowing if something will break at runtime after a version bump.
                    2. 3

                      Clojure programmers tend to have a lot of respect for Elm (both the language and the way it is developed). I don’t know who thinks Elm is dead, but it sounds like that perception is coming from people with different priorities than Clojurists.

                      1. 2

                        Sorry, I didn’t mean to imply that I observe Clojure enthusiasts doing this. It’s more the people who are excited about all the latest JavaScript frameworks. They would be the target audience for Elm, since Elm is essentially a UI DSL.

                    3. 2

                      This was a great read – thanks a lot. Rich is such an interesting guy, I really enjoy his talks. Been meaning to pick up Clojure for a while now.

                      1. 8

                        rich is an interesting guy and I like to listen to his views and arguments, while not necessarily making them my own. On the other hand, I’d probably not have to maintain a code base with him on the team, as he reminds me a bit of a certain type of colleague.