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?"

16 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. :-)

  2. 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...

  3. 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?

  4. 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."
  5. 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.

  6. 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.

  7. 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.
  8. 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"

  9. 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.