Slashdot Mirror


Hacking - Art or Science?

An anonymous reader asks: "The argument regarding the principle nature of hacking - be it an art or a science is not a new one. This paper hopes to discuss both the meaning of the term 'hack' and the underlying arguments for it being defined as an art or a science, in reference to the base principles and basic methodologies of the discipline. So in your opinion, is hacking art or science?"

38 of 220 comments (clear)

  1. To hack or not to hack, that is the question! by AKAImBatman · · Score: 5, Insightful

    Hacking is for newbs! LOLOL!!! ROTFLMAOOMFGBBQ!111!one!!!111one>

    (Now that I've got your attention, and had a good chuckle...)

    Let me put this to rest, once and for all. "Hacking" is not something to strive for, no matter what your defintion. What "hacking" is, is an expression of a natural problem-solving ability that all humans have. This problem solving ability can give us MacGyver-level talents allowing us to fashion a solution to any situation. Such innate talent is a good thing.

    However, expressing it as hacking means that you're creating short term or disruptive solutions rather than long term solutions that will last. When hacking meets the discipline of Engineering, all hell breaks loose. Sure, that ugly hacked code you put in now does the trick in a pinch. But if it's not replaced with a long term solution in a hurry, it will cost the company large amounts of money in support and maintenece.

    That's where true Engineering steps in. As an engineer (or architect as the case may be) you have a responsibility to weigh in all the competing factors to produce a solution that is both long term and inexpensive to maintain. Your solution may have to go through hell and back and still get the job done. You can never quite be certain of what situation your code will go through, especially if people's lives and/or fortunes depend on it.

    So in short, leave the hacking in college. It was a lot of fun when you had raw, unfocused talent, but you should be more mature than that now. Use what you know to build a real solution and leave the "hacking" to the next generation of kids. :-)

    1. Re:To hack or not to hack, that is the question! by B'Trey · · Score: 2, Insightful

      Wow. You might want to find out what the word means before you weigh in. What you're talking about is a form of hacking, but it's only one aspect of a much wider and more complex field. For example, I've heard Einstein's Theory of Relativity described as a beautiful hack, and I'd tend to agree.

      Most certainly, people like Edison and George Washington Carver and Eli Whitney were hackers. I'm rather glad they and others didn't leave their hacking behind when they left college (assuming, of course, that they actually went to college, which many great hackers did not.)

      To address the question raised in the article, the answer is neither and both. It's similar to asking if drawing is an art or a science. Da Vinci's sketches and an Autocad drawing of a planetary gear system are both drawing but only one is likely to be considered art. Similarly, hacking CAN be art and it CAN be science, and sometimes it might be both at the same time and other times it might be neither. Trying to force it into one category or the other is futile. It's much to broad a subject to tie into purely one classification.

      --

      "The legitimate powers of government extend only to such acts as are injurious to others." Thomas Jefferson.

    2. Re:To hack or not to hack, that is the question! by AKAImBatman · · Score: 4, Insightful

      Actually, you've managed to redefine "hacking" to Alanis Morissette proportions.

      For example, I've heard Einstein's Theory of Relativity described as a beautiful hack

      Einstein didn't *change* anything. How can it be a hack? Rather, he produced a theory describing the Universe according to scientific method.

      Most certainly, people like Edison and George Washington Carver and Eli Whitney were hackers.

      Actually, they were experimenters. They experimented until they found what they were looking for.

    3. Re:To hack or not to hack, that is the question! by CaffeineAddict2001 · · Score: 2, Insightful

      I've never thought of a "hack" as being necessarily short term or disruptive. I've always thought of it as exploiting a certain property of a system to acheive a result that using "traditional" methods would not be possible because of the constraints of that system.

      Eventually many "hacks" migrate into the realm of being traditional. Especially in the early computer gaming industry or the "demo scene".

    4. Re:To hack or not to hack, that is the question! by rzbx · · Score: 2, Insightful

      As insightful as your post may be to some, I could at the very same time fit hacking into your view of what hacking is not.

      "However, expressing it as hacking means that you're creating short term or disruptive solutions rather than long term solutions that will last. When hacking meets the discipline of Engineering, all hell breaks loose."

      What is long-term? Days, months, years, decades? Does it not depend on the problem? Engineering is no more discipline than it is hacking away at problems. Like two sides to a coin, engineering goes beyond a formula or equation. It is about using the formulas, equations, and definitions WITH our ability to just hack away at a problem. Engineering, like hacking, is like science and art. Neither is the other, and just either doesn't work.

      "So in short, leave the hacking in college."

      That is completely backwards. In college you learn the formulas, the equations, etc. In life, you hack, with what you know.

      --
      Question everything.
    5. Re:To hack or not to hack, that is the question! by Scarblac · · Score: 4, Insightful

      The problem is that "hack" and "hacking" are extremely badly defined. In fact, it manages to have a few completely opposite meanings. A word that means both beautifully elegant sublimely crafted work, and crisis time horrible stopgap measure is not very well defined. Let alone the fact that the majority of people who use the word use it to mean breaking into computers. You can have heated fights about whether something is a hack or not, where both sides are equally right and completely opposite.

      A bit like with both art and science actually, but not quite. Art is notoriously difficult to define, but we all still have a similar idea about what the word means. A bit of opinion - the fact that something is or isn't functional has no relation to whether it is or isn't art.

      Science is well defined. Science is a process of finding out how things work, by thinking up a way how the world might be, and then testing that idea really rigorously. It's just that there's groups of people with agendas who try to make it look like there's a discussion alive, trying to get FSMism, creationism, moon landing denial, global warming denial, Bigfoot etc into scientific discussions. But that's just flamebait with an agenda.

      So I'd say that hacking isn't really either, except that perhaps those really elegant beautiful hacks could be seen as art.

      --
      I believe posters are recognized by their sig. So I made one.
    6. Re:To hack or not to hack, that is the question! by moranar · · Score: 2, Insightful

      Most certainly, people like Edison and George Washington Carver and Eli Whitney were hackers.

      Hah. So when people calls crackers "hackers" we get upset because they stretch and break the definition, but we get to call everyone we like "hacker" just to make ourselves feel proud and smug? It either goes both ways, or none. I prefer none.

      --
      "I think it would be a good idea!"
      Gandhi, about Internet Security
    7. Re:To hack or not to hack, that is the question! by AKAImBatman · · Score: 2, Insightful

      What is long-term? Days, months, years, decades? Does it not depend on the problem?

      Of course it does. As you say, Engineering can have many of the same "Art vs. Science" questions that "hacking" does.

      That is completely backwards. In college you learn the formulas, the equations, etc. In life, you hack, with what you know.

      To be clear, I think that hacking is "unfocused engineering". So you "hack" while you're still learning, but you hopefully outgrow it for the rest of your life.

      Consider the following parts. Are they hacks or engineering?

      1. A paperclip pressed into service to keep a flooded engine running.
      2. A bypass that drains excess fluids away from the engine.
      3. A potato cut in half, used to remove a broken light bulb.
      4. A colored lightbulb that improves the natural light spectrums.
      5. A shell script that uses wget to download an HTML page, which it passes to grep, cut, and sed to find specific information.
      6. A soap service that obtains the same information.

      In case you're wondering, I see them as hack, engineering, hack, engineering, hack, engineering. Some of these hacks are really clever, especially the potato to remove the light bulb. Some of them are commonly used in short term situations, such as number 5. But you wouldn't say use number 5 as a long term solution. What if the HTML page changes? What if the data contains a special character you hadn't planned for? Then your script breaks. Number 6 solves that problem elegently, using tools intended for the task. :-)

    8. Re:To hack or not to hack, that is the question! by computational+super · · Score: 2, Funny
      people like Edison and George Washington Carver and Eli Whitney were hackers.

      Well, if we're going to discuss historical hackers, we can't leave out Lizzie Borden, can we?

      --
      Proud neuron in the Slashdot hivemind since 2002.
    9. Re:To hack or not to hack, that is the question! by Anonymous Coward · · Score: 2, Interesting
      I work in R&D, and I, often, describe first-generation analytical techniques, work-arounds, &c. as "hack[s]". When I do so, what I mean is that it [the "hack"] is a quick-and-dirty-but-functional-for-this-specific-c ase solution to the issue in question.

      Here's an example: estimating the density of a composite material by dividing the dry weight by the volume, as determined from the measured hydrostatic pressure caused by immersing the sample in water (weighed down with a paper-clip, and supported by some 50-gauge wire -- correcting for the amount of water displaced by the paper-clip and wire, measuring the "hydrostatic pressure" by putting the beaker of water on a lab scale, and measuring the change in it's "weight"). It worked, for that specific case, and I got the results quickly enough to prevent a production SNAFU, but it's not exactly a general purpose, robust application of Archimedes' principle. It was a "hack".

      Another example: a student, working on his PhD needed to find a way to reproducably, non-destructively, measure the physical dimensions of a large number of samples to within a few (<50) microns (samples are ~10x7x5cm). I pointed him in the direction of a high-resolution flat-bed scanner (2400DPI =~10 microns/pixel -- not bad for less than $100) and an Open Source image analysis program. For ~1% of the cost of a system that I have, in my lab (I let him come in, and use our system for some 3D measures), and a bit more work on his part (that scanner was not exactly NIST tracable, so he had to calibrate, do GR&R, &c.), he was able to get his data. Consumer electronics for scientific analysis? That's a hack, in my book.

      A great deal of my experimentation, in the lab, involves creative application of various hacks -- sometimes to save time, sometimes to avoid purchasing/accounting, sometimes because there's nothing out there designed for what I have in mind.

      Once an application moves on from the lab to being a commodity, it's time to remember that I'm also an engineer, and refine the hack into something more robust... but it still started out as a hack.

    10. Re:To hack or not to hack, that is the question! by out_of_ideas · · Score: 2, Informative

      yes

  2. It's neither by Reality+Master+101 · · Score: 4, Interesting

    Hacking (or any programming) is neither art or science. It's applied engineering. And applied engineering is what it is.

    --
    Sometimes it's best to just let stupid people be stupid.
    1. Re:It's neither by thermostat42 · · Score: 2, Interesting

      If you don't create a design document, enumerate use cases, etc, etc, you can hardly claim to be doing engineering. Some programmers might be doing engineering, most "hackers" are not.

      As for art vs. science, "hacking" is clearly an art. Debugging is a science. This really isn't a hard concept. Art is a creative process, science is a tool for finding truth. Do you use the scientific method when you sit to to write code? Of course not. However, when you look at your (or someone else's) broken code, and want to know why it doesn't do what you think it should, the scientific method should come to mind.

      --
      no comment
    2. Re:It's neither by ivanmarsh · · Score: 5, Informative

      Programming, by definition, cannot be hacking.

      The term Hacking was coined at the MIT model railroad club and it's absolute definition can be read in, of all things: "Hackers" ISBN: 0141000511 a book about the computer revolution from the inside. A very good and entertaining read I might add.

      The original meaning of the word, that was immediatly lost when the media and people who weren't hackers but wanted to be got hold of it, was: To make something do something it wasn't necessarily designed to do.

      I believe it came about when one of the MIT engineers, working on a brand new and unbelieveably expensive new computer donated to the school added functionality to the computer by jamming a screwdriver into one of the circuits.

  3. Neither. by TheCamper · · Score: 4, Funny

    It's philosophy. :)

  4. art or science by Anonymous Coward · · Score: 3, Funny

    Perhaps a good term to some up the meaning of "hacking" is "tinkering".

    I think writing is an art.

  5. Why can't.... by five40kix · · Score: 3, Insightful

    It be both?

    As defined by wikipedia Art, in its broadest meaning, is the expression of creativity and/or imagination.

    Science = Reasoned investigation or study...

    1. Re:Why can't.... by Reality+Master+101 · · Score: 2, Interesting
      The problem with that definition of art is that it's so broad that everything becomes art.

      I haven't thought about how to define art, but I would say it's something intended to inspire a philosophical thought or emotion in another person. Based on that definition, programming (or any craft) would not qualify as art.

      I'm sure people could nitpick my definition, but I think it would cover things we would traditionally think as art. The important part is that intent counts.

      --
      Sometimes it's best to just let stupid people be stupid.
  6. Art? Science? Semantics? by Anonymous Coward · · Score: 2, Insightful

    Art or science... hmm. Could it be that the very question is a pointless exercise in semantics? Neither term is pejorative, so what's it really matter? Is it a fence or a wall?

  7. I hack... by Karma_fucker_sucker · · Score: 2, Funny
    therefore, I am.

    Or for the Zen masters:
    What is the sound of one hand hacking?

    --
    Evil people don't think they're evil. - George Lucas, Making of Ep III
  8. Hacking by Rectum2003 · · Score: 2, Interesting

    Hacking is when science becomes art.

  9. Computer science by wurp · · Score: 4, Informative

    Computer science is the art of automating anything that's been refined to a science.

    Hacking is a form of computer science.

  10. Does it have to be either? by stefanlasiewski · · Score: 4, Insightful

    Does it have to be either? Hacking, like most things in life, is neither a fine art or a pure science, so I'm always confused why certain people try to pigeonhole some discipline into either "Art or Science".

    I hear this question over and over from some people. This question seems a little too academic and removed from reality-- if a discipline doesn't fit your narrow view of "Art or Science", perhaps the view is wrong.

    If anything, I'd say hacking could loosely be called a craft, in the same way that any trade could be considered a craft--woodcraft, glasswork, gardening, auto mechanic or, just for fun, witchcraft (Hackers do mysterious things by reciting long incantations!).

    Eventually many craftspeople are able to think outside the instruction manual and discover new ways to work their craft in ways that it wasn't intended to do.

    --
    "Can of worms? The can is open... the worms are everywhere."
  11. Re:Opinion only by Karma_fucker_sucker · · Score: 3, Funny
    By definition hack is an art -....

    When I was coding, someone brought up that the best programmers were people with art backgrounds. After that, whenever a bug was discovered in my code, I would respond with "I code what I feel and I was feeling shitty that day!"

    --
    Evil people don't think they're evil. - George Lucas, Making of Ep III
  12. Hacking vs engineering by Ulrich+Hobelmann · · Score: 2, Insightful

    Hacking something together is craft, or somewhat like an art. (Since the things produced are to have practical value it's not just an art.)

    Mixed with a formal process and a good architecture hacking becomes engineering.

  13. Another take on this... by tcopeland · · Score: 2, Interesting
    ...from John Littler on O'Reilly's OnLAMP is here. He's got some nice quotes, including this one from Fred Brooks:
    The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.
    And is programming is art, this use of StringBuffer is... bad art.
  14. (c) None of the above by GillBates0 · · Score: 4, Funny

    It's more like 4R7.

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
  15. Er... by woah · · Score: 2, Interesting
    Couldn't it be both?

    I mean neither of the two disciplines describe perfectly what hacking is. Then again, parallels can be drawn between hacking and either discipline. So, I think the answer is both.

  16. Hacking by plopez · · Score: 2

    is a term used by worthless cowboy coders who think they are hot for slapping togehter a POS programm that barely works, some of the time, and is unmaintainable.

    The less I see of it the easier my life becomes. Usually I have to spend hours fixing their crap before I can do my job. Often I just throw it away.

    --
    putting the 'B' in LGBTQ+
  17. I have better questions by imidan · · Score: 3, Interesting

    In my opinion, the completely vapid nature of the paper gets in the way of answering the question posed. But, then, I think the question is a useless one to ask in the first place. From the conclusion of TFA:

    The beauty of this argument is ... the fact that ultimately it does not really matter.

    You know it's a great paper when your conclusion is that your argument is completely irrelevant.

    And it is, too. Why does it matter whether hacking is classified as art or science? What effect would it have on the way hacking is perceived? Who cares?

    Now, if you just wanted to talk about computer science (in terms of applied math, not engineering), I think the art/science question is better suited. Of all the schools in the world that teach CS, how many locate their CS department in the school of engineering, and how many in the school of letters and sciences? Why? Does the context of the CS program affect the quality of its graduates?

  18. Neither... by Frogg · · Score: 2, Insightful

    I believe hacking is neither an art nor a science, I think it's a craft -- comprised of part science and part art.

  19. "Hacking" by Nerdposeur · · Score: 3, Funny

    Hmmm... Well, on the one hand, it takes precise timing and an intuitive understanding of physics to keep the sack in the air. On the other hand, if you do it right, it looks a lot like a dance. :)

  20. None of the above by squoozer · · Score: 2, Insightful

    It's engineering plain and simple. To dress it up as anything else undermines the skill that is envolved in creating good code. The dictionary (dictionary.com) defines engineering as

    The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.

    if that doesn't define writing code I don't know what does. There is nothing wrong with being an engineer.

    --
    I used to have a better sig but it broke.
  21. Oh...I know! I know! Me! Me! by Hosiah · · Score: 2, Interesting
    It's a sciart !

    PS Thanks to the complete Circus Clown's Fire Drill that has been the attempt to re-re-re-define the word "hacker" from the last quarter of the 20th century into this one, there is officially no such thing as hacking. The number of mis-percieved mis-definitions of the word surpassed the total human population about 1996 (yes, I wrote it down) and thus freed of the confines of mere space-time continuum, has increased exponentially ever since, which explains why each person can define the word five different ways and have *none* of them agree with anybody else's five different definitions.

    This is where black holes come from. I nominate that, along with words like "Tao" and "mu", we puny mortals simply abandon the word back to the Ancient Ones from whence it came, admit that our shriveled husks of cortexes are incapable of fathoming such a deep concept, and hereafter relegate the word to the ranks of words which, if named, are not their true selves.

    Which will spare us the upcoming inconclusive debate, now looming over this thread, over what hacking is for the 998.8E+999 time. Because I can't sit through another one. And to ensure I don't, I'm...I'm...I'm HOLDING THE EASTER BUNNY HOSTAGE! Yes! Drop the flamegun, or the lepus gets it right between the oculi!!! And there'll be no more Cadbury chocolate eggs for any of you!

  22. Snooze by ponds · · Score: 2, Insightful

    This essay was much better when Paul Graham wrote it two years ago and called it "Hackers and Painters"

  23. Considering the Source by geomon · · Score: 2, Funny

    I read the author's treatise but was rather shocked at the company swag. Who in their right mind would take security advice from a company who advertises thongs, vodka, and cocaine as symbols worth publicising?

    That is not the company image that would win me points with my boss.

    Boss: "That is a rather inappropriate coffee cup you have there. Please don't bring it to work."
    Me: "But our network security company gave it to me!"
    Boss: "You're fired."

    I guess I'm just showing my age.

    And yes, my boss does talk in HTML.

    --
    "Rocky Rococo, at your cervix!"
  24. Re:It's neither (it isn't engineering either) by gosand · · Score: 3, Insightful
    Hacking (or any programming) is neither art or science. It's applied engineering. And applied engineering is what it is.

    Nope. Programming is definitely NOT engineering. Not even necessarily software engineering. Some programming is part of software engineering, but not even close to all of it.

    How can people claim any ownership to the title "engineering" when they refuse to follow any kind of process. Refuse to plan. Refuse to design. Refuse to analyze. Refuse to manage anything. Refuse to follow standards. Refuse to be rigorous in their duties.

    People love to throw around the title "software engineer" when they mean "programmer". Don't get me wrong, not every piece of software needs to be engineered. Not even close. But most programmers in my 12 years of experience aren't engineers, period. But most of them wanted to be called "software engineers".

    Hacking may have some engineering elements and even some artistic elements. But most of it is brute force application of technique.

    --

    My beliefs do not require that you agree with them.

  25. Philosophy by BorgCopyeditor · · Score: 2, Interesting

    Y'all should read Book 6 of Aristotle's Nicomachean Ethics--some good thoughts there about different kinds of intelligence and skill.

    --
    Shop as usual. And avoid panic buying.