Functions with entirely too many parameters
Functions with parameters which would have better been implemented in a structure passed as a single parameter
Functions or variables with entirely too many underscores
Conflicting styles within a single piece of code
Languages which change too often and introduce huge compatibility problems every time they do
Editors with entirely too many cryptic commands
Unnecessarily cryptic code or languages
Blind zealots (metaphorically speaking)
Difficult-to-configure software
Incompatible hardware
Example code which is incorrect
That Alt and the "Windows Key" on the keyboard are not reversed
That Dvorak isn't "standard"
That people think .NET is comparable to Java
Coding without concern for RAM
Coding using features built exclusively into the newest hardware or operating system without any fallback routines
Hardware which can be damaged by software
Arrogant programmers
False advertising
Posted on 2004-06-08 19:28:36 by ShortCoder
So you are basically saying you despise OOP?
Posted on 2004-06-08 19:51:35 by SpooK
i think .NET is the worse idea since MFC/ATL.
it is so horrible i can't even begin to imagine how stupid it is.

ok well today i decided to install the .NET framework, because a program i found required them, so i thought "what the heck, how bad is it going to be", and went ahead to install it. After installing, i noticed a drastic lag spike, that didn't really go away (i have a shitty computer btw, just so you guys are wondering), so i checked the process list, and each of the processes were running a 2-3x the RAM they normally executed at (explorer.exe took some 40megs, iexplorer 20megs, etc.) , and considering the fact that i only have a measly 256sdram, that slowed down my system quite a bit. deciding to continue, i ran the program that required the .NET runtimes, despite the fact that the GUI was simple (just a basic listview/treeview), every action i did lagged, and the program itself took ~10meg ram (it was a relatively simple GUI too...).

so i quickly uninstalled the .NET runtimes, rebooted, and voila i'm back to my old state.

if .NET becomes popular, i should seriously consider switching to linux/bsd as the main operating system to use, .NET is like collectively promoting RAM-eating low-performance programs that demand fast hardware or something.

Posted on 2004-06-09 00:51:03 by Drocon
.Net isn't so much a bad idea as the implementation Microsoft gives it. Under competant control it could be a very good tool, unfortunately it has given way to the result of the OOP style of thinking... sacrifice speed for ease of programing. The upside to large software corporations is the solid implementation of good ideas and good software, the downside is the solid implementation of bad ideas and bloated software.
Posted on 2004-06-09 01:45:42 by SpooK
For me OpenGL and Delphi pretty much sum it up :P
Posted on 2004-06-09 03:03:21 by Scali

That Dvorak isn't "standard"

Do you use Dvorak then? I switched over about 3 months ago, it's great!
Posted on 2004-06-09 05:22:50 by stormix
That Alt and the "Windows Key" on the keyboard are not reversed
That Dvorak isn't "standard"
That people think .NET is comparable to Java

These are the only three that I don't really agree with.
The alt/windows keys never bothered me personally (and yea, I have used non-Windows keyboards before :)). I never gave it any thought, really. I only hated it when I wanted to play Doom, and the Alt-key was not where I expected it to be. I used to play on the right side of the keyboard, with the arrow keys and the ctrl-shift-alt-space besides them with my left hand. It was now harder to reach alt and space. But well, it was only a game, so it doesn't count :) I never had any problems adjusting with coding and such.

Dvorak... never managed to convince me. There's no real proof that it's actually faster than Qwerty anyway. I think it's mostly used because of the geek-factor (quite popular in linux-circles for example). I tried it for a while, but it appeared would take far too much practice to get to the speed that I got with Qwerty, that I didn't bother. Besides, there was no guarantee that I would ever become faster than I am with Qwerty. There are a few disadvantages aswell... Unless you buy a Dvorak keyboard (what a waste of money), you do not have a simple way to look up where keys are. And most people do not know Dvorak, so they cannot use your computer. I found that pretty annoying myself... I would want to assist someone who used Dvorak... So I wanted to just type something so I could demonstrate what I meant. And I couldn't. That is incredibly counter-productive. Sometimes it's just not possible to explain someone what you mean without just showing it. I would say: Qwerty for everyone, death to Dvorak!

And what exactly do you mean with .NET and Java? Obviously there are a lot of similarities between the two (look at the bytecode used in the VMs. MSIL is almost a carbon-copy of Java bytecode, they just improved it here and there, but that's progress). Is it that strange that people think they are comparable? In many cases, they actually are. .NET just goes beyond what Java can do.
So what exactly did you mean to say?

every action i did lagged, and the program itself took ~10meg ram (it was a relatively simple GUI too...).

Question is: how much of that is due to .NET itself, and how much of that is due to bad code on behalf of the application developer?
Posted on 2004-06-09 05:56:10 by Scali
humm, haven't done .NET myself, but friend of mine said that indeed .NET apps take pretty huge amounts of RAM, and seems to be slow (he did some .NET style XML transactions or whatever, iirc). But I guess those can be improved on...

so i checked the process list, and each of the processes were running a 2-3x the RAM they normally executed at (explorer.exe took some 40megs, iexplorer 20megs, etc.)

So, installing the .NET framework caused all your non-.NET applications to take up much more ram? This sounds very strange... I didn't notice this back on 2k, and on XP my figures aren't this high (~14meg for IE, ~23meg for the explorer instances used for my shell) - and a high amount of this memory usage is for shared DLLs, so it isn't really that bad.
Posted on 2004-06-09 09:04:29 by f0dder
IE/Explorer don't use .NET by themselves.
Installing the .NET framework should have no effect whatsoever on your PC, unless you also run .NET applications.
You can notice that the first time you start a .NET application on your PC, it will take considerably longer. That's the .NET VM/runtimes getting loaded for the first time. In current Windows versions they don't remain resident either, so closing all .NET applications should be enough to make your system go back to its original state.
Posted on 2004-06-09 09:24:40 by Scali
Interesting article about the Dvorak keyboard:

Also if you enable the language bar you can swap easily between layouts.
Posted on 2004-06-09 14:10:00 by stormix
Also if you enable the language bar you can swap easily between layouts.

That assumes someone uses Windows, and already has it set up that way. Neither would apply in my case.
Posted on 2004-06-09 15:56:43 by Scali
i don't think it's just OOP...
he also doesn't like vi ("Editors with entirely too many cryptic commands"), brainf**** ("Unnecessarily cryptic code or languages"), people who don't like coffee ("That people think .NET is comparable to Java"), and myself ("Arrogant programmers"). although i don't think the last thing is warranted :alright:
Posted on 2004-06-09 16:24:28 by jademtech

That assumes someone uses Windows

There are instructions for other OSes here

For instance, if you're using X you can set it up so you can switch easily using aliases then aoeu or asdf switch layout so all you have to do is press the left 4 keys.

But yes the fact that most people use qwerty is a big disadvantage of dvorak naturally; ShortCoder did say "That Dvorak isn't 'standard'", though, so if that were true, then it wouldn't be a problem.
Posted on 2004-06-09 16:44:01 by stormix
Dvorak is said to be better for writing english... but what about programming? are []*/-+^&\_@; fast&easy to reach?
Posted on 2004-06-09 16:48:04 by f0dder
There are instructions for other OSes here

So if I want to help someone, I first have to google for instructions how to use Dvorak (without having proper keyboard access?). No, this doesn't work at all.

if that were true, then it wouldn't be a problem.

Then you'd just reverse the situation. Linux nerds would probably start using Qwerty, and it would be equally useless as Dvorak is now.
Posted on 2004-06-09 17:01:54 by Scali

Then you'd just reverse the situation. Linux nerds would probably start using Qwerty, and it would be equally useless as Dvorak is now.

If Dvorak were the standard there'd be no reason to use Qwerty, the fact that it is what everyone uses is pretty much its only benefit.
Posted on 2004-06-09 18:07:21 by stormix
yeah, seems that .NET framework loads itself in every running process, a dll. sucks, alot heh.
Posted on 2004-06-09 21:06:35 by Drocon
Drocon, sounds weird... I haven't seen those symptoms, neither on 2k nor XP. Besides, as scali said, .NET framework should only be loaded if you run an app that uses it. And why would it inject itself into every running (non-.NET) process?
Posted on 2004-06-09 22:22:28 by f0dder
If Dvorak were the standard there'd be no reason to use Qwerty, the fact that it is what everyone uses is pretty much its only benefit.

How is this different from now? I mean, there is no reason to use Dvorak either (don't give me the "it's faster", or "it strains the hands less", since firstly that assumes that you type mainly English text, and secondly, even that is still debatable. For example, the world's fastest typist uses Dvorak... but is she the fastest typist because she has that physical ability, and would she also be the fastest if she had used Qwerty, or did Dvorak contribute to it? Hard to prove, since she most probably is not as well-trained in Qwerty as in Dvorak anyway. Anyway, I don't type English texts mostly, since I'm not English, and I'm not a writer), since Qwerty is the standard.
Posted on 2004-06-10 02:24:27 by Scali
I wouldn't exactly say that I despise OOP but I do think it is overdone at times. It isn't as efficient as structured programming (because you have to load objects in order to get pointers to functions which then may be called on those objects whereas in structured programming you eliminate those steps and just call the functions directly--it is a case of indirect vs. direct). OOP is okay--it isn't best suited for speed-critical things however. An interpreter for an OOP language should not be written in OOP, however. I do think programmers should be taught the old ways first before OOP.

Perhaps hatred of OOP was assumed because of my statement of coding without concern for RAM but that has more to do with the individual coder than it does OOP. If you are always allocating memory (whether aware of it or not) and holding on to it for long amounts of time without recycling often (which is easy to do in OOP) then, yes, that is bad. Also memory leaks are very very bad (not always the programmer's fault, though, as it could be some faulty third-party library or OS functions which leak internally). I despise automatic garbage collection without any programmer-callable flush mechanism, however. I don't like bloatware.

I do agree that .NET, MFC and ATL are all bad ideas.

As far as the .NET runtime slowing down the system even when no .NET programs are running, I haven't noticed that. All I can say is it doesn't do that to me on WindowsXP. Perhaps try disabling any unnecessary servers--those take up memory (XP has a LOT of unnecessary servers running by default--if you don't use the things they are designed for, disable them--reclaim your RAM;))

As far as .NET and Java not being comparable, well, let's think about that for a minute. What were the design considerations? Java was designed to be cross-platform on as many platforms as possible. .NET was designed to be "cross-platform" on recent Windows platforms with some things released so that others could, in theory, port it to other platforms but are programs using it really going to be portable to anything other than Windows? I mean there are so many Windows-centric things built into the foundations it isn't even funny--especially all the registry-related stuff. They are both slow, with .NET being a tad faster than Java but the downside is a .NET Windows program is only going to run under Windows whereas a Java program can run on...almost everything;) Also, as stated, perhaps .NET would not have been so bad had it been implemented by someone with a more cross-platform mindset but it was instead implemented by someone who had a mindset that "cross-platform" meant only "cross-Windows".

As far as Dvorak, yes, it was designed to ease stress on fingers as you type. YES, in fact, ALL of []*/-+^&\_@; are quite easy to type/reach in Dvorak. *^&\|@ are all in the same place as in QWERTY, BTW. QWERTY was designed to slow typists down (on typewriters, so as to not get the keys stuck) whereas Dvorak was designed to ease finger stress AND to improve typing speed. Since we no longer use typewriters but use keyboards instead, there really is no advantage to QWERTY and the advantage has become obsolete;). Unfortunately, because of lack of understanding and because of lack of teaching of Dvorak, people do not understand why it would be better and, also, unfortunately, some people tend to make up their own minds on an issue without ever trying a new thing. To anyone here who said QWERTY was superior to Dvorak, I ask you to learn Dvorak, use it for a week, then go back to QWERTY if not fully satisfied;)

The simplest way to learn Dvorak is to have a quick way to switch between Dvorak and QWERTY, find a picture of the Dvorak keyboard layout on the Internet, get a small image viewer application, open that up with the picture there and THEN open up the program you are going to use (not fullscreen, of course), switch to Dvorak, and look at the picture as you type. You should be able to learn it in less than a day and gain your speed by the next day. (at least I was able to). My fingers thanked me over time;) By personal experience I will have to say it really does ease finger stress. I don't type any slower in Dvorak than in QWERTY either and, contrary to what has been written (that you can't competently learn BOTH QWERTY and Dvorak), I can competently type in either one at an astounding rate;). It's really easy--just give it a try:D And, yes, I use Dvorak;)

As far as vi and emacs, yes, I don't like either one. Emacs is the worse of the two, however. At least I can (if I absolutely have to) get work done in vi--can't say that about emacs. (Yes, I realize if I spent a lot of time to learn all of the emacs commands then I could get work done in it too but, frankly, I don't think it is worth that much input just to use a text editor). I prefer something like MS-DOS edit, although pico/nano are okay. (You can actually safely edit binary data in MS-DOS edit, BTW, which, to my knowledge, you can't do in any of those others. You have to do it in base-256 but still)

As far as arrogant programmers go, know what I mean by "arrogant". Being proud of your work is not arrogant. Demonstrating your skills is not arrogant. Correcting people when they are wrong with intent to help them is not arrogant. Assuming you are right and someone else is wrong without sufficient questioning/etc to determine where the error lays is arrogant. Assuming you "know better" than another fellow coder without first hearing that other coder out is arrogant. Saying that a language is THE only language you should code in and is superior to all others without first researching each of the languages you are claiming are inferior and without good reasoning is arrogant. Refusing to code for any OS except for whichever one is near and dear to you and calling anyone who programs for any other OS "stupid" is arrogant. There are many other possible examples.

I don't really understand what was meant by " i don't think the last thing is warranted". The last thing I had listed was that false advertising peeves me. I don't like to see a piece of software say it can do one thing when it can't. I don't like to see a library say it is superior to X, Y, or Z when it isn't. I don't like when a program is advertised as taking up only X amount of RAM or Y amount of disk space when it actually takes up more (yes, even at a minimum and, yes, this happens a LOT). Why not just be honest with how much it really requires or else at least have a disclaimer that it is subject to variation depending on version. Or, just don't include that at all but simply specify a minimum suggested system and MAKE SURE the software does indeed work on that.
Posted on 2004-06-10 03:07:40 by ShortCoder