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

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

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

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

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

All programmers are good at math. :-)

share

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

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

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

If you havent gone to university, you are not suitable for the job

share
27  
Also: a programmer with a degree is better than a programmer without and should be paid accordingly. The same probably goes with ageism and sexism. This kind of nonsense infuriates me -- if you don't know how to write good code, I couldn't care less about where you went and what you did. This may be another case of programmer/nerd culture (skill == authority) clashing with corporate culture (rank == authority). –  pluma Sep 19 '10 at 17:37
1  
And yet the people teaching at University also seem to think that they can generalize the behavior of programmers and projects by observing how students operate when teamed up. Communications of the ACM is good for 4-6 such articles a year. –  MIA Sep 30 '10 at 3:20
1  
@Billy How about around here, where a college diploma means jack, but a university diploma will grant you everything? Both go to school, both are arguably better than the other, but there's a sociological difference –  Slokun Oct 1 '10 at 17:01
4  
@Billy: in Canada, university awards you a degree and colleges give you diplomas. Colleges are more like "schools where you learn practical stuff". Think community college in the US vs normal college/university. Here they typically have two-year specialized applied programs. You can't get a bachelor's (masters, etc.) from a college. Basically, you'd go to college to study how to write software and to university to study computer science. University degrees are given much stronger preference in hiring. –  Anna Lear Oct 1 '10 at 18:33
4  
Universities teach at least one important thing: the mindset. This is very important, but those who don't know that... well, don't know that. –  user1249 Dec 2 '10 at 12:00

That premature optimization means you shouldn't optimize at all. I've seen more horrendously bad databases because no one wanted to consider performance (critical to any database system) in design as that was premature optimization than any other database design issue . Rubbish, there are known performance killers, stop using them as your first choice.

Another myth, it's too hard to refactor the database. No but you have to consider how to do refactoring in the design phase to do it effectively. And BTW, the longer you wait to fix that annoying design-based performance issue, the harder it's going to be to fix.

Another bad myth, database design should reflect OOP principles. No, databases are designed to work with sets not OOP principles. Some OOP things will cause horrible performance problems and others are just pain silly in database terms.

Finally, you should enforce data integrity in the application. Databases are going to last past the application and would lose the rules when the application is replaced, mulitple applications are going to access them and there will often be the need to run direct queries to fix things that do not go through the application. I have never seen a database that refuses to enforce data integrity in the datbase that has good data.

share
5  
+1 for the first paragraph. Premature optimization is the root of all evil; writing bad code for no bloody reason is even worse. –  configurator Sep 19 '10 at 2:42
3  
"Some OOP things will cause horrible performance problems and others are just pain silly in database terms" - could you say which? I know about OOP, but not a lot about databases, and i'm interested in how far i can carry ideas from each side to the other. –  Tom Anderson Nov 26 '10 at 20:13

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

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

The worst myth: If you are programming for a long time then you can be a Project Manager easily.

And that you should become a project manager if you have been programming for a long time.

share
3  
Or even worse, if you've never programmed or managed a programming project, reading a few books and will magically make software happen. Been down that road with a previous PM and don't care to repeat it as long as I live. –  Evan Plaice Sep 11 '10 at 9:06
4  
Even worse: Since all the great programmers on the team prefer writing code over writing reports, we should promote the mediocre programmer to Project Manager. The thought is he'll be "tecnical enough". The fact is he ends up being a disinformation filter between the team and upper managment. –  AShelly Sep 11 '10 at 19:42
2  
Also: if you're the best programmer, you should obviously become the project manager and from that point on stop doing any actual programming yourself! No, thank you very much, but I'll still take the raise. Note: I'm not talking about becoming a lead programmer or any such thing, I'm talking about the managers who think it's a clever idea to promote everyone to their level of sufficient incompetence. –  pluma Sep 19 '10 at 17:22
1  
Also known as Peter Principle. en.wikipedia.org/wiki/Peter_Principle –  Spoike Nov 22 '10 at 18:24

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

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

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

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

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

that as a programmer you know everything about latest hardware trends, overclocking, case mod, etc. friends and relatives consult you when they buy their gears.

share
5  
I used to keep on top of some of these things back in highschool, but nowadays I find that they are generally irrelevant to what I do and while some are neat, I'd much rather pay someone who knows their stuff and use the time I save doing what I like (i.e. writing code). Maybe another "good with computers" misunderstanding. –  pluma Sep 19 '10 at 17:40
2  
+1, or a slightly one off tangent - Because your a programmer, you have a super duper water cooled 300 LED fan spinning flashing top of the range brand new shipped from the manufacturing plant before its been released case. Erm not really! Its a decently fast machine, its in a black very cheap case. Dont really care beyond that! –  Dot Net Pro UK Sep 22 '10 at 9:16

That when programmers say it's very hard to do/simply impossible, HR thinks they're lazy and unmotivated

share
2  
Include management too –  Prasham Jan 4 '11 at 12:21

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

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

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

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

Porting a program to C++ will automatically make it run faster.

share
2  
Another common variant is switching to a client-server architecture. "Upgrading to SQL will make my app much faster!" Not necessarily. –  JohnFx Sep 10 '10 at 14:29
6  
Porting to C++/C for those written in Python/Perl/Ruby/etc. Porting to asm for those written in C/C++ :P. I wonder what you'd port asm to? designing it into the hardware? –  MAK Sep 12 '10 at 22:30
1  
@MAK - check out en.wikipedia.org/wiki/Handel-C –  flamingpenguin Dec 24 '10 at 14:03

Any programming environment with a visual designer of some sort will make it so that business users can "write" the program and actual programmers aren't needed.

share
9  
Ah, yes. It's always fun when some company creates a new authoring tool to make programmers redundant and then everybody who adopts it goes ahead and hires highly-paid <authoring tool> specialists to actually use it. Case in point: Joomla! and all that non-sense. –  pluma Sep 19 '10 at 17:26

OOP reuse. It's the biggest fallacy marketed in programming.

share
1  
Well. The HP XL WESM is roughly 85% the same as the Symbol WS5100 (there's OEMming going on). Would you have me copy-and-paste that percentage of my monitoring and configuration code so that there's twice as many bugs, or would you prefer that I rewrite it from scratch and take forty times as long and there are five times as many? Or are you just pressured by foolish management which thinks that it's one of several magical panaceas to make $project faster? –  fennec Oct 2 '10 at 2:58
1  
Reuse in the small was solved 40 years ago and more. Reuse in the large is difficult and hasn't been solved yet IMHO. Just like Robert Glass says in Facts and fallacies of software engineering –  MarkJ Nov 2 '10 at 22:52

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