Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

To put it another way... What is the most commonly held and frustrating misunderstanding about programming, you have encountered?

Which widespread and longstanding myths/misconceptions do you find hard for programmers to dispel/correct.

Please, explain why this is a myth.

share

locked by Yannis Rizos Mar 13 '12 at 20:47

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

24  
I'd like to see Mythbusters take on some of these. –  spong Sep 9 '10 at 17:47
8  
Anyone up for a Mythbuggers YouTube channel? :-) –  Tom Wijsman Sep 9 '10 at 21:32
1  
Ooooh, MythBusters and race conditions! Meesa like! –  user1249 Oct 24 '10 at 14:59

61 Answers 61

Java is slow.

share
18  
But, to be fair, it did used to be... –  Dan Diplo Sep 9 '10 at 11:43
70  
It still is.... –  Fosco Sep 9 '10 at 12:21
16  
How can coffee be slow ? –  Rusty Sep 9 '10 at 13:04
6  
@Rusty Decaf? . –  Joe Philllips Sep 9 '10 at 15:59
29  
“Knock, knock.” — “Who’s there?” — very long pause… “Java.” (Courtesy of stackoverflow.com/questions/234075/…) –  RegDwight Sep 9 '10 at 21:44

If we use something other than Java, C# and C++ in our project, we won't find any programmers to support it.

share
5  
@bigown, "obscure"? How obscure? Is TCL obscure? Haskell? Pascal (Delphi)? Python? I think they're not obscure. Many people think they are, and only a very narrow set of languages (C++, C# and Java) are allowed in "serious" development. –  Pavel Shved Sep 9 '10 at 14:12
5  
@bigown: oh, you mean obscure like COBOL? :p –  AnonJr Sep 10 '10 at 11:09
2  
I once worked for a small company doing Objective-C code on Linux. The CEO - who wasn't an engineer but had some technical knowledge - couldn't believe that there were ObjC programmers around or that anyone else used it. In fact they never had any problems hiring good developers. –  user4051 Oct 24 '10 at 18:17
4  
I've read an argument that exactly the opposite is true: for languages which are obscure (or at least commercially insignificant) but cool, fun, and interesting (which in that context meant Python and Ruby), there are more programmers than jobs. Plus, they're all people who are into cool, fun, and interesting languages, so they must be smart. So actually, working in Python means you'll find it easier to hire smart programmers than if you're working in Java. Don't know if i believe it, but it's at least as plausible as the orthodox idea! –  Tom Anderson Nov 26 '10 at 20:11

The fact that marketing seems to think that adding a ton of small features is less work than adding a single, but rather heavy, feature. Which probably is a more specific case of the misconception that "task-switching has no overhead".

share
12  
And the even more fun thing of marketing not having any idea which features are easy and which are damned near impossible. –  derobert Sep 10 '10 at 17:41
4  
@derobert Exactly, I have often had the experience that some of the more considerate marketing folks are in fact afraid to even ask about some simple/easy feature which they thought was very difficult to implement. Though I experience the opposite much more oftenly: here's a batch of X "easy" features we've already sold to the customer, please get it done by yesterday.... –  Giel Sep 11 '10 at 11:29
3  
+1 for "task-switching has no overhead" –  Agos Sep 21 '10 at 22:30

That writing software is easy.

How else do you explain all these projects that run over time and over budget and people (politicians, the media etc.) are still surprised, and customers complain when you tell them that their "small website" (or whatever) will actually take 6 months to develop and cost several thousand dollars (pounds, Euros, [insert currency of choice])

With fuzzy and ever changing requirements I sometimes think that it's amazing that any software ever gets finished!

I know it's a bit more complicated than that ;)

share
11  
And this is when they attempt to take the development to cheaper off-shore alternatives. Only to find out much later that it turned out to be even more expensive. And less of what they really needed, because of the physical separation and communication challenges between the development team and customer. –  7wp Sep 9 '10 at 18:19
1  
This isn't just a problem amongst managers, but also programmers themselves. The real problem tends to be that time that isn't spent actively writing code is often missed (possibly due to the widespread LOC = productivity quantification myth). –  pluma Sep 19 '10 at 17:02
3  
It's not that the requirements changed, it's just not what they thought they wanted. –  JeffO Sep 27 '10 at 19:55
1  
I had someone dismiss programming as "just a bunch of 'if' statements". OK, maybe it is... in that case, poetry is "just a bunch of words"... movie production is "just a bunch of scenes", etc. –  JoelFan Dec 13 '10 at 1:45
2  
I've worked for the type of manager who thought the programming bit was the easy part of the job. And no, he didn't have any programming experience himself. –  Diego Deberdt Jun 24 '11 at 20:01

Bug free software. Later I came to know that every program would still run with Bugs and whole play was about accomplishing customer Requirements.

share
7  
I'm pretty sure I can write a bug-free hello world. –  alternative Sep 10 '10 at 0:22
4  
NASA goes for bug-free software, and comes surprisingly close. It's extremely expensive, of course, and takes an awful long time to write anything. –  David Thornley Sep 22 '10 at 19:34

Java is just C++ with different classes.

share
57  
+1 I once had an interviewer ask me, "what's the difference between C++ and Java?" So I listed some differences. Native compiler vs. JVM, ANSI standard vs. proprietary, garbage collection, classloaders, etc. He roared, "WRONG! There's no difference! They're identical!" He wasn't a student, he was the engineering manager. –  Bill Karwin Sep 9 '10 at 23:24
11  
@Bill, my response would then be, "then why refer to them with utterly different names?" –  Jesse C. Slicer Sep 10 '10 at 14:17
2  
@Bill, so you failed the test and got hired? –  user1249 Sep 11 '10 at 7:36
20  
My response would be "Goodbye." –  Foole Oct 2 '10 at 2:35
6  
@Foole Don't you mean System.exit(1) ? –  Barry Brown Oct 3 '10 at 21:49

That real-time means fast.

Stating "The packets need to be processed in real-time." is worthless and the evil twin...answering "How fast does X need to happen ?" with "Real-time" is possibly less than worthless...bordering on stupid rather than ignorant.

Real-time means that, simply put, that function Y will always take X amount of time and that any deviation indicates a serious error. The duration of X does not define "real-time" it could be six microseconds or six days. That you can determine function Y will take X time defines "real-time". Real-time systems are deterministic by this definition.

So knock it off..

share
4  
I always thought real-time meant whatever was happening was happening as you require it, not a reference to time taken. –  burnt_hand Sep 9 '10 at 16:18
14  
This is probably just one of those cases where a badly named concept contributes to confusion. –  JohnFx Sep 10 '10 at 14:30
2  
@JohnFx Well put. Concepts need Context. –  Rusty Sep 10 '10 at 22:02
2  
@Richard: Indeed, iTunes always takes a few minutes before playing anything. Oh, that's not what you meant? –  configurator Sep 19 '10 at 2:32

I think the biggest misconception is that it's more important being able to write the code down easily than being able to read and understand the code.

share
5  
*v(int)(void)++ –  Rusty Sep 9 '10 at 13:02
1  
@Rusty: I can come up with much, much worse examples if I don't even have to be syntactically correct. –  Roger Pate Sep 9 '10 at 15:42
4  
Ahh, yes, "Write only" code... –  Paddyslacker Sep 9 '10 at 21:05

Why don't you guys simply write it right the first time, rather than spending so much time typing in buggy code and then later reading the code trying to find the bugs?

:-) :-) :-) :-)

share
34  
Frankly, that's a good question. The easiest time to make code good is when it is being written for the first time. –  DJClayworth Sep 9 '10 at 14:55
10  
We have a setting in the app config: <add Key="Bugs" Value="true" /> –  burnt_hand Sep 23 '10 at 7:09
1  
@DJClayworth - that doesn't always work. In some cases, the problem is so large, ill-defined or just plain hard that getting even close to "right" the first time is too much to expect. In such a case, it is better to write a "first cut" that is not totally wrong, than it is to spend days / weeks / months endlessly designing and redesigning in an attempt to get it right first time. –  Stephen C Sep 30 '10 at 5:24
1  
@Stephen C: yes, but there is a difference in getting it mostly right (instead of perfectly right) vs doing mostly anything left and right to just make it work. I know this is not what you said but I still think it need to be said. –  n1ckp Oct 24 '10 at 15:49

All programmers are good at math. :-)

share

That because you're a programmer, you know how to fix [person]'s virus ridden machine.

share
34  
Car analogy / get out clause: "I'm a racing driver not a mechanic." –  Peter Boughton Sep 9 '10 at 17:48
15  
This comic is relevant: theoatmeal.com/comics/computers –  lunixbochs Sep 9 '10 at 20:31
16  
xkcd.com/627 –  back2dos Sep 9 '10 at 20:43
21  
@Tim if she can cook, start volunteering her to cater your friends' parties –  Steven A. Lowe Sep 9 '10 at 21:05
19  
Its not that I don't know how to... It that I don't want to waste hours fixing your machine that you will break in 2 weeks anyway. –  ChaosPandion Sep 10 '10 at 2:21

As long as the computer understands the code you type in, that's all that matters. Therefore typing in comments and using variable names that are more than two letters long is a waste of time. :-(

share

A common HR thing that drives me nuts when I'm job hunting: the implicit assumption that all coding skills are language-specific, that there is no software engineering expertise that transcends command sets. That ten years experience in Java and another five in Perl mean you'd be completely useless on a project that uses, say, C#.

"Yes, there's a learning curve. But I've made harder transitions than this. I'll make you a deal, pay me 80% for the first month and at the end of that time if I'm not ... oh, wait, we're not actually having this conversation, because your HR monkey simply deleted my application."

share
91  
+INF for HR monkey. –  Rusty Sep 9 '10 at 19:12
7  
+1 for describing my never ending job hunt. –  Kevin Laity Sep 10 '10 at 0:03
67  
I have had an HR guy turn me down for a role because I knew how C#, but he was looking for someone who could code in dotNet. –  burnt_hand Sep 14 '10 at 7:51
11  
@burnt_hand: Yeah, I know dotNet. I also know Excel and Internet Explorer. I can haz contract now? –  pluma Sep 19 '10 at 17:00
2  
@Kyralessa - I think that I now know enough about the underlying theory of computing and functions of computers to not make basic errors in any programming language. I can read the documentation. However, something that a language specific hire with limited engineering skills /will/ do is make basic errors in the structure, design, correctness, scalability, reliability and maintainability of the program that will potentially cost large amounts to fix. If you don't lose all your customers due to the low quality of the software in the meantime (assuming your project actually gets anywhere). –  flamingpenguin Dec 24 '10 at 9:57

Keyboarding form is related to programming ability. Seriously, one of the teachers at my high school told me, "You can't code quickly if you can't type quickly." My response was, "That's like saying I can only write the Great American Novel if I do it in cursive."

share
9  
+1 Being able to type quickly actually can help sometimes. But being able to think clearly HELPS A WHOLE HELL OF A LOT MORE. –  BlairHippo Sep 9 '10 at 14:50
25  
You can't code quickly if you're a hunt-and-peck typist. –  George Marian Sep 9 '10 at 15:42
14  
There is a good point in there: being proficient in typing means you don't interrupt your thoughts to hunt and peck. (You'll be more likely to use better variable names, too.) The only problem here is "quickly"; being able to type normal prose at 60wpm should be plenty, but isn't very fast. –  Roger Pate Sep 9 '10 at 15:47
7  
Why are people taking this to extremes? I don't touch type, but I don't hunt-and-peck either. I program just fine thankyou, even if I only manage about 50-60WPM. Much more than that will just be bottlenecked by your brain. We aren't taking dictation, we are creating. –  Matthew Scharley Sep 12 '10 at 3:24
3  
Being able to type reasonably accurately without thinking about it is good. Speed doesn't matter nearly as much. –  David Thornley Nov 29 '10 at 21:30

That commenting code is unnecessary, or that "good code doesn't need comments". Sometimes you need to explain what a complex bit of code is doing. Furthermore, commenting sections of code helps you skim read much more effectively.

share
14  
@DisgruntledGoad - It's true though. The misunderstanding in this "myth" comes from the fact that too many programmers consider their monolithic confusing code to be "good". if user.is_logged_in: print('Welcome') doesn't need a comment. –  orokusaki Sep 9 '10 at 18:13
3  
@orokusaki Not every algorithm is that simple. –  Jouke van der Maas Sep 9 '10 at 20:19
25  
@orokusaki you are mistaking "good code doesn't need comments" with "simple code doesn't need comments". Good code isn't always simple. –  DisgruntledGoat Sep 10 '10 at 13:48
3  
@Jouke van der Mass: of course. But it does not matter how complex the algorithm, the goal is to express the algorithm simply. i.e. good code expresses complex algorithms, rules, optimisations, in a simple and unambigiously understandable way. Expressing simple things simply is comparatively easy. Expressing complex things simply is where the skill lies. –  flamingpenguin Dec 24 '10 at 11:13
2  
@orokuskai: good code is simple. The things it is doing may be complex but the simplicity (elegance) of the code is what makes it good in my opinion! Of course, code does lots of other things, and rubbish code can make you lots of money. But my goal is to write simple code even in complex situations. –  flamingpenguin Dec 24 '10 at 11:15

that you can speed up a late project, simply by throwing more people at it.

share
28  
Ah, from The Mythical Man Month. en.wikipedia.org/wiki/The_Mythical_Man-Month –  spong Sep 9 '10 at 17:49
63  
We use a colorful saying "You can't put 9 women into a room and make a baby in a month". –  Walter Sep 9 '10 at 23:09
10  
Last week we added 4 people with no project experience to "help" meet an unrealistic schedule. This week's report from the project lead to upper management lists: "Schedule slippage Cause: Reduced efficiency due to learning curve of new team members" and "Recovery Plan: Continuing to add more people where opportunity exists." Unbelieveable. –  AShelly Sep 10 '10 at 16:23
38  
You could put 9 women in a room with me, and I'll give it my best shot :) –  Xepoch Sep 17 '10 at 16:26
7  
@Walter, but you can have 9 babies in 9 months and a little-league baseball team in 7 years. –  Huperniketes Oct 19 '10 at 9:27

Many people tend to think that JavaScript is similar to C++ and don't understand that it actually uses prototype inheritance.

share
4  
It uses more than just prototype inheritance. –  orokusaki Sep 9 '10 at 18:15
4  
@orokusaki - That's true. It also uses the unpasteurized blood of newborn babies. ;) –  rtperson Sep 10 '10 at 18:14

If you're not typing, you're not working.

I believe zombie blank stares and coffee walks are essential to programmers organising things in their heads.

share
9  
Page up, page down...page up, page down... –  adolf garlic Sep 9 '10 at 18:12
139  
I'm not paid to type, I'm paid to think. I provide typing as a bonus. –  Kevin Laity Sep 10 '10 at 0:08
11  
"code's compiling" –  Tobias Kienzler Sep 10 '10 at 8:38
11  
This is why I don't think very highly of online freelancing markets that offer recording "working time" with a screengrabber and a webcam. WTF? If you think my quote is good, why do you care what it is exactly that I do in the time I'm charging for? –  pluma Sep 19 '10 at 16:59
10  
"If I had more time to code, I'd write fewer lines." - take off on Abe Lincoln quote. –  JeffO Sep 27 '10 at 19:53

That programming languages change all the time.

This might have been a long time ago in the past...
But nowadays the changes are mostly extra features which try not to break existing code.

share
3  
this is a myth only for static-type language programmers (i.e. Java, C, C++, etc) which are thousands of years old and require a doctorates degree to be taken seriously at. If you use Ruby or Python, you know that things to change quickly, to make programming easier so that software development can transcend obfuscation. –  orokusaki Sep 9 '10 at 18:18

I've had more than one person ask me about what it is like to program only to realize midway through the conversation that they actually think we program directly in binary or using mathematical symbols.

I don't know if I want to dispel that myth, it makes me look really smart!

share
6  
It doesn't help that most people don't even know what programming really is... they have this vague idea that it's creating software... but they don't really have a clear idea what software is... –  Spudd86 Sep 9 '10 at 18:01
7  
"We write knitting recipes". Grandmothers tend to understand that. –  user1249 Sep 11 '10 at 7:41
1  
@Josh - unless there is a performance problem, that seems like a waste of time. –  JohnFx Sep 12 '10 at 20:08
1  
@oosterwal - Assembly is not binary, nor does it use mathematical symbols. –  JohnFx Mar 12 '11 at 20:48

Any teenage kid who hacks with computers is equivalent (or superior) in skill to a veteran working programmer.

My 14 year old nephew is good with computers and I'm paying him $10/hr to mow my lawn. Why should I pay you six figures to write the next FaceBook?

share
5  
They probably are in their own environment i.e. working on their own to their own standards. Put them in a team where they have to communicate and that's where they suffer. –  adolf garlic Sep 9 '10 at 18:11
36  
Counter question could be: "What would you pay him to build your house?" –  user1249 Sep 11 '10 at 7:38
7  
A kid with no qualifications but writes neat code can beat Mr. Spaghetti any day. –  Josh Sep 12 '10 at 15:31
13  
I blame hollywood for that –  MAK Sep 12 '10 at 22:26
6  
When I started out, I expected that what I'd been teaching myself and picked up at uni would be only the beginning, and I'd be working with more experienced people that were better programmers and more knowledgeable developers, and I'd learn lots from them. Experience taught me otherwise. It's absolutely important, but without skill and passion, experience is just wasted time. –  Peter Boughton Sep 13 '10 at 12:10

The complexity of the app is directly proportional to the complexity of the UI. By this reasoning, you should be able to build Google or Twitter over a weekend.

share
2  
this is true, I could build Twitter and Google over a single weekend. It isn't their software that is complex; for Google, it is their search algorithm (which is more comparable to a code library, or database driver), and Twitter (up until the last 1.5 years) was extraordinarily simple, with only scalability and database issues being complex. Now that it is more complex (requiring more employees), it also has a much more complex UI, and many more UIs. –  orokusaki Sep 9 '10 at 18:11
3  
I think I read it on Joel Spolsky's blog but the article mentioned only showing as GUI progress in relation to the back-end progress. That way you can give a realistic estimate of progress to the pointy haired guys who are too dumb to understand that most programs consist of a lot more than eye candy. –  Evan Plaice Sep 11 '10 at 8:45
3  
1+ There was a time when I demo'd a SharePoint related project (a multi-lingual addon) to my former boss, having spent hours working on the complex backend code. The end result was not much was done on the UI, which led my boss to believe that not much has been done on the project. That pissed me off. He wasn't the one sitting at the keyboard for hours trying to get around SharePoint's oddities, as well as the text replacement logic. –  Jason Evans Sep 26 '10 at 17:29
1  
Don't you hate when some huge, almost-impossible, request is phrased as "can you add a button to do..." –  JoelFan Dec 13 '10 at 1:42

That the prototypical programmer:

  • comes in to work after 11am
  • drinks nothing but Mountain Dew
  • loves indian food or sushi
  • lives alone by choice (with parents and/or in basement)
  • stays up until 3am playing video games
share
23  
It's a stereotype for a reason... –  Joe Philllips Sep 9 '10 at 18:14
7  
@Kelly - every bit of this is true. –  orokusaki Sep 9 '10 at 18:15
12  
Not true. I hate sushi. –  GrandmasterB Sep 9 '10 at 20:37
10  
A score of less than 3 means you're not a real programmer. –  Tom Hawtin - tackline Sep 10 '10 at 0:59
6  
Well, he (or she) lives alone by lack of choice :-D –  bigown Sep 11 '10 at 8:10

That there is some mythical source of absolute best practices.

No deviation can ever be justified.

No document claiming to define something as a best-practice can ever be questioned.

share
1  
better a team member than your managers... –  Bill Sep 9 '10 at 21:06
1  
+1. Wow, The Document!!! The Absolute Truth Document!!! –  sharptooth Sep 10 '10 at 5:56
5  
Can you forward that doc to me? –  AShelly Sep 11 '10 at 19:29
1  
Totally agree. Who cares if you mix tabs and spaces in Python code? –  Josh Sep 12 '10 at 15:02
4  
@Josh - someone who has to view your source code using a tool chain that has a different idea of where the tab positions are. –  Stephen C Sep 30 '10 at 5:30

That assigning a priority other than "1" means the task will never be done.

I had a manager ask me to customize the bug-tracking tool with priorities 1a, 1b, 1c, 1d, and 1e so he could assign everything as some variation of priority 1, but we could still organize the work.

And yes, I did get through all the "priority 1" issues. But before I could proceed to the issues that were still in priority 2-5, the manager made me re-assign the priorities of those issues into the five priority 1 levels.

(I realize this myth isn't specific to programming, but that's true of several other answers on this thread.)

share
13  
"If everything is important, then nothing is important" –  Sergio Acosta Oct 8 '10 at 2:39

Manufacturing lessons can be applied to the software development process.

share
6  
Depends on the lessons. When I worked at a mattress factory, we learned that task-switching was harmful to our production. Kinda important since we were paid by the number of mattresses made and not by the hour... and a lesson that applies here too for a lot of the same reasons. –  AnonJr Sep 10 '10 at 11:12
5  
Thing is, manufacturing software is trivial. It's easy to make copies, and doesn't cost all that much to make millions of copies. This leads people to ignore the manufacturing part altogether, and try to apply manufacturing to the design process. –  David Thornley Sep 22 '10 at 17:33
1  
Everyone should read Jack Reeves: developerdotstar.com/mag/articles/reeves_design_main.html - this is the origin (or at least an early and powerful statement) of the idea that source code is a design not a product. Programmers are like the designers in the drafting room, not the machinists on the factory floor, and the management of programming must be like the management of other kinds of engineering design, not manufacturing. –  Tom Anderson Nov 26 '10 at 20:25

There must be an open source program for my business. Can't you just download it and tweak to my requirements.

share
2  
+1. Oh, yes, whatever we need to do must already be in open source. –  sharptooth Sep 10 '10 at 5:58
7  
a lot of the time there is... at least thats true for web development. –  WalterJ89 Sep 10 '10 at 6:37
7  
The opposite is a myth too. That you cannot use FOSS to satisfy your business needs. –  terminus Dec 18 '10 at 16:07

Probably the most dangerous one I've seen, because it gets accepted so readily, is that being able to write code quickly is good, and therefore the more quickly you can code [insert feature here] in a given language, the better the language is.

This is a serious example of premature optimization, since far more work goes into maintaining code than creating it. This means that it's much more important to write code that's easy to read, comprehend and debug than code that's easy to write quickly, and facilitating easy-to-read code is a much more useful measurement of language quality.

share
14  
this is precisely what happened to one of the products the company I work for; rushed development was seen as brilliant. The product LOOKED ok and the developer was highly praised by upper management. Another junior developer was then tasked with fixing a "small" bug, and after a week of trying to understand the code, gave up and sought guidance from a senior.. who couldn't believe how rubbish the code was. Upper management refused to accept is as a major issue for two years, after which the eventually agreed it was a pile of junk and needed to be coded again from scratch - and right this time –  Sk93 Sep 10 '10 at 8:06
4  
There's a well-established myth among technical managers that your skilled developers are ten times more productive than unskilled developers. The direct result of this myth is that any developer who can produce code quickly -- regardless how buggy or hard to maintain -- gets praise and promotion. –  rtperson Sep 10 '10 at 18:17
3  
You NEED a powerful language. See Paul Grahams discussion of languages and what ti enables you to do: paulgraham.com/power.html –  user1249 Sep 11 '10 at 7:43
4  
@Thorbjørn: I've read that article, and Paul Graham has it wrong. He's a Lisp advocate, so he twists the facts into self-serving arguments to make Lisp look good. Maybe not even conciously, since it really doesn't take much twisting. There's a lot of overlap between readability and succinctness, as he points out towards the end of the article. But the conclusions he draws are completely out of sync with the state of software development in the real world. Yes, you need a powerful language, but he's measuring power by the wrong criteria, and it's harmful to believe what he says. –  Mason Wheeler Sep 11 '10 at 11:42
3  
@rtperson: That productivity can vary by a factor of ten is no myth. That people who finish fast are necessarily more productive is. –  David Thornley Sep 22 '10 at 17:35

2 myths I want to have revealed. A lot of my friends do not understand that Java and JavaScript are completely different, and a lot of non-programmers I know don't understand that there is more than one language. One of my friends was just getting into programming and needed some help from me, 'course he didn't even know what language he was working in.

Those both come up a lot for me.

share
14  
I love this quote: "Java is to JavaScript as Car is to Carpet." I've read this attributed to Chris Heilmann (wait-till-i.com/2005/11/08/…) –  Bill Karwin Sep 10 '10 at 6:53
2  
Java doesn't contain JavaScript, but hopefully your car has carpets. –  configurator Sep 19 '10 at 2:57

Programming is just like assembly line work. You are working on a product for a certain time (maybe with coworkers) and finally you ship it. Just like building a house of bricks.

Contra: Programming contains a lot creativity and planning. It is art. Like the mason, also a programmer knows the difference between shaping a brick and planning a whole cathedral.

share
6  
Agree about difference from assembly line work -- but in many ways I don't think it's much different from building a house. –  Billy ONeal Oct 2 '10 at 0:00

Not the answer you're looking for? Browse other questions tagged or ask your own question.