An interesting meme I've encountered a number of times amongst c#/Java programmers:
Low Level c/_asm programmers are 'smarter' than the rest of us. Kernel hackers are psuedo-gods.
Ok, I've worked with a wide variety of programmers. Embedded programmers, Driver developers, EE/ board designers, Windows Programers, Unix 'hackers', Java devs, .NET developers, etc.
One of the things that I've noticed is that each developer usually considers his technology superior, and others just don't get it.
Actually, I think that they are all correct. Or all incredibly wrong. Take your pick.
Embedded Developers: Can hack 'C' like there's no tomorrow. Typically push memory around like it's ice cream. These developers excel at handling low- and out- of memory conditions. You'll rarely see an Embedded programmer fail to handle a memset failure (or new(), though that command would be rare..!). My experience is that C++ is a major leap for many embedded developers, and Classes are certainly a difficult construct to grasp.
Driver Developers: (See Embedded Developers)
EE / board designers: It always amuses me when EEs think that they can both design the board, and write software for it. Truthfully, you can be successful at one or the other, but not both. In my experience, EEs really don't understand the concept that the hardware actually does fail. Usual shortcomings amongst these developers include a failure to handle error conditions, and a lack of understanding of higher language constructs such as events, classes, and exceptions.
MFC/ATL/Windows developers: These programmers present an intimate knowledge of the arcane structures, return codes, and other esoteric knowledge required to leverage the Win32 API. Unfortunately, these engineers are too stuck in the middle - too high in the food chain to know everything that's going on underneath them, but too low to be able to excuse that lack of understanding.
Java Devs: They really wish that "Write-Once, Run Everwhere" had some actual truth. Oh, and real runtime supported generics would be nice. Hacks need not apply.
C# Developers: Trying to be more respectable than VB.NET, these developers strive to impress everyone else with there knowledge. Eschewing VB.NET's "My" namespace, most of these developers would rather pretend that they code everything on their own. However, the .NET GC is there to pick up the errant memory leacks that c# developers enevitably 'cast' aside.
VB.NET developers: I refuse to touch this flamebate language. I won't even say the obvious. Draw your own conclusions, please.
Unix 'hackers': Major flaw: There really is such a think as 'best tool for the job'. Sometimes that tool is *nix. Sometimes it really is Windows. /. Readers need not apply.
Did I miss your pet language? (LISP, Ruby, Python, PERL, Delphi, VB, PHP,......)
There was a reason for that - no one cares. Least of all, me.
Have a good language war - see you next Armageddon.