tags:

views:

3072

answers:

55

What programming 'religious' position or argument bothers you the most?

+21  A: 

I would say programming paradigms are it for me. Most of it's centered around OOP. Some will say that OOP is the worst thing that's ever happened and that anyone who uses an an object oriented language is a terrible programmer (bonus points if they say we should all go back to writing C). Then of course, you have the people who say that OOP is the best thing since sliced bread and that OOP is the panacea to all of life's problems (although these types are becoming less common).

Both of these points interfere with the best way to do things: choosing the best tool for the job.

Jason Baker
Exactly my usual point in those debates! I would add that your choice of paradigm depends on you as a person as well as on the job at hand. For example, OOP tends to fit my mental model of the world, whereas some I know think better in terms of C-style programming.
fluffels
+1 This is a debate that I often have in my own head. Some days I can't get enough OOP and other days I feel like OOP is causing me 10x as many problems as it's solving.
Damien
+122  A: 

I would have to say the position that bothers me most is the almost venomous rejection of open source I am greeted with in some circles.

The same goes for the open source believers that attack proprietary software based on nothing but the fact that is not open source.

fluffels
Totally agree, specially about the second part.
Vicent Marti
I think we should bring the two sides together, and agree to hold all software in contempt regardless of where it comes from.
MusiGenesis
@MusiGenesis Hehe, that's a good position I think :) But in all seriousness, just use the tools that are the most suited. If you follow that principal then an "evolution-like" process will decide who was right.
fluffels
The best solution to this problem is fields in which only one of the two is available--there are literally many applications where there *is no practical proprietary app* for the job, or vice versa, where there is no practical open source app for the job. This forces people to deal with it ;)
Dark Shikari
+1 zeelots are bad however side they are on.
Keltia
Loved the 2nd part. Spot on!
Rev316
I prefer all my tools to fit well into a creationist mold. Your talk of evolution-like processes disgusts me.
TheTXI
Wow. Those people who are saying "love the second part" and "specially the second paart" are totally not getting the point.
Brian Campbell
Totally agree, specially about the first and second part
Sam Saffron
+2  A: 

Yikes, just because a belief is "religious" does NOT mean that it is without reason. I think that a religious belief in terms of programming is more along the lines of making a technical decision because of a not too technical reason. Like for OpenID: the idea that having a single secure login is convenient and is the correct method. The belief doesn't have a technical reasoning behind it, just a belief. But with your take on religious belief,I would have to agree and say that, that is always a wrong way to find a solution.

Oh, and I hate C++ programmers who denounce Java because of its speed and "verbose" syntax.

Sandro
>>just because a belief is "religious" does NOT mean that it is without reasonI agree, but "religious" beliefs are by their nature resistant to rational arguments. In the case of OpenId; offering OpenId and REQUIRING it are two different things. As would be requiring it for a non-religous reason.
Peter
+1 about C++ vs. Java
fluffels
I hate java's verbose style! (the syntax is simple, but the conventions make all code extra-verbose)
hasen j
-1 because "religious belief" usually carries negative connotations
nbolton
+2  A: 

Whether a language is really object-oriented. (For instance Javascript or Objective-C.) Who cares? If it works for me, it works for me.

Christian Davén
+12  A: 

There is already mentioned holy war between open source and proprietary software. I'd like to stress one of its fronts that bothers me the most. It is holy war between *nix systems and windows. I've heard hundreds of times about Windows' instability, security holes, slowness etc from people that are considered to be good developers or administrators. And they really are. But when they speak about Windows they completely lose their objectivity and become crusaders of *nix. I am not really big fan of Windows systems but I had to use it as well as *nix systems and I see both pros and cons in both worlds.

Rorick
See also "Arrogance Maxim": http://www.cl.cam.ac.uk/~rja14/musicfiles/preprints/Johnston/securitymaxims.ppt
JesperE
+28  A: 

All religious arguments really boil down to the false notion that one particular solution is the best for all circumstances. I think that people who make religious arguments (and I USED to be one of them) really haven't learned a basic fact. Any one language, OS, DBMS CAN be used to solve ANY problem. However, that doesn't mean that you won't be fighting your favorite religious package to shoe horn it into your solution.

Being anti-religious with regards to software is just a matter of accepting that in order to make the best solution, at the best price, you need to have a breadth of languages and systems under your belt. Some things are just better designed to handle some things than others.

Nick
+24  A: 

Emacs vs Vi.

Prog
NEdit.Ten characters.
Telos
all arguments about EMACS vs Vi are pointless. VI is clearly the better editor.
MikeJ
@MikeJ: And EMACS is clearly the better OS ;) Really, why wouldn't I want an editor I can play tetris on?
tloach
At least we can all agree that ed is the standard.
directrixx
Gave up.... Went to an IDE. I know, I'm no longer a "hard core" coder. But I love GUI integration == better workflow.
Rev316
MikeJ is an excellent example of a brainless Vim advocate. Things might have been different 20 years ago, but now it's always a Vim user dishing out the hate.(I like both editors)
abababa22
@Telos: Emacs. 11 characters ;) 12 if you count the point
bigmonachus
Why anyone cares what text editor other programmers use is beyond me.
Daniel Straight
@tloach: Because the Emacs OS lacks a decent text editor.
Sander Marechal
@Daniel Straight: Awesome
johnc
@Daniel Straight - Where were you with those words of wisdom 20 years ago? :-)
ldigas
Frankly, Eclipse kicks both their butts.
Daniel Bingham
People that depend on "the best editor" for programming cannot be the best programmers imo ... See http://xkcd.com/378/ for further reference :)
MartinStettner
+1  A: 

When people claim open-source software is better than proprietary software.

I'm not denouncing open source as being harder to build/maintain, nor complaining that it's free, nor comparing it with communism (Not here, at least)... But I trust software alot more when peoples' livelihoods rely on it working.

tsilb
I see the exact opposite. I don't trust proprietary software to be better than open source because it has no reason to be. There's no incentive to write beautiful code if no one can see it. Besides, there are many more people writing open source than proprietary software these days.
Just Some Guy
@Just Some Guy: do you have any hard evidence to back up that claim? Otherwise it is just wishful thinking, I'm afraid.
JesperE
I agree with you 100%
da_code_monkey
@tslib - While I agree that FOSS isn't always as good as proprietary software, I'm confused as to where you get the notion that peoples' livelihoods don't depend on open source software. Just because they don't sell it doesn't mean they don't make money off of it.
Jason Baker
For me it boils down to "built for love" versus "built for money".
Brent.Longborough
for me it boils down to 'when i have a problem, can i call tech support'; i don't care when the source is open, closed, half-open, or drunk in a ditch. if it isn't supported (and newsgroups are rarely quality support) it ain't worth diddly ;-)
Steven A. Lowe
I assure you that RedHat's tech support is at least as responsive as Microsoft's.
Just Some Guy
@[Just Some Guy]: well that's not setting the bar very high! Who said anything about Microsoft?
Steven A. Lowe
-1 Are you trying to cause a programming-related religious argument here?
nbv4
+1  A: 
micahwittman
+19  A: 

3-tiered (or n-tiered) design. It's like a chef decreeing that all food must be layered - this works great for lasagna, not so much for a steak.

"Many-teared" is another term for it.

MusiGenesis
Schnitzel can be layered :P see here -> http://en.wikipedia.org/wiki/Schnitzel
Andrei Rinea
StackOverflow makes me hungry for some reason.
MusiGenesis
I like my steak with onion and mushroom layers on top. :-)
Sherm Pendley
Whether your food is layered or not, it's the same in the end. I think the same principle applies to software, however literally you want to apply it. :)
MusiGenesis
I could for for steak on steak on steak because I like steak.
Zombies
+1 lol @ for food analogy... Are you saying n-tier is overhyped sales talk, or just overused in places it's not needed?
nbolton
@Nick: I was actually just being polite when I compared n-tier to lasagna in a purely "foodie" way. A better analogy for n-tier would be someone trying to put a lasagna in the front of their car instead of an engine.
MusiGenesis
+15  A: 

When people get upset about source code formatting and related coding standards.

I have no problem with formatting rules that have practical effects (i.e. "putting the paren there makes it easier to grep for function calls"). But huge arguments over whether an opening brace should be on the same line or on the next line? Haven't we evolved past that?

Now, I see the value in having a large body of source code look consistent. I'm just talking about getting emotional about particular individual rules like mandating the spacing around parentheses or getting anal about indentation.

Tim Farley
amen, preach it bro!There are more important things to get worked up about. I have noticed that people who argue about the minutae of coding standards are often oblivious to the stench of "code smell" build-up which really will harm future development.
Mark Heath
Agreed, these are especially stupid since it's so easy to automate converting between different 'standards'.
smo
the height of stupid in this area is when the zealot spends a week - or two - reformatting the code to his 'standards' instead of doing real work
Steven A. Lowe
This is partially why I like Python. There is no debate as to where to put the curly braces.
Cybis
Steven, lmao that is good one. Preach it on a mountain.
Zombies
Hmm, I agree, but, I have an innate feeling inside of me that all people who put parentheses on the same line are evil... why?! I used to do it my self, and it's only because of Visual Studio that I now put it on the next line.
nbolton
we can resolve all arguments about brace placement by adopting python or tcl for all code. in tcl, the brace must be on the same line. in python... well you know where to put your braces, anyway.
TokenMacGuy
+52  A: 

I don't like it when Knuths quote: "Premature optimization is the root of all evil" is used like a mantra.

Throwing a slow O(n²) bubble-sort into an application and mumbling that "Premature optimization"-mantra is way too often used as an excuse to deliver shitty code. I think it's always well worth the few minutes to pick an algorithm or data-structure that is more suitable to the problem.

That way you save the time for refactoring and optimizations in the long run because once a program is exposed to real world data brute force algorithms tend to become a major problem. And it will take longer to replace a piece of code than to do a good choice at the first place.

Imho that quote has been written in the context of code that is already free of brute force algorithms. It applies to needless, premature optimizations like cache-aligning writes in general purpose code.

Nils Pipenbrinck
Agreed, I take that quote to mean avoid introducing hard-coded-like performance-enhancing tricks that rely upon limited scope assumptions/lack of flexibilty needs while the scope and the need for flexibility is still on the table.
6eorge Jetson
I wouldn't call ensuring reasonable time/space complexity of an algorithm 'optimization'.
smo
It is not Knuth, it is Hoare. http://shreevatsa.wordpress.com/2008/05/16/premature-optimization-is-the-root-of-all-evil/
bortzmeyer
@bortzmeyer: The link you point to actually concludes that it is Knuth's, and not Hoares.
Adam Bellaire
It is Knuth's quote indeed. Also, it worth reading the paper [http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf Structured Programming with GOTO statements] the quote is from, for context: by "optimisation" he means minute things like unrolling loops and so on, and he also says:
ShreevatsaR
"[...] worrying about the speed of *noncritical* parts of their programs [...] We should forget about small efficiencies, say about 97% of the time: [POITROAE]Yet we should not pass up our opportunities in that critical 3%. A good programmer will be wise to look carefully at the critical code..."
ShreevatsaR
+1 ShreevatsaR. I hate it when people try to optimise the saying, esp when as it says that sometimes you really do want to optimise in advance.
Alister Bulman
Sometimes you know that N will never get large and an O(n²) can match beat an O(n). In that case you pick the most robust code.
Nosredna
Given the number of dumb questions out there like "is function x faster than operator y" ... I'd lean more toward using this quote.There's a lot wrapped up in the word "premature". If you don't have an understanding of profiling, or of what parts of code are critical (get run the most), then any optimization is premature. (Any coding at all may be premature)
DGM
The opposite is also true. I once worked with a chap who prematurely "optimised" lots of things. It turned out that many "optimisations" were sub-optimal when the whole problem was looked at, and many were a complete mess to debug or just read.
Colin Mackay
+24  A: 

Spaces vs. Tabs

Mike Schall
Why is this an argument? Of course spaces are better (puts on flame-proof suit).
Cybis
um, what uses do "tabs" have? it's from the past, move on!
hasen j
Netbeans = (4 spaces == tab) = annoying.
Rev316
lol @ flame-proof suit
nbolton
TABS TABS TABS! What use do tabs have? How about "I like my 2 space indentation and you like yours at 4?"
Andrew Arnott
@Andrew: That's a good point.
Kalmi
And it's only one char to delete if you want to backspace.... and one key to indent....
Mark
I like how this question is supposed to highlight annoying religious arguments, and these comments are just inflaming it! Anyway, TAB for the record ;p
johnc
Mark: any competent editor will make it possible to indent and unindent with single keystrokes, regardless of whether the spacing is composed of tabs or spaces. And since there's no unambiguous way to automatically adjust spacing of code without the risk of ruining some special case, then why pretend that there is by using tab characters?
+2  A: 

As you might guess, the answer for me would be: Mandatory OpenId

To clarify: my problem is with making OpenId mandatory in order to force people to convert to a technology. If everyone decided tomorrow that it was the way to do it, I am all for that. But I have a problem with making it mandatory simply to get people to convert and see the light.

My concerns about OpenId are spelled out:

What are the benefits of making OpenId mandatory question

I moved this from the question body to keep the question and my mandatory OpenId rant separate.

Peter
+39  A: 

Script languages aren't real programming languages.

Daniel Jomphe
Why is that supposed to be a religious argument? Script languages aren't real programming languages afte all.Just kidding ;-)
EricSchaefer
Lol you almost caught me with a heart attack! :-D
Daniel Jomphe
Does markup count? Also never thought of markup as being "real programming". But I'm sure others feel different...
Rev316
Spread Sheets are a real programming language as per this definition, as they have 1) a language and grammar 2) operate on programmatic logic and 3) exist in *reality*, making them *real* programming languages.
Zombies
I used to program in PHP, now I program in C# and C++. For some reason I hate scripting, but not sure why.
nbolton
+1  A: 

Religious arguments are good. I have my experiences that have worked well for me, and others have had different experiences that worked well for them.

The religious argument kicks in when two people with different experiences are trying to solve the same problem based on what has worked well for them in the past.

The only time any of this bothers me is when both sides are so closed minded that they refuse to see value in the others solution - and ideally, come up with something better than what either has created before.

+2  A: 

I don't know if it's really a religious argument, but it really bugs me when people do premature optimizations for things that they should know don't matter... like avoiding throwing exceptions for what should be an exception... or even more minor things like ++i versus i++.

When you blindly optimize things like that, it can become a real danger. More often than not, this sort of micro optimizations creates code that might be micro or nanoseconds faster, but at the cost of being hugely less readable.

I think it is much better to evaluate performance based on actual statistics of the code's actual performance, and then improve bottlenecks based on these facts. Thus, write your code so that it is the most readable, and only then refactor for performance.

This of course does not mean you should never do optimizations ahead of time, it just means you should think about what the performance gain you will actually get with realistic data versus the maintainability hit you might get as a result (copying a java array of a small amount of items to an ArrayList for huge readability gains should not be converted to an array just for performance reasons... but if it is likely to be an array of 1,000,000 items... then it might be worth rethinking the approach ahead of time).

Mike Stone
There is a big difference between ++i and i++ - it's not a religious argument. That's a bit like saying, "why is (a + a == b) better than (a == b, a + 1)" - it's not better, it just different. Hope that comment was useful to you! :)
nbolton
Why is doing ++i automatically an optimisation from i++? They're both exactly the same number of characters and in many cases (typical for loop) they do pretty much the same thing - why is it better to use the slower one when it offers no advantage?
Peter
To me, ++i and i++ are equivalent... i++ is an extra machine instruction (or a few), but that kind of micro optimization doesn't matter... granted, neither is more or less readable, but doing one for performance reasons is an indication to me you are worrying too much about micro optimization.
Mike Stone
I have a hard time seeing ++i as less readable than i++. If you have the habit of typing ++i (for dogmatic reasons, or just plain habit), that's just fine. If not, that's probably fine too. However, it would definately be a day wasted to go through the entire code base and 'fix' everyone elses' mistakes, especially since a good fraction of them are not wrong, and depend on the i++ behavior. Now you have to spend weeks fixing all those bugs you just created.
TokenMacGuy
+37  A: 

I'm a Baptist. I love religious arguments.

Oh, but in context, the one that annoys me most is "Don't reinvent the wheel". I've seen organizations time and time again spend three months searching for an "off the shelf" solution and six more months customizing it to their needs, when we could have written it from scratch in a month.

Mark
Indeed. See also Joel Spolsky's article about this: [http://www.joelonsoftware.com/articles/fog0000000007.html In Defense of Not-Invented-Here Syndrome]
ShreevatsaR
nice one. I caught myself doing that several times .. when I think back and reflect, I think "man, it would've been much better if I did that myself! it would've even given me valuable experience."
hasen j
Religious anti-argument for this one is: "All dependencies are evil". :)
abababa22
I don't know all the arguments for and against, but in general I am against reinventing the wheel. But, again, it all depends on the context. If I have to rewrite everything once off the shelf it may make sense to make a new wheel.
johnny
This is retarded.
belgariontheking
+1. Sometimes you're given a square wheel and told to make it round. It's those times when I wish I could just write the correct functionality from scratch, instead of trying to get a COTS product that 'sorta kinda' does what we need to do play nice with our product.
Mike Spross
+1 - This term is used far too much. Only sometimes is it relevant; it should be "only reinvent the wheel when you can make it better"; if we adhered to this, [I imagine] spokes would never have been invented!
nbolton
Perhaps re-invent the wheel is thrown around too much, but I find it hard to believe there is tons of software you could just write in a month.
railsninja
+1: man, Joel makes a very compelling argument here. I especially appreciate the quote "If it's a core business function -- do it yourself, no matter what." Really, the way I feel about this is "Only use it if you can make it your own." Which means it's ok to try a COTS solution, but drop it on the floor if you discover impedence.
TokenMacGuy
+4  A: 

I dislike the religious arguments over use of the C preprocessor. There's some strange idea that the preprocessor is inherently evil, when in reality its proper use can lead to far more maintainable and readable code. This can often be better than functions, because in some cases you have a "function" which, if made into an actual function, would need a dozen or more arguments, peppering the code with long, ugly function calls. If the "function" is simple, a macro might be more applicable.

Much like GOTO, few things are "inherently evil"; what is evil is overuse of anything, regardless of what it is.

Dark Shikari
+9  A: 

There isn't really one religious argument that bothers me the most - all of them bother me because they all take time away from the important task of delivering great software.

Some arguments like Hungarian notation, the use of var in C#, and whether your brackets are on the same line or the next line, are at least fairly harmless. It doesn't matter which way you go as long as everybody on the team agrees to stick to the convention (note that I didn't say agrees with the convention, as that's fairly unlikely in any sizeable team).

However other arguments are more problematic as they make it less likely that you'll deliver great software, or that you'll deliver at all.

One of the worst groups for this are the TDD zealots who believe it is the only way to code, which it simply isn't in many circumstances, particularly in extremely fast moving and changeable organisations [so actually I'm probably lying - this is the one that bothers me the most]. Other arguments that cause problems are a strict adherence to an architectural style in the face of alternate requirements (e.g. using object-orientation when distributed performance is more important than ease of programming).

But essentially all religious arguments are detrimental on one way or another, and all bother me because their presence is an indication that you're working with cargo cult programmers. Just choose one way or another for the trivial ones, and make sure you have someone who understands the complex ones that can make the right choice based on experience and reason rather than beliefs or blog entries.

Greg Beech
I can sorta see the TDD advocates' point of view, but they do get way to fanatical about it. They almost seem to deny that a lot of great software was indeed written before the TDD days.
Cybis
when executed well, TDD actually can help improve velocity in the face of rapidly evolving requirements. But like anything, it is not panacea, and it's important to know when to skip testing.
TokenMacGuy
+2  A: 

open vs. closed source

and its sister...

Linux vs. things not Linux...

MikeJ
I cried because I had no Linux. Then I met a man who had Windows Vista.
Mark
A: 

I can't stand the "PHP IS BAD" people, I usually want to shove their foot up their own..........

Unkwntech
PHP really is pretty bad. But it's great for actually getting something done.
smo
PHP is not bad it just has to many bad programmers.
Unkwntech
PHP is BAD!! But still, it has its place as a first language for web development. (I think the first langauge should be the dirtiest one, because it then forces you to be aware of all the dirty low level stuff).
hasen j
PHP most certainly is not, and I say that because no one can provide hard, evidence that it is. There is alot of poorly written PHP code, but that is not the fault of the language that is the fault of the person who wrote the code.
Unkwntech
I'm sorry but PHP sucks.http://maurus.net/resources/programming-languages/php/
the_drow
@the_drow that article was written 02/12/2006 and many of the points listed are invalid.
Unkwntech
+3  A: 

I just had enterprise versus opensource in mind (where enterprise=good because opensourse=bad), but now, this question bothers me the most:

"What programming religious argument bothers you the most?"

DV
A: 

Source Control:

Branch and Release Vs Branch Develop & Merge

Martin York
+26  A: 

Mac vs PC, especially from people who don't know how to use either one well

name-brand vs clone, especially when the hardware is all made by the same offshore manufacturer

scrum vs xp, especially when this is an excuse for not getting things done

microsoft vs not-microsoft, especially when this is fueled by programmers who aren't very good in the first place

but my favorite is still the-only-language-i-know vs the-only-language-you-know

Steven A. Lowe
+1 for recognizing that a lot of language arguments are based on ignorance.
Doug McClean
+1  A: 

The "not invented here" argument is really tiring. Especially when it results in someone deciding to reinvent some complex concept and you know that there is no way it is going to be better than using existing implementations.
If it's not a core business and there is an existing implementation that is free or reasonably priced don't invent your own!

David Holm
+8  A: 

Saying that a language is better/worse because it uses semicolons/indentation. (i.e. Python vs. C-like languages).

asterite
+3  A: 

Curly brackets on the same line as method declaration (or if /try/catch/etc) or next line.

Omar Kooheji
Not on the same line nor on the next line? Where do you put them then?
Adriano Varoli Piazza
+3  A: 

Using huge Enterpris-y logging / auditing frameworks for even the most simple tracing task.

The configuration complexity of some of these frameworks boggles the mind, and if you need to do something slightly different than the framework provides (for example, DB logging and the provided formatter/listener/whatever has a horrible implementation) - I now have to write a CUSTOM bit ontop of a gangly framework for what? So that we can say we use log4whatever and pat ourselves on the back?

They certainly have their place, but like most religious arguemnts my point is that their place isn't everywhere.

scotta
+6  A: 

What I don't like is someone who opens with the "I don't want to start a religious war here, but, ..." gambit followed by something they know is inflammatory.

Often, they'll layer in the evasions with other moves like "I'm just curious why you feel..." or "It seems contradictory to both ... and ..." or "Why does ... work so poorly?"

All of these are usually revisions of "I prefer [X]; you have no compelling evidence to the contrary, neener-neener-neener."

How about just present the technical merits (whatever they are) and the all-important personal biases, and leave off the opening gambit?

The few people that are actually curious never seem to play the "religious argument" card. They just ask.

S.Lott
+10  A: 

If you don't know <foo> then you don't really know how to code.

plinth
Well I have a "friend" who will not understand what a method is, or a property, or a thread ... but he's a "programmer" ... he claims to know pretty much everything except what they are called. Let me give you a hint, pretty much the only thing he knows how to do is "dim" something :) I upvoted this because I know the context in which it was meant.
Nippysaurus
+10  A: 

Java is slow

+1  A: 

I've come to believe that "choosing the best tool for the job" is a religious argument -- and one that irritates me to no end. I mean, clearly you can't write a driver in python, or a web application in C...

... but the choice between perl/ruby/php/python tends to be a matter of personal taste rather than which "tool is right for the job." I wish people would realize that personal taste is ok and these tools tend to cover all the same jobs. I prefer vim over emacs too, ymmv.

jettero
actually you CAN write a driver in python and a web application in C but you shouldn't
hiena
If your web application is to run on an embedded device, then C may be the best tool for the job.I agree that some room must be made for personal taste, but I can't say I agree with the OPs main point - that pragmatism is a religious argument.
Ben Collins
Didnt Code Complete quote a study that said programmers are 3X as productive in the language/enviroment they are good with? Then yes, in that case personal preference trumps "best tool for the job" any day.
Neil N
@Neil: no, not really. Sometimes experience and/or comfort with a tool is the most important factor in determinining the best tool (as is often the case when trying to choose between the Java stack and the .NET stack, for example).
Ben Collins
A: 

"Language wars are for morons", to quote a developer I once worked with.

Rob
+1  A: 

My language is better because I know it, know yours, and thus your wrong. Okok, a bit over exaggerated. But the point is, I hate wars fuel'd when it comes down to some opinionated effort to push some newer technology on the point that, "I like it". AKA Language Holy Wars.

Drives me crazy... especially in a academic sense where your voice often gets washed out.

Rev316
+1  A: 

The brace style religious debate. Everybody knows that the One True Brace Style is braces on newlines! Why do they persist in putting them inline? And what's wrong with those Python people?! :-)

fatcat1111
A: 

It's all about C/C++.

mnml
A: 

Several things:

  • open source vs closed source
  • Linux vs Windows
  • GC vs malloc/free
Zifre
+1  A: 

"It's a Microsoft world! I haven't used any non-MS software, though. Come to think of it, all I have used is ASP and Access."

"PHP sucks. Also- I haven't used it in a year or so, but that doesn't matter."

"HTML / CSS / JavaScript is the bane of my existence!"

Adrian
+1  A: 

Indentation and brace alignment rules anoy me. Any decent editor allows you to reformat the code to your personal style, then you can just have a pretty print program run on every checkin so that whitespace doesn't show up in diffs and the code gets checked out in a consistent fassion.

Jared
why the down vote... this seemed quite reasonable to me... this being said..., the pretty print should still render the code in a consistent human readable fashion though... +1 at least to cancel out the downvote
Newtopian
+14  A: 

That goto statements should never...ever be used.

Anthony Cuozzo
Eh, Phil... That's one I happen to agree with.
Steve
@Steve: Who is Phil?
Anthony Cuozzo
but what about windows batch files? O.o
Nippysaurus
That's a legit one... except in languages where they are bloody near unavoidable. Or where they are the equivalent of subroutines (Assembly anyone?)
Daniel Bingham
@Alcon: So how do you abruptly break out of deeply nested loops in C?
Anthony Cuozzo
@Anthony You don't have them. Deeply nested loops are a serious warning sign. Break it up into multiple functions.
Daniel Bingham
@Anthony Or else reexamine your algorithm and come up with a new one.
Daniel Bingham
+2  A: 

general tool(language,IDE,platform,whatever) selection

as an example OOP has been pushed so hard as being the best thing ever that it gets bent and twisted to fit a problem that a procedural model fits better. Ironically usually resulting in code that more complicated and less extensible than it would have been if built under procedural model. choosing a tool because it has a "object oriented!" marketing gimmick/buzz word attached without real discussion of how or why it makes something better is something i've seen several times. The reverse is of course equally as bad, however i don't see it often as it seems everything is OO these days.

in general i see a lot of bending of problems to fit a tool because its "in" or "new" or whatever other reason comes up.

choose the tool that fits the problem, don't redefine the problem to fit within a prematurely chosen tool set.

+1 for the OOP note. I have nothing against OOP. It's an extremely useful paradigm.. It's just that it's not the **only** right way to program.
dsimcha
A: 

Semantic arguments annoy me the most. If I say "Open Source", someone else says "No, free software!!", then a diplomat comes along and says "Just call it FLOSS, make everyone happy!"

Likewise, the reverse of that is true.

I think it takes time away from actually understanding how people want to use their computers, which is what we should really be doing.

This is separate from the license wars, its just nit picking on a term. I can say "cheese" or I can say "cheddar", you know what I'm talking about either way.

Tim Post
+5  A: 

The one i particularly hate is:

"Every time you use a global variable, a kitten dies".

I know its not "entirely" correct, but c´mon, everything depends of its context.

Tom
A kitten doesn't die! That's what happens when ..
bobobobo
A: 

I'm personally very fanatical about Java and the commercially-friendly open source, even though I know its not all panacea made in heaven.

And I hate the whole meaningless sphere of rules, patterns, conventions, standards, etc that come with little reason to back them up, except for "you must apply this pattern coherently or follow that rule adherently or else you're doing it wrong".

I am a very practical person, and if the rules tie my hands for nothing, I just bend them or throw them out altogether.

I have no patience for fancy doctrines, so if I ever need to submit my soul, I can always turn to money (maybe religion?)

BakerTheHacker
+1  A: 

"Code must be unit tested"

But what annoys me most about that line, is that i believe in it myself!

:-)

raoulsson
+2  A: 

Not that there must be unit tests, but that development MUST be TDD.

Anon
+1  A: 

Native vs. Managed Code

Gerard
A: 

Design patterns. Sigh.

Justicle
A: 

C++ is faster ( and better ) than C#

Yassir
But C++ IS faster then C# due to the nature of Native vs. VM
the_drow
A: 

Let us not forget the great Design Patterns Debate! With the "don't re-invent the wheel" camp lined up against the "patterns are so over-rated" set.

JustJeff
A: 

Hungarian notation or not debate.

Daok
+2  A: 

.NET = Microsoft = Evil. Java/PHP/C++/etc. is better!

Nicholas H
+1  A: 

Agile Programming vs anything.

Agile programming is great. We use a form of it at work - but I cringe reading about sprints and scrums and whatever other religious dogma comes from the Agile Manifesto. There are a lot of good ideas there - but they can be implemented in a number of ways and [gasp/] with varying terminology.

Ben Collins
A: 

I am an agnostic. I believe the right answer is out there somewhere, but I am just not sure what the right answer is.

Joel Marcey