Well, I use Windows and am writing Visual Basic .NET with some ADO.NET, ASP.NET, more usage of .NET, and a little usage of C. I write command line scripts in ObjectRexx.

For how I'm typing in the code, I'm a happy camper.

I have various copies of Visual Studio and SQL Server Management Studio (SSMS). My reaction to these two: I deeply, profoundly, bitterly, hate and despise the intentions and the results.

I looked up their 'intellisense' in a dictionary and didn't see it. So, their 'intellisense' is more undefined gibberish.

Similarly for 'dockable'. It's not in my Funk and Wagnalls. So, more inarticulate, illiterate programmers making up gibberish.

When I start Visual Studio, I see tiny windows, 'panels', as sub-windows of the main window. The 'panels' are too small to be useful, and I have no hint or clue about the purpose or usage of any of these 'panels'.

No, I don't want to see language key words and my identifiers in different colors on the screen.

No, I don't want to type 'If' and have some software automatically type 'Else' and 'End If' or type 'Try' and have some software automatically type 'Catch' and 'End Try'. The idiot is that software and the fools who wrote it, not me, and I don't want to be treated like an idiot.

No, I don't want some software to reformat my code. I have some tools to format my code, and I do NOT want some 'studio' software to ruin what I already did.

No, I don't want popups, pulldowns, rollovers, or upchucks.

No, I don't want command completion or argument list suggestions.

No, I don't want a program for "Hello world" to start with some dozens of files in several subdirectories taking up 50 MB of space. And when things break, I don't want to have to figure out what's in each of those dozens of files to diagnose the cause of the break.

No, so far I've had no need for line by line interactive debugging changing values of variables, etc.

No, I don't need Visual Studio to be able to create a DLL. The Visual Basic command line compiler creates DLLs just fine with just a simple command line option that takes only a few minutes to find, learn, use, and confirm that it works.

I got told that of course I'd really need to use Visual Studio: As I made progress from command line programs in Visual Basic to a working Web site with Visual Basic, ASP.NET, and ADO.NET, there were super happy days as I learned that, step by step, I didn't need Visual Studio.

I DO like the command line Visual Basic complier: It's fast, easy to use, with meager necessary command line options, with decent error messages, so far, for me, 100% bug free, and generates surprisingly small EXE files, has no trouble finding the 'namespaces' in Import statements, etc. I'm happy.

I have used SQL Server Management Studio to inspect the results of what I did with T-SQL statements executed with the standard program SQLCMD.EXE. Still, even for system management and administration of SQL Server, I preferred to write T-SQL scripts, GREATLY preferred.

Now that I've had some experience with SSMS, I can see that it's not good: E.g., if use T-SQL to grant permissions to a user, then at least commonly there will be no evidence of that in SSMS.

Besides, at first glance SSMS is a total train wreck: E.g., Name dbo is a user, a role, and a schema, and THAT'S confusing. Then, what is in the role and the schema is not easy to discover. Really apparently SSMS is not based very directly on T-SQL but on another, Microsoft proprietary API called SQL Server Management Objects (SMO). Gee, I just want to get MY work done, for database as much as possible with just T-SQL, and for me SMO is a big detour. Thus, so is SSMS.

So, for my 'IDE', I use my favorite text editor KEdit. I've been typing into versions of KEdit for 25 years so have good facility and, thus, don't want to type into anything else. I do a lot of typing and do nearly all of it into KEdit -- blog posts, e-mail, notes, abstracts of Web pages of documentation, letters, technical papers, Windows command line scripts, KEdit macros, other code, etc.

So I'm thrilled that actually KEdit works fine for writing Visual Basic .NET ADO.NET, ASP.NET, more usage of .NET, C, etc. Still so far all or nearly all programming language source code is in just simple text -- GREAT!

Here's where IDE's go wrong:

(1) Software still has to be typed in, and a good editor is a good place to type; the editors for IDEs suck, major suckage.

(2) IDE designers believe that what the 'beanbag cognitive psychos' at Xerox PARC with 'graphical user interfaces' (GUIs) has to be the foundation for all human-computer interaction. WRONG.

(3) The IDEs are conceptually constipated and obsessed with a single 'window' into which they try to cram many 'panels'.

Instead, there is lots of 'windowing' functionality with just Windows. Currently as I type this, I have 13 windows open, arranged with the UL corners on a line from UR to LL so that I can easily find any window I want and see it without moving any windows. Net, when I write software, I have lots of windows open and, thus, ready access to much more information than in just the little IDE 'panels'.

(4) With a good editor, e.g., KEdit, I can write macros, some for general purposes, some for more specific ones. These macros are keys to my productivity.

E.g., in my code, at some point where I should have a reference to some documentation, I put a comment with the tree name of the file, often HTM, on my computer with the documentation, and then a simple KEdit macro let's me display the documentation with one keystroke.

As we know, a lot of code is really quite standard. So, with a good text editor, can readily copy in standard pieces of code. More generally, the ubiquitous Windows 'copy and paste' as the main way to copy blocks of text is not good.

In my work, in a single function, I have standard integer variables return_code, message_tag, and error_code and within the function set these values as needed. Then I have a simple macro that numbers these sequentially in the code. So, I don't have to number them myself. Then, when the code runs, I can take one of these values, look in the code, and see where the value came from. Works fine. That's too much to ask of an IDE!