8 ms·
Articles about _why on HN seem to always take on a particularly sycophantic quality. As a non-fan of Ruby, his contributions to programming outside of that com
by gdp 16y ago
Articles about _why on HN seem to always take on a particularly sycophantic quality. As a non-fan of Ruby, his contributions to programming outside of that community seem minimal. The ethic that people appear to ascribe to him ("programming as art") is precisely the opposite to that which I generally advocate ("programming as science"). I (and others) often suggest that the former approach is actually harmful to software quality in many cases, particularly within teams.
Fundamentally I think my objection is to elevating a slightly odd-ball programmer to messianic status based on a mildly creepy fandom that manifests primarily as people vastly over-stating the contributions of this one guy in HN comments.
- antirez 16y agoProgramming as science: not consistent with reality IMHO. My argument is that it's pretty simple to build a good computer scientist: take a guy with good IQ and put it into a good university. But there are zero guarantees that you'll end with a good coder also, as coding is a matter of taste, tradeoffs, design decisions, creativity, ability to think out of the box, and so forth. The problem is that most of our industry is not ready to accept this news. There was no so important economic process like IT in the past where creativity and art had the same impact as it is happening with programming. Check the software and the sites you are enjoying every day: are they made by great scientists? The big majority are not. But at the same time, the reverse is true. If you have good scientists you can create any complex program or system without problems. Look at all the PHDs at google, the result is a wonderful piece of technology, from the search engine itself to the cluster and other stuff they are running. But this is an engineering problem indeed, so it is a perfect fit for them. But not everything is like that in our field. This is why for instance a big company like Google is not having a big impact in programming itself. If you see the reality most of their products for the masses are not working well, Ruby on Rails was not produced there, and so forth. It's not that I've something against Google but it is the perfect example of "company of scientists".
- gdp 16y agoI don't consider programming to be a much greater skill than the ability to install fixed wiring in a house or balance a budget. Are small business accountants "artists"? Accordingly, programming is not _currently_ a science. However, I think that is a much better position to aspire to than self-aggrandizement and glorifying a skill that is really no different than any other skill that any suitably motivated 12 year can acquire with a couple library books and an internet connection. With a science of programming, we can aspire to a position where programmers can at least claim to be engineers, and at least have good odds of most programming projects resulting in software of reasonable quality. Face it, there's good art and bad art, and it's subjective which is which. Programs have objective measures we can apply, depending on what the code is used for - developer time, performance, correctness... and a million others. We can argue about which measures are the right ones to use, but at least these measures exist. We can (with current technology) empirically evaluate a piece of code in many different ways. Actually starting to apply this kind of empirical evaluation is the first step towards programming being a science. [Edit: OK, so the parent to this was heavily edited after I posted this, but I can't be bothered rewriting this accordingly, so please excuse any incongruence between this reply and the post it is replying to]
- antirez 16y ago> With a science of programming, we can aspire to a position where programmers can at least claim to be engineers. This is not a good aspiration I think. Engineers can be replaced with not huge efforts, while you can't easily replace artists. Also this vision will lead to more bad programmers coming out from universities (if programming is an art), as the process of learning programming is totally different if you think it's a science or art. If it's a science, do CS courses. If it is an art, put them into craftsman shops to learn how to code.
- _delirium 16y agoI don't think the analogy's a very good one. If you want a housing analogy, I'd say it's more like architecture than ceiling-fan installation. And architecture has, hundreds of years later, never totally coalesced into a science. There are scientific and engineering sub-parts, but still significant "art" parts as well, and good architects are at least reasonably knowledgeable about both.
- jseliger 16y agoI realize that it can be irritating to have someone come in and split the difference, but in this case the problem seems to be that programming has some elements of art and some elements of science. So if you get people who passionately want to argue one side or the other, they argue past each other. Is an elephant chiefly long skinny parts (tusks, a trunk) or chiefly big round parts (main body)? I feel like I'm hearing the long skinny and big round people arguing with each other, when the answer is closer to "both." If you're interested in making a piano keyboard, maybe you're interested in tusks; if you're interested in eating (do people eat elephants?), maybe you're interested in the body. I think that PG in one of his essays said that CS is confusing because it's got a of people under its umbrella: some do mostly math, some are closer to artists, and some are somewhere else (I can't remember his distinctions). So the field has a lot of people saying "this is what it means," all of whom are at least somewhat correct. What is CS or programming or whatever you want to call this thing that involves making computers do stuff? On some level, the answer drifts towards "whatever you want it to be." But the flame wars are less satisfying that way.
- davidw 16y agoI think terms like 'engineering' and 'craft' point more towards what we want to describe. Programming is obviously not purely art or pure science in most cases, but a mix.
- jgg 16y ago(Note that this response isn't an attack on you specifically, it's just my feelings towards this argument in general) Where is the magical divide between "art" and "science" in the field? Do the adherents of either side even know what they're defending? If I know what a finite state machine is and how to apply it, does that make me "scientific"? If I hack together a web application in Scheme, instead of some Mathemagical, Dijkstra-approved language, does that make me an "artist"? Why can't people just accept that you need some of both to be a good programmer?
- jacquesm 16y agoTo me the art part in programming is that part which has not yet been 'beaten to death' and formalized. As soon as something is idiomatic I think it ceases to be art, but that does not diminish the artistry of the person or people that first came up with that.
- RodgerTheGreat 16y agoTo quote Theo Jansen, "The walls between art and engineering exist only in our minds." http://en.wikipedia.org/wiki/Theo_Jansen http://en.wikipedia.org/wiki/Theo_Jansen
- modokode 16y agoAnd to counter with a Donald Knuth quote, "We should continually be striving to transform every art into a science: in the process, we advance the art."
- mceachen 16y agoHere here! After witnessing N software fads with the pendulum of complexity and convention and configuration swinging to and fro, I firmly believe software crafting is much more similar to writing a book than constructing a bridge. Preferably a book without any surprising twists. Or homicides. But extra chunky bacon.
- silentbicycle 16y ago> If I hack together a web application in Scheme, instead of some Mathemagical, Dijkstra-approved language, does that make me an "artist"? Dijkstra would not have liked this.
- davidalln 16y agoI think dismissing "programming as art" as irrelevant and hurtful to the community is dangerous. Here we have the tools to create a near-infinite amount of almost everything that can run on a computer. We use code to run complicated robots that can drive a course without human input, solve the most complicated mathematic problems of today, and create artificial intelligence with the ability to learn as it ages. Yet at the same time, we use code to make short chiptune songs and fun small games hacked away in an hour or two. Wikipedia defines art as "the product of deliberately arranging elements in a way to affect the senses or emotions", and science as "the systematic enterprise of gathering knowledge about the world and organizing and condensing that knowledge into testable laws and theories." Why do these two things have to be mutually exclusive? Through creation and exploring, such as in _why's projects, we are further "gathering knowledge" about the limits computers can be used. And at the same time, we are creating art as these programs have had a clear impact on at least the Ruby community. And, bringing up a more "sciencey" example, if the fact that my handheld calculator can solve complicated algebra and calculus equations in less than a second doesn't "affect [your] senses or emotions", then you need a reality check on just how impressive technology has come in such a short time. I personally believe that programming is one of the rawest forms of creation imaginable, and therefore must be of some artistic worth. Simply calling it science and moving on does a disservice to those who slaved for so many hours working on their piece of computer science history.
- gdp 16y agoI agree that computing as an activity has manifestations that could be understood to be art, but that doesn't make _programming_ art. Glorifying programming as an art is like glorifying spelling as salient to the quality of Shakespeare's plays. Programming is the act of expressing programs. Coming up with interesting things for those programs to do definitely follows a creative process of human inspiration, but actually writing those programs down is not an "art". It's a fairly normative process in most cases, and it can (and should!) be made more normative.
- _delirium 16y agoI'd strongly disagree with that. I'd argue: it's rarely a normative process, and can (and should!) be made less normative. In fact, almost the only times it can be considered close to normative are when it's in a huge organization banging out boilerplate code, because in that case you've already assumed a fixed structure and placed "programming" into a niche within it, and declared that the structure isn't currently up for reevaluation. But I don't think that fundamentally you can separate the act of expressing programs from the act of coming up with interesting things for them to do. The materials of the medium constrain what is possible or easy to express, and it's quite hard to produce anything good if you try to artificially separate them into levels of specification vs. implementation.
- leif 16y agoProgramming as art is little more than masturbation. Useful programming must be done as a science.
- leif 16y agohaha, wow nobody wants to challenge me on this?
- steveklabnik 16y agoThere's nothing to challenge. You've made a statement of your opinion, and you've stated it in such a confrontational way that nobody wishes to engage you with a response. Maybe rather than saying 'wow' and laughing, you should consider why the things that you say cause others to want to exclude you from the conversation, rather than reply.
- leif 16y agoMeh. I know it's confrontational, and I don't mind the downvotes. I find it hilarious, apparently you don't. Sorry.
- igravious 16y agoYo. I would suggest that as an admitted non-fan of Ruby then you are in no position to comment. Besides, _why could draw, anyone could appreciate his stuff I'd imagine. He could play music. He had a quirky sense of humour, and was a creative and endlessly surprising person. Now, this ain't sycophantic as you call, he genuinely was these things. Sorry if that bothers you. There's this cute paper some guy once wrote, it's called "The Art of the Interpreter ...", geez I guess he'll have to change it to "The science of the Interpreter ..." - good thing you fixed that for him. As the article says, what you can take from _why is to bring a sense of aesthetic to _any_ thing you approach, be it a boring powerpoint presentation or a blog or whatever. Didn't your Mommy ever tell you, "If you ain't got something nice to say, maybe you should bite that tongue of yours".
- compay 16y ago"I would suggest that as an admitted non-fan of Ruby then you are in no position to comment." I like _why too, but but by telling gdp shut up because he's not a "fan," you're actually making it much easier for him to make his point.
- igravious 16y agoPoint taken. That was my second attempt. (The first was far less civil.) I am still of the opinion that gdp's comment was far more mean-spirited than my rejoinder. Or if not mean-spirited then lacking in imagination or possessing a real disconnect about what motivates people. But ok, point taken - my bad, I retract that part of my comment.
- X-Istence 16y agoWhy are people who are not fans of Ruby not allowed to comment on how _why, arguably someone that made an impression in the programming world, has influenced their little corner of the world? _why has done absolutely nothing for me either, I cannot stand Ruby, and its community, I don't understand why all the reverence for this single man. Yes, I know of _why's work, and yes seeing other people use his old nickname makes me feel sad since they won't ever really appreciate the ideas, and projects he put out into the world, but why are we still writing about him? There are many other people that have contributed greatly to advancing of computer science as a whole that contributed to more than just one programming language that have changed the field of computer science as it was once known. Those people are the people we should be writing about, not someone who like a coward decided to up and quit. _why reminds me of my younger brother, and even partly of myself back when I was a kid, if monopoly or some other board game was not going my way, the board would go flying and so would all the pieces, and it would no longer exists. _why removing all of his content, not passing it along to the next group of people, not even leaving a backup in place thereby causing others to scramble to find the latest up-to-date versions from local disks is very much like that game of monopoly where I am losing, and it is a cowards move.
- texel 16y agoSo... not a big Knuth fan?
- bootload 16y ago"... vastly over-stating the contributions of this one guy in HN comments ..." You are right to be cynical but this time I think you missed the mark. The author gives numerous examples of work "Why" produced. Their merit cannot be taken away. Just as important is the effect "Why" had on the Ruby community and other programmers who I imagine are just as or even bigger cynics. There's John Resig, Zed Shaw and Fábio Akita. I've read their blogs, looked at some of their code. They don't appear sycophantic in their ideas or writing. But I don't know any of these people. But I do know @DrNic ~ http://www.flickr.com/photos/bootload/tags/drnic http://www.flickr.com/photos/bootload/tags/drnic I met him last year at a talk he did on "Scriptable tools" ~ http://www.flickr.com/photos/bootload/3409666921/ http://www.flickr.com/photos/bootload/3409666921/ Nic is the most cynical begger I've met - talking and interrupting the talk after his, ripping into a greeny with a largely sympathetic audience. Questions and comments both insightful and rudely cynical at the same time. I didn't sense the audience resenting this. It pushed the speaker to clarify his ideas. So I artfully disagree. "Why" had a tangible positive effect in the core Ruby developer community who by nature are as skeptical as you can be - and then some.
- elight 16y agoJohn Resig only invented jQuery. Small feat there. Sarcasm aside, _why's influence was felt beyond the Ruby community.
- moe 16y ago_why's influence was felt beyond the Ruby community. How? Honest question from a python programmer who never heard about him before the "he disappeared" craze a few months back.
- amix 16y ago_why's influence isn't only in code, but in thinking. And if you look around, for example on github, you will see a lot of people hacking away for fun, trying out new stuff and just doing something they love to do. Did _why start this trend? He didn't, but he was a big advocate of it.
- tokipin 16y agoINTJs : programming as science, maybe a little art INTPs : programming as equal parts science and art this comes from the fundamental difference between left-brain and right-brain conception. namely, the right-brain folks can handle the tiny little details directly and simultaneously and account for them statistically. because of this, they can often rule out or rule in entire chains of reasoning in vast swaths and hone in on the critical parts quickly. this is what makes artists seem magical: out of countless possibilities, they can select the good ones the left-brain folks cannot handle the little details directly. they rely on subconscious abstractions. for left-brain folks, the engineering aspect of coding is perhaps necessary to keep track of the little details. on the other hand, left-brain folks have a knack for certain kinds of structure (abstract logic for example) that right-brain folks do not have naturally
- zephyrfalcon 16y agoHmm. What about INFPs?
- tokipin 16y agothe algorithm to figure out left/right hemisphere dominance from MBTI type is pretty easy... J is left-brain, P is right-brain. there's some potential subtlety but that's the general rule
- jacquesm 16y ago_why is essentially really good at marketing, and he did what all great marketeers do best, he kept the people wanting more. The move to 'quit while ahead' is genius, forever his legacy will be treasured and the myth of his genius will only expand with time. That doesn't mean that his contribution wasn't great, I'm sure the Ruby world would look different without him, but for every _Why there are 10 others, maybe not as good at marketing themselves but at least as influential. We really have come to the crossroads of popular culture and programming if we get programmers with 'cult' status comparable to minor movie stars. But I'd rather see some credit go to those that are less capable self promotors. Watch for _Why's spectacular comeback in a couple of years. Mark my words.
- starkfist 16y agoI'm not sure how he was a savvy self marketeer when nobody knew where he lived or what he did for a living or even what his real name was.
- jacquesm 16y agoHe was marketing _Why, not his real life persona. And that in fact made _Why a stronger brand. Have a look at the band 'The Cure' and Netochka Nezvanova. Both of them were amazing marketeers, and _Why worked very much in that spirit.
- wallflower 16y agoNever heard of her. I guess people can have fame without being recognized. http://en.wikipedia.org/wiki/Netochka_Nezvanova http://en.wikipedia.org/wiki/Netochka_Nezvanova
- jacquesm 16y agoThere are a lot of parallels between Netochka & _why. In the beginning I thought it might be the same group.
- nollidge 16y agoDon't understand the cynical flamebait language. What's the difference between sycophancy and genuine admiration? Can a guy be a fan of another guy's work without being a sycophant? Maybe you don't get it. Fine, I don't really get Jackson Pollack, but it's no big deal to me if people like him.
- wallflower 16y agoI'm curious if you've heard of Jeff Koons. A wildly successful modern artist. He produces outrageous crass art and sells copies for tens of thousands. I don't like him and I thought about him when you mentioned not getting Jackson Pollack.
- philwelch 16y ago_why wrote code, made music, and made visual art, and he seemed to think the three activities had enough similarities to share the name "art". Incidentally, I also consider engineering to be art, only with more constraints.
- technomancy 16y ago> As a non-fan of Ruby, his contributions to programming outside of that community seem minimal. Funny, that's exactly the kind of thing I'd expect _why to say if he were to take up a new pseudonym and participate in discussions on Hacker News. I'm sure he'd just be trying to convince us that he wasn't actually all that great.
- gdp 16y agoOh, dammit, you got me!
- phaedrus 16y agoI've found his contributions outside of Ruby to be also valuable: he wrote a very interesting minimal webserver in the Io language. Just reading the code to it opened my eyes to a way to solve a problem in some Io code I was working on. And the language he designed, "Potion", is very innovative. The stuff he's created is valuable as art, but if you must insist on programming as science, I'd argue his unique way of thinking has also pushed the boundaries of programming as a science in the way that calculus changed people's ways of thinking about math and physics. As for his strange charisma, I would say _why is to programming as Ramanujan was to mathematics. There were western mathematicians who were so fascinated by Ramanujan, that even when he was wrong, they suggested that perhaps he was "right" in some higher plane of reasoning. http://en.wikipedia.org/wiki/Ramanujan http://en.wikipedia.org/wiki/Ramanujan
- deleted 16y ago[deleted]
- bguthrie 16y agoI think his primary appeal is that, in a world that tends mostly towards people like yourself, who view programming as science (or engineering), he unapologetically took the opposing view. Your perspective is commonly shared; his perspective was undeniably more singular. One can admire that perspective, learn from it, and be inspired by his passion, without necessarily taking the same approach in your own code. I don't write code much like the way _why wrote code, but I admire what he did and what he stood for nonetheless. _why was drawn to Ruby because of its own artfulness, and playfulness; you would be hard-pressed to come at programming from the same perspective in Python, not because Python isn't a nice language (it is) but because the diktat "there is only one way to do it" necessarily discourages experimental styles of coding, though not of API or visual design. If your medium is code, then it helps to work with a malleable programming language, and Ruby is nothing if not that. Scheme is malleable, but I'd not call it playful. Perl comes closer, but most languages, which are are written by Serious People with Important Goals, do not. Anything that inspires people to stretch their skills and try new ideas out helps grow teams and developers, though preferably not when working with production code.
- chc 16y agoYou sound like a Java programmer who doesn't see what makes ivory-tower ninnies like McCarthy or Knuth so great. "Because this person's work was focused in a different area than mine and he values different things than me, anybody who praises his work — no matter how earnestly and without hope of reward — is a sycophant."