Live data from Hacker News

Clojure is not Software Conservative

blog.n01se.net

11–20 of 44 posts

Re: Clojure is not Software Conservative

#11
post #8

I don't think pointing to surveys showing few Clojure users came from Haskell/ML, is sufficient to disprove Yegge's assertion. If a language's designers came from camp A, yet the majority of users came from camp B, that does not mean the language is not strongly influenced by camp A.

That's a fair point, but it was an attempt to inject actual facts into a conversation full of generalities.

What the survey does suggest is a lot of people who used "non-conservative" languages in the past are now using Clojure. Maybe they all decided they wanted a "conservative" language, or maybe they think Clojure is "non-conservative".

Or maybe these labels don't have much meaning after all.

Re: Clojure is not Software Conservative

#12
post #10

Why do people think it's useful to import badly fitting, emotionally loaded labels from politics into software? Behold the stampede of engineers running away from the "conservative" label!

Maybe a political conservative would have been able to construct the argument in a way that would make developers proud to label themselves programing conservatives.

Re: Clojure is not Software Conservative

#13
post #9

Leaving aside the question about whether the suggested division between "liberal" and "conservative" is a valid one... It seems like people are not happy for their favorite language being labeled as "conservative". I don't understand why. Depending on the problem domain, "conservative" and "liberal" approaches can have their benefits and drawbacks. I used to work at a company developing software for electronic tradin…

There are a few features from Yegge's conservative list that I wish Clojure had. For example there is some very interesting work going on to support optional static typing. https://github.com/frenchy64/typed-clojure

But this article was not about what is desired, but about what is -- Clojure is not currently very "conservative" according Yegge's definition, for better or worse.

Re: Clojure is not Software Conservative

#14
post #12
post #10

Why do people think it's useful to import badly fitting, emotionally loaded labels from politics into software? Behold the stampede of engineers running away from the "conservative" label!

Maybe a political conservative would have been able to construct the argument in a way that would make developers proud to label themselves programing conservatives.

But I am a political conservative! Maybe a political conservative with more impressive rhetorical skills would have done better...

But wait, that doesn't make sense because this supposedly has nothing at all to do with political points of view.

Re: Clojure is not Software Conservative

#15
post #8

I don't think pointing to surveys showing few Clojure users came from Haskell/ML, is sufficient to disprove Yegge's assertion. If a language's designers came from camp A, yet the majority of users came from camp B, that does not mean the language is not strongly influenced by camp A.

Rich Hickey, the designer of Clojure, isn't from Haskell/ML background. His background is C, C++ and Java.

Re: Clojure is not Software Conservative

#16
post #12
post #10

Why do people think it's useful to import badly fitting, emotionally loaded labels from politics into software? Behold the stampede of engineers running away from the "conservative" label!

Maybe a political conservative would have been able to construct the argument in a way that would make developers proud to label themselves programing conservatives.

Let's ignore political extremists for the moment.

I think the definitions of political conservative on Steve Yegge's post are pretty far wrong. If those are the commonly held beliefs among the liberal side, well, that seems like a stunning level of misunderstanding.

I think the only thing colloquially conservative about "conservatives" is that they are colloquially conservative in the amount of power the wish to cede to government.

Being a political conservative today in the US, in an ideal case at least, is about freedom and choice. Generally held beliefs are that free-markets are good in many cases, too much regulation is as bad and sometimes worse than too little, and that government is in very many cases a terribly inefficient use of resources.

In principle they do not believe in domination of the masses by a vast corpus of rigid rules. They believe a minimal set of overarching rules, and leaving much to freedom and choice.

That's conservatism in principle, from my view as a conservative. The reality of course is different, particularly for "conservatives" in office or seeking office. I personally have a hard time distinguishing one brand of politician from another.

And there are a vast array of people with sometimes bizarre beliefs that associate with one side or the other of the political spectrum, and the conservative side has plenty of them, and liberals do too.

I don't know for sure how this 'brand' of conservatism would apply to programming. I would suggest though, they would want as much freedom to express themselves as they could get.

So:

--The idea of strong typing would rub conservatives the wrong way.

--A rigid and inviolable set of rules and procedures and processes for how code may be written.

I'm not sure what else. My programming experience is pretty amateur. My favorite languages to work in are C, Python, and Clojure. So maybe that says something.

Re: Clojure is not Software Conservative

#17
post #12

Earlier quoted context omitted.

Maybe a political conservative would have been able to construct the argument in a way that would make developers proud to label themselves programing conservatives.

Let's ignore political extremists for the moment. I think the definitions of political conservative on Steve Yegge's post are pretty far wrong. If those are the commonly held beliefs among the liberal side, well, that seems like a stunning level of misunderstanding. I think the only thing colloquially conservative about "conservatives" is that they are colloquially conservative in the amount of power the wish to cede…

Ok, I read more of Yegge's post and need to reply again:

There are definitely cases where the list of 9 software-conservative points should apply. These are the cases where bugs hurt or kill people... i.e. Software on airliners, software running important medical equipment, traffic signaling, etc...

I guess I was speaking from a less "mission critical" development point of view.

Re: Clojure is not Software Conservative

#18
These people try to debunk Yegge's idea by proving, point by point, how their language isn't conservative. But no matter how much counter-arguments and rational fodder they provide, it doesn't change a bit anywhere because what Yegge offers is a perception, viewpoint, an idea, a gut feeling of his with some semirandom examples for the sake of examples. And you can't attack someone else's idea or perception with rational weapons.

What matters is how well Yegge's idea strikes the chord here. "But it's an oversimplification!" Of course it is but that's not the point here. The point is Yegge thinks he recognized the same driving energy between the political conservatives and conservative programmers, and similarly to liberal ones. The mindset, the kind. What's interesting is if that rings true and if so, how well it rings true.

Basically, he seems quite right, give or take a bad example or two. There are these two opposing mindsets in the field of programming whose clashes are well-known to everyone and the conservative--liberal axis quite nicely divides the camps. It overlaps a lot with the static vs. dynamic typing war but like he said, the typing wars are basically a special case of conservative vs liberal.

I can certainly recognize these daring sword-swingers and the patient fortress-builders of the programming league.

Re: Clojure is not Software Conservative

#19
post #7

Steve is wrong about macros - they don't compose as well as functions, and that's why people don't recommend them where a function works just as well. As far as adding new things into the language, though, Clojure does tend to be conservative. There is a lot of thought (hammock time) that goes into each potential addition, and whether the increase in complexity is worth the increase in functionality. This seems like…

You don't use macros to inline functions or anything. You use macros to do things functions can't do. In a program written by the Lisp mindset, the amount of code covering macros can easily grow to greater than marginal. It's just that you're not writing functions, you're writing translation rules for your own language where you can solve the problem more easily.

Re: Clojure is not Software Conservative

#20
post #15
post #8

I don't think pointing to surveys showing few Clojure users came from Haskell/ML, is sufficient to disprove Yegge's assertion. If a language's designers came from camp A, yet the majority of users came from camp B, that does not mean the language is not strongly influenced by camp A.

Rich Hickey, the designer of Clojure, isn't from Haskell/ML background. His background is C, C++ and Java.

With a little Lisp, incl. two JavaCL attempts: http://jfli.sf.net & http://foil.sf.net
Post reply on HN