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. –  sunpech 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

That learning the syntax is the hard part.

share

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

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

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

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

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 Hungarian notation only means that you prefix variable names with a type (like int iArraylength = 5; ) instead of what kind of data it holds (like int xcTextfield = getTextfield().coord.x; )

"Systems Hungarian notation" != "Apps Hungarian notation"

share
1  
+1 for talking about a code related myth. –  Sergio Acosta Oct 8 '10 at 2:43
5  
both are still an abomination in a strongly typed language –  jk. Jan 12 '11 at 9:47

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

That any code written in an OOP (C#, C++, Java) language by anyone is automatically Object Oriented and "Reusable".

It wasn't just once where I was asked to reuse a thousand line code block or a class in an architecture that did not have any patterns except inheritance (which doesn't even count). Apparently, copy pasting also counts as good code-reuse for anyone who doesn't know the difference between an OO-language and OOP itself.

A favorite TDWTF that's happens every so often: Code-Refuse

share

That web apps can be up "7x24."

Ask any business person what downtime is allowed and they always insist on 100% uptime. Nevermind that 1 minute downtime per week is still 99.99% and is nearly unachievable for an organization smaller than a major utility.

share
8  
"We need 5 nines!!!" No...no, you don't. People know how to hit 'refresh'. And if you're worried about lost sales...well, if your profit margin is 0.001%, rethink your business plan. –  Alex Feinman Oct 26 '10 at 12:58
2  
@Alex Feinman you'd be amazed how many people don't know how to hit refresh. –  Glen Solsberry Feb 3 '11 at 21:19

That there is a single "best" tool/solution/answer to any problem/question

share

All programs written in C/C++ will execute faster than Java/C# equivalent programs.

share

The biggest myth is that it's easy.

share

That any M.Sc. with one programming course is enough to be hired as a software developer.

share

That because you are a programmer, you know how to fix the copier.

share
6  
But I do know how to fix the copier! –  configurator Sep 19 '10 at 3:02
3  
Programmers are by nature problem-solving beings who can take in large amounts of information and reason about it. That makes them probably better at average at fixing things. It doesn't help my house plants, though. I now mostly ignore them, let my wife take care of them, and don't think too hard at them, just in case. –  David Thornley Sep 22 '10 at 19:36

Programmers who became managers saying:

"Three weeks?! I've coded in the past, how hard can it be?"

share

Computers and software improve working process by itself.

share

Which wrong ideas are widespread for long time

There is a very widespread belief among programmers about how to find performance problems. It is that in order to find them, you have to measure them.

The simplest counter-example is an (undesired) infinite loop. It takes 100% of time, doing things that are completely unnecessary.

How do you find the problem? You get it under a debugger and pause, halt, or interrupt it. Then you look at the stack, because you know the loop is somewhere on it. You've caught it in the act. Did you measure it? or just find it?

Suppose it's not an infinite loop, it just takes longer than you think necessary. Suppose the unnecessary work is less than 100%, like 90%, 50%, or 20%. It's the same idea. If you pause it, that percent is the chance that you will catch it in the act. (You don't have to know what the percent is to catch it.)

Just to be sure, you can pause it several times. As soon as you see it doing something, on as few as two samples, that you can replace with something faster, you can fix it for a nice speedup. Not only that, you've just made any other problems easier to find, because the time is shorter and they take a bigger percent. This can "snowball" until the code is very close to optimal.

Of course, if you want to measure the problem, just take more samples, but that's not a prerequisite to finding it.

People tell me, wishfully, that this is what sampling profilers do but do it better. Many would rather debate the issue than see for themselves.

share
4  
Nice subject for an answer. I'm feeling pedantic: I say you are still measuring, it's just a rough measurement. –  MarkJ Nov 2 '10 at 23:06

That being a manager is better then being a coder. Being a manager is BORING. Anybody who went into pure management has never loved programming to begin with.

share

That a manager knows jack-squat about the code that his/her developers are writing.

share
8  
This may be a myth in your office, it's reality in mine. –  AShelly Sep 11 '10 at 19:44
2  
+1 for reality. –  Joshua Smith Apr 7 '11 at 15:57
1  
Depends on what you mean by "manager". The project lead usually knows the code pretty well. Just one level higher and all knowledge about the details of the source code go out the door. –  Diego Deberdt Jun 24 '11 at 20:22

Among programmers: That Delphi is dead, dying or on life support.

share
2  
Do you guys use Delphi? –  Peter Turner Oct 1 '10 at 19:55

There is a language called C/C++

Or that the languages are so close that skills are interchangeable.

share
2  
+1 but at the same time some seem to think that any use of C/C++ as a phrase is wrong. how are you meant to refer to their common subset? –  jk. Jan 12 '11 at 9:56
2  
@jk01: Yes syntactically they have a common subset. But knowing this is not enough. The style used by both languages is now so divergent that they don't translate. –  Loki Astari Jan 12 '11 at 17:28

That writing software is actually about writing code.

share

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

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

Why do programmers insist on writing bugs? (Coming from a marketing+tester person that can never get a bug report done right).

share

Using English (or your native language) to describe a problem:

is more useful than providing a compilable example of the code the illustrates the problem.

share
  • That OO means quality.
  • That the OO approach is the right approach.
  • That the job of a programmer is to write code.
  • That language matters.
share

The whole hollywood mentality (for lack of a better name) that whenever a programmer in a movie/tv series speaks up he needs to articulate every technology he needs (I need a PHP front-end and a MySQL back-end!!!11)... And then some more that doesn't make any sense at all of course.

If I would talk like this I'd probably get kicked in the nuts.

share

Good Programmer if you spend more time on programming.Practice makes a person perfect but doesnt make him good.

share

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