Having to do a lot more programming at work than I would like leads me to believe that I need to perform some serious self-study in being a “real” programmer. I have chosen Python for this task.
I don’t mean that PHP and Cold Fusion (I prefer the former, but the latter is deeply embedded at work) are unsuitable for this task, but I think learning a language that is deeply object oriented in nature and forces a clean structural approach in both syntax and concept will be good for me. I’ve never really gotten OO programming beyond a superficial level and I’ve never really tried to learn enough about programming to be a danger to others. In the end, this will make me a better PHP programmer too, particularly when PHP 5 is out in the wild, which apparently has a much better OO framework.
Perl was a consideration as well. I always have fun playing with this fascinating language. But like PHP, the upcoming version seems like it would be a better fit than what is currently available, and having more than one way to do it is a double-edged sword on which I find myself frequently being cut.
I’m going to use Vim too. I’ve always been an Emacs kind of guy, but sometimes it isn’t available or it is too slow… and Vim is small, fast, and seems to run everywhere without a lot of tweaking. Much to my amazement, I am starting to enjoy editing this way. I don’t know that it is intrinsically more productive, but it has been fun learning a new approach to editing.
Vim is intrinsically more productive if, and only if,
(1) You become familiar with its full suite of editing and movement features (or at least a significant percentage thereof),
(2) Your projects are such that you make use of the full range of editing and movement features, and most importantly
(3) You become facil with the home-key-based commands rather than using arrow keys and functions as you would have in emacs.
It is unsuprising to me that emacs users find vim to be unproductive and vim users find emacs to be unproductive, however, I would be willing to stake money that a vim superuser would outperform an emacs superuser (who typed at the same WPM) in tasks that required significant cursor movement and editing, especially if the task were restricted to a terminal (but even if it wasn’t).
Well, Vim is an editor (and excels at that) and Emacs is an environment. I am finding already that I use them in different ways. If I just want to edit a file, then Vim is light on its feet and immensely powerful.
But if I am working on a big LaTeX document, it has nothing that compares with Emacs + AucTeX + RefTex which is an environment in which editing is one part, but so is multi-document navigation, referencing, and syntax checking, compilation, previewing, and output.
Vim has a decent LaTeX package, but it’s not the same. Which isn’t a bad thing! Sometimes one wants to edit, sometimes one needs an IDE.
So, I would imagine you are right when it comes to Vim vs Emacs in regular editing. But add in a cycle of compilation, preview, shell work, etc. and I think it becomes a lot closer and in some cases a win for Emacs because of its specialized additions.
They’re both good and I’m enjoying using each…
I think you have the difference exactly.
Vim all the way baby – Emacs is for nerds like Stallman (Why does that fucker always appear in public with food stains on his shirt?