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?"
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.
Javascript + Nintendo DSi = DSiCade
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.
It's philosophy. :)
Perhaps a good term to some up the meaning of "hacking" is "tinkering".
I think writing is an art.
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...
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?
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
Hacking is when science becomes art.
Computer science is the art of automating anything that's been refined to a science.
Hacking is a form of computer science.
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."
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
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.
The Army reading list
It's more like 4R7.
An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
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.
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+
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 fact that ultimately it does not really matter.
The beauty of this argument is
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?
I believe hacking is neither an art nor a science, I think it's a craft -- comprised of part science and part art.
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. :)
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.
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!
This essay was much better when Paul Graham wrote it two years ago and called it "Hackers and Painters"
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!"
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.
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.