Here's the situation:
- student ssh's into an AWS virtual machine (I call it an "eBox");
- they write or edit some code to solve a problem I've presented; and
- once they're happy that it works, they click 'check' on the course website. A daemon sitting on their eBox parses and runs their code, generating feedback on any errors or omissions in their code.
It's essential that you learn Vim if you want to be a Perl developer.This is because it comes with virtually every Linux/Unix installation - the most common hosting platform for Perl applications. And why is that important? Because you can ssh in and edit your code on the box where it runs*. That's what makes software development and debugging with Perl and other dynamic languages like Python and Ruby much faster than compiled languages like Java, C, C++ etc.
That said, I completely agree that getting started is painful and frustrating. So - where do we go from here?
- UPDATE: This is the place to start http://linuxconfig.org/vim-tutorial (thanks Yoda)
- This is a good cheat sheet to work from: http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
- Once you're sold on it http://perltv.org/v/vim-for-perl-development shows you Vim on speed where you can open the bonnet and turn it into a sophisticated, personally tailored IDE (thanks for pointing this out Gabor!)
Any other resources you can suggest would be appreciated.
* For legal reasons I restrict this claim to early stage test deployments rather than production environments!
you've hit the nail squarely on the head with the remark that you can guarantee they'll be a copy of Vim (even if it is a symlink called Vi) on every *nix box in creation.
ReplyDeleteBesides, once the bug bites you with Vim, it's a lifelong, very happy relationship ;-)
On re-reading my assertions above it I realize it sounds rather dictatorial. I want it to be known that I also have Emacs and pico on the eBox - acknowledging that a student shouldn't have to learn everything at once:)
ReplyDeleteI've also had some helpful feedback from the Ruby and Python communities reminding me of this: https://www.ruby-forum.com/topic/4422937
vim resource suggestion:
ReplyDeletehttp://linuxconfig.org/vim-tutorial
Thanks Yoda - my suggestions here (and in the Perl Essentials course) have been duly updated!
ReplyDelete