views:

405

answers:

7

At work (a mostly Unix development shop), I've had an OS X box for the past 1.5 years and a Linux box before that. Due to various circumstances, I'll be getting a Windows XP laptop in the next few weeks. I'm of mixed feelings about this - it's good in that, as a manager, I'm used to running a Windows install (via Parallels) for Excel, Outlook, etc., but it's bad in that I'll miss all of the Unix tools available on OS X.

So, my question to you (community wiki perhaps?) is: What sort of tools would a Unix developer find handy when using a Windows machine? I'd like to be able to do some development on the machine (Perl, mostly), and also easily remote to other (Unix) machines. Here's what I've been recommended so far:

Editor: gvim

SSH: PuTTY

+7  A: 

Cygwin

Linux-like environment for Windows making it possible to port software running on POSIX systems (such as Linux, BSD, and Unix systems) to Windows.

Stu Thompson
+8  A: 

You want cygwin -- and secondarily, for when you absolutely have to work in a CMD.EXE console, unxutils.

Alex Martelli
+1 - I really like unxutils
inkedmn
Accepting you because of the unxutils link :)
Chris Simmons
+1  A: 

Cygwin gives you Unix command-line tools in a Windows environment.

pavium
+2  A: 

Is your laptop good enough to run a VM? That will certainly get you the best of both worlds.

Chris Sobolewski
The laptop will be a brand new machine, so specs won't be a problem. I've considered a VM, but being able to save the cycles and RAM and work without virtualization is preferred. Good thought though :)
Chris Simmons
+4  A: 

Try MinGW, the Minimalist GNU for Windows. Here's a list of GNU tools they offer: http://sourceforge.net/projects/mingw/files/

This includes things like bash, sed, awk, grep, cut, and other familiar GNU tools. Perl is in there as well. I find it a good light-weight alternative to Cygwin.

Yawar
This sounds very interesting... I wonder why I never heard of it before? Some of its parts go back to 2002. Definitely worth a look.
pavium
Hey, yeah, there's some interesting work in there. They got a boost recently because the Windows release of Git relies heavily on Msys (basically a bash console).
Yawar
Oh, there's finally git for windows? Excellent!
Chris Simmons
A: 

Better yet, when you install cygwin select the packages openssh, perl and emacs. Then install ssh daemon using ssh-host-config -y and follow instructions. Now you can ssh to your Windows machine from your Linux box, happily use vi or emacs and develop in Perl, run your perl code, or any other command line Windows exe, or Java or Python, etc. as long as they are console apps (vs a graphical one).

Murali VP
+5  A: 

On windows, you will miss the great GNU/Linux/Unix tools like sed, awk, wget, grep, tr, locate, file, dd, diff,

I wouldn't recommend cygwin though, I prefer native tools.

You can find native ports of the GNU tools at http://gnuwin32.sourceforge.net/

Then you need a decent syntax highlighter, notepad is just an antique. Geany is best on Linux, and there is a windows port: http://www.geany.org/Download/Releases

There is also a windows port of The Gimp, free and opensource, offers the same and more functions as adobe photoshop (but with another interface). It's modest bit more difficult to use, though. http://gimp-win.sourceforge.net/

For a C/C++/Lisp/Ada compiler and makefiles, you need MinGW, Minimalist GNU for Windows, together with msys (a linux like console). Unlike cygwin, mingw and msys compile native win applications.

Windows doesn't have Perl installed by default. You can download a free Perl interpreter from http://www.activestate.com/

Finally, you could install CoLinux, with which you can run Linux apps. on Windows. CoLinux is hard to install, AFAIK, and you can mess up your computer if you don't know what you do.

If you have Vista Ultimate or XP, you can install SUA/WSU, Windows Services for Unix. On Vista, it's in the OS Components tab under add/remove software in the control panel On XP, you must download 300 MB from Microsoft.

Quandary
Thanks. Perl I've got (I work for the company that used to own ActiveState...), but thanks for the other tips :)
Chris Simmons