Live data from Hacker News

Clojure is for Type B personalities

gist.github.com

11–20 of 44 posts

Re: Clojure is for Type B personalities

#11
This is basically reinventing Steve Yegge's analysis in [1] of programmers into "conservative" (risk-averse, prioritize safety) and "liberal" (accepting of risk, prioritize expressivity), except less polarizing (because it doesn't involve political comparisons) and less thorough. Oakes also calls for reconciliation, while Yegge tips his hand as a hardcore "liberal".

[1]: https://plus.google.com/110981030061712822816/posts/KaSKeg4v...

They're both vaguely accurate but break down if you try to credit them with too much explanatory power (as Yegge does, IMO, but Oakes doesn't seem quite as reductionist).

Re: Clojure is for Type B personalities

#12
I'd argue that these might be polar examples and that a lot of people (maybe even the majority) fall somewhere in between. I for one cannot imagine being like the Clojure author, committing scratch-pad code into repo. At the same time, I despise the levels of complexity C++, Java and C# have introduced. Ruby and Javascript (and sometimes Python, Bash) are my goto. However, I like to organize things, keep them DRY. A project like Rails is extremely well architected for an interpreted language based on the authors observations. I highly doubt that it is an outlier.

Re: Clojure is for Type B personalities

#13
While I understand the sentiment, this conflates up-front design with compile-time safety, and opposes the latter to "quick, spontaneous changes". However, I feel that my iteration loop gets tighter thanks to compile-time safety, since I don't even have to run my application and test it to find most of its errors.

Re: Clojure is for Type B personalities

#14
so much of this hit home. I'm disorganized. I like to just get at the meat of the problem. I don't sit on my hands shopping for programming patterns to use.

I compare the process of creating software much like pottery when you start out with clay it's not clear what the end result is going to be. But as you play around with it something forms, and you impose more structure and clear cut features with refactoring.

type b coders like us get a lot of shit for eccentric decisions that ultimately lead to breakthrough ideas or features but type A coders is almost always dominating with logic and aggression I see tensions between developers.

If what the article says holds true, I would say Type A coders are more for maintenance and Type B coders are the visionaries. Type B is the engineer that gets paid millions for writing MVPs as a early CTO while Type A engineers tendency to compete on everything leads to burn out and lower salary. Likewise Type B would be horrible in a corporate environment where as Type A would do well.

Re: Clojure is for Type B personalities

#15

Earlier quoted context omitted.

My experience fits in his model though. I'm type A and more into ML languages than Lisp. Maybe not strictly type A: Java is too boring for me..

I guess we could actually test this empirically with a survey.

Maybe we should. I am a type A, but I prefer Scheme to any other language in existence. I actually came to Scheme via Clojure.

Re: Clojure is for Type B personalities

#17
post #7

I am a type B person (if this designation even makes sense), and have a diagnosed ADD. However, I prefer statically typed languages like Scala, as it is easier for me to compensate for lack of internal discipline with external constraints.

This was my thought too: this has it backwards. I would rather have a computer do all the "Type A" perfectionism for me, thank you very much, so that I can carry on being my "Type B" self.

Re: Clojure is for Type B personalities

#18
Robert X Cringely said that programmers are divided into nerds and geeks. The nerds do the wrong thing well and the geeks do the right thing badly.

The reason computers are a revolutionary productive technology is that when you put them together on a team they don't do what you would expect and do the wrong things badly but instead do the right things well.

I don't know how to use that story to write better Clojure, though.

Re: Clojure is for Type B personalities

#20
post #11

This is basically reinventing Steve Yegge's analysis in [1] of programmers into "conservative" (risk-averse, prioritize safety) and "liberal" (accepting of risk, prioritize expressivity), except less polarizing (because it doesn't involve political comparisons) and less thorough. Oakes also calls for reconciliation, while Yegge tips his hand as a hardcore "liberal". [1]: https://plus.google.com/110981030061712822816/…

Both, to me, sound like reinventions of ESR's "the cathedral and the bazaar". I like those definitions and the things they imply: bazaar-style work is simple, easy, and fast, it doesn't require much capital, but it doesn't scale past a certain size -- and it's not going to produce an architecture that can withstand firebombing 700 years after ground was broken for it.

I think most people can say pretty accurately whether they're in the "open for business by Tuesday" model of software development or the "700 years and undreamt-of threats" model... But if your product becomes a surprise hit, that's when you refactor your chaotic bazaar into a clean, legible, highly maintainable cathedral.

Post reply on HN