in reply to Roads to Perl
Emacs also replaced Dreamweaver eventually but that's another story
I came from the other direction: Emacs lisp was the language I'd been using the most, but there was this little problem: elisp is *great* for doing stuff that requires user-interaction anyhow, but for fully automating things, it leaves something to be desired. Running an Emacs lisp script from a cron job, for instance, is theoretically possible but a real pain. Before elisp I'd been using QBasic and Inform, but there are things you can't do with Inform, and QBasic is missing some useful high-level structures and has some unfortunate limitations on program size. I could have moved to QuickBasic, but I had student loans to pay and was feeling cheap, and in any case QuickBasic seemed to be something Microsoft was phasing out (in favour of VB, which I already knew I hated), so it didn't feel like the right future for me.
I was also in the process of making other transitions. The thing that lead me to Emacs was the need for an editor that was cross-platform. I'd been playing around with Linux, in a multiboot setup, but it was hard to get anything useful done without a knowing how to use a text editor. I couldn't even navigate and read files in vi (this was on Debian 1.3, and vi didn't understand the cursor keys out of the box), but in Emacs at least most of the cursor keys worked (although home and end did catastrophically wrong things) by default. So I picked up a copy of NTEmacs and installed that on my Windows 95 system and started learning it in my spare time. I downloaded a copy of the Gnu Emacs Lisp Reference Manual, and I was on my way to platform independence. Eventually I also had to learn Gnus, so that I could ease myself off of Pegasus Mail. Once I gave up Pegasus Mail, there was no longer any reason to boot into Windows.
That's another reason I chose Perl. It was inherently cross-platform, and people who used multiple OSes spoke well of it. I knew I could write stuff in Perl under Windows and take it with me to Linux, with only minor changes (e.g., changing hardcoded filepaths). (Later I learned to write so that no changes were necessary.)
|
|---|