Live data from Hacker News

Levels of aspiration

37signals.com

31–40 of 45 posts

Re: Levels of aspiration

#32
post #14

Earlier quoted context omitted.

The irony of the whole thing is that it is usually the pragmatists and not the idealists who wind up "moving industry forward", because by definition, the pragmatists get things done. The world needs C not lisp.

"The world needs C not Lisp" is like saying "the world needs English not French."

I think your statement is open to an interpretation you didn't intend.

Re: Levels of aspiration

#33
post #14

Earlier quoted context omitted.

The irony of the whole thing is that it is usually the pragmatists and not the idealists who wind up "moving industry forward", because by definition, the pragmatists get things done. The world needs C not lisp.

I have great sympathy for your point that pragmatism has tremendous value. I disagree in a trifling way with statements like “The world needs C not Lisp,” it is obvious to me that the world needs both C and Lisp. Or it did, and both have contributed in various ways to progress, and C continues to be a useful tool. The interesting thing is that insanely great progress requires operating at all levels of the hierarchy.…

First of all, I think my statement "the world needs C not Lisp" was meant to be taken metaphorically, not literally. Of course there is a place for Lisp, but at the end of the day, who has gotten more done in the real world? That certainly hasn't stopped the Lisp hackers from looking down their noses, however.

The bottom line is that the sense I get from the kinds of rhetoric in the OP is not the kind of high-minded idealism you express but rather just a bunch of software aestheticians casting value judgements on the people who are focused on making things happen. My perception could be wrong, I'll grant you that.

Re: Levels of aspiration

#34
post #4

To help someone move up the hierarchies, they have to have an intrisic (sic) desire to do so. Arguments like “but it works” or “it gets the job done” are tell-tell signs of someone happy at the lowest level of the technical hierarchy and your cue to just quietly back out of the debate. For an article that claims we need software "in all shapes and sizes" the amount of smug superiority exhibited here is amazing. Yes,…

I think you may be reading this article far more harshly than I was. For one, I do not think the person sitting at "sorta works" is necessarily a 'clueless hillbilly'. In fact, I suspect most serious developers travel up and down this pyramid all the time. Sometimes they are trying to push the state of the art forward, sometimes something that "sorta works" and ships ontime is just fine. As for "beautiful code" being…

I see tow problems with this.

First, the fact that "beautiful" is very subjective... what makes code beautiful? Is it the idea expressed, the syntax, the cleverness?

Second, the fact that this subjective property could imply that something is fault tolerant, without being clear of what you mean by fault tolerance. This being a very large research area requires one to be precise of what one is talking about, before saying that you solve the problem by writing "beautiful" code.

Re: Levels of aspiration

#36
post #35

Why is Wordpress on the base level?

I used it as an example of what people who just modify an existing code base would use. Not Wordpress, the product, itself. I'm sure that's nicely done.

Re: Levels of aspiration

#37
post #3

This diagram is kinda like a roadmap for how to succeed, IMO: http://s3.amazonaws.com/37assets/svn/952-technical-hierarchy... (that links comes directly from the article in question) Good stuff!

how to succeed at what?

Re: Levels of aspiration

#38
post #20
post #4

To help someone move up the hierarchies, they have to have an intrisic (sic) desire to do so. Arguments like “but it works” or “it gets the job done” are tell-tell signs of someone happy at the lowest level of the technical hierarchy and your cue to just quietly back out of the debate. For an article that claims we need software "in all shapes and sizes" the amount of smug superiority exhibited here is amazing. Yes,…

Reading his response to a comment in his blog changes the context of his perceived smugness. Doesn't it? Here is what I am referring to: =========== DHH 10 Jul 12 Kathy, that’s a great point. Also, this pyramid can be applied in finer resolution within your stack. For example, I’m perfectly content to be at the “Well engineered” level when it comes to my use of MySQL, but when it comes to Ruby and Rails, I want to be…

Changes the context of his smugness? Yeah as in erasing all doubt that the author is not merely smug but full on delusional.

Elon Musk is moving industries forward. The first time I used an iPhone it was so beautiful I could cry.

But, Rails? I mean, not to harsh on Rails at all, it's a great tool.

Moving an industry forward whenever you use Rails? WTF?

Re: Levels of aspiration

#39
post #20

Earlier quoted context omitted.

Reading his response to a comment in his blog changes the context of his perceived smugness. Doesn't it? Here is what I am referring to: =========== DHH 10 Jul 12 Kathy, that’s a great point. Also, this pyramid can be applied in finer resolution within your stack. For example, I’m perfectly content to be at the “Well engineered” level when it comes to my use of MySQL, but when it comes to Ruby and Rails, I want to be…

Changes the context of his smugness? Yeah as in erasing all doubt that the author is not merely smug but full on delusional. Elon Musk is moving industries forward. The first time I used an iPhone it was so beautiful I could cry. But, Rails? I mean, not to harsh on Rails at all, it's a great tool. Moving an industry forward whenever you use Rails? WTF?

I highly doubt he's talking about moving industries forward by using Rails. More likely he means moving industries forward by creating and continuing development of Rails.

Say what you want about it now, Rails had a huge impact on the web development industry when it first came out.

Re: Levels of aspiration

#40
post #19

For mature developers the choices here are not about innate skill but about tradeoffs. This blog post makes the error of projecting what is a multi-dimensional problem onto a single dimension. You can have a pretty abysmal code base with beautiful design on top and amazing UX and be rolling in piles of money, and be perfectly aware that the code sucks but made the decision that beautiful code was not the priority or…

I would go a step further and say that, at least in my experience, the code bases that have yielded amazing UX, piles of money, etc. are almost never beautiful. The code may start out beautiful, but once people start using it they start surfacing naïve assumptions, flawed designs, bugs, etc. And if things are going well business-wise there's rarely time or resources to fix those issues in a beautiful, comprehensive w…

To me, ugly code is code that gets the work done but at the price of too much complexity ( non-DRY, non-cohesive, spaghetti, callback soup ), not enough abstraction, too much abstraction, or too few quality control measures (tests). These things make it difficult to maintain any code.

In other words, ugly code is code that must be rewritten to be maintained. Depending on the innate complexity of my problem that can be an acceptable trade-off.

Beautiful code should also be easy to maintain; usually that means making each layer of abstraction as simple as it can be, and adding a new layer of abstraction to handle additional complexity.

In this way, I may write more new code to handle newly discovered edge cases or new features, but at least I am not rewriting old code to solve the same old problems plus the new ones. That gets old really fast.

Post reply on HN