One of my mate's mates is attending an ALT.Net Usergroup tomorrow night (details here if you are interested), and will be talking about coding .NET related things... WITHOUT gasp... the shiny comfort that is Visual Studio.Net. He then proceeded to tell me of this ultra-hardcore tool called 'VIM'. He linked me to website and I had to have a good laugh at what was on the About page...
What Vim Is Not?
Vim isn't an editor designed to hold its users' hands. It is a tool, the use of which must be learned.
Now, if that doesnt say 'screw you noobs', I dont know what does, and I have to admit its an understandable attitude. With Visual Studio (and its alternative counterparts) getting more, shall we say, 'bulky' with various Intellisense enhancments and the like its no wonder the hard-core clique of the old school C/C++ programmers of old are casting off the shackles of the UI heavy, drag-n-drop mentality and going back to basics. How it was when they were kids. And I say kudos. Certainly not my cup of tea, but kudos nonetheless. It takes balls to stop relying on the cocaine-like substance of Intellisense and start relying on good old fashioned memory.
In this day and age of ever increasingly difficult business requirements, little things like rememebering property names (with correct case!) not to mention method names fall by the wayside as we try to force our applications into ever-increasing spirals of complexity to conform to the way we want it to behave. I think maybe we just dont have the time. Seriously, if I tried coding without Intellisense my efficiency would plummet like the stock market in the GFC. Either that or the forcing of my already-stretched muscle memory to enter correct case would send my wrists into flames of agony the like of which I have never felt. I honestly dont know how I would function without the little luxuries like Intellisense (although in the case of RSI it almost becomes necessity). I think I would adapt... I suppose I would have to, or 'programmers natural selection' would do its thing.
Anyway back on topic (my mind started to wander), I admire what these people are trying to do. It certainly tests your memory and your true skill as a programmer (or at the very least your memory skill! :P ), which begs the question: how well do you know your code? I tend to know my code pretty well... I can usually remember the methods and general processes of said methods long after Ive checked it in to TFS (yet another of those wonderful luxuries!).
However I dont think it would work in a real-world environment, this strikes me more as a hobby-tool than any sort of serious dev tool. Not that these people arent serious, or take their product seriously (and their product is awesome), I just cant see how in a world of hardcore deadlines and ever changing requirements that we have the time for that level of detail (I cant think of a better word here, detail doesnt quite fit with what Im trying to say).
Keep in mind Im only talking about VIM here, not anything else ALT.NET related. Being relatively new to this sort of thing, I have no doubt there are many, many resources and tools out there which havent hit the mainstream and are utterly fantastic. Even VIM is pretty cool from a theoretical point of view. Its just wayyyyyyy to hardcore for me :)
I think I'll be attending this ALT.NET usergroup tomorrow night, just for something different. Who knows, maybe Ill even be converted to the VIM Side :P