Development on Windows

| windows | programming | clojure |

Last weekend CircleCI hosted ClojureBridge and I volunteered as a TA. It was a super rewarding experience and I hope to be more involved in these types of events in the future. One thing I noticed (and I have noticed a similar trend in my previous experience as a mentor at various hackathons) is that many students and junior developers run windows.

Trying to run and develop Node, PHP, Rails, and even some Python apps on windows can be a pretty painful experience. Most developers who write in these languages use either Linux or OS X, and nearly all production applications written in these languages are running on a Linux server. In addition a lot of documentation assumes that you are running either Linux or OS X for many libraries and sample projects.

Most commonly Windows users will be encouraged to use a VM with VirtualBox and Vagrant. This is not bad advice and for most folks will probably be the best solution while you are learning. Vagrant is certainly worth learning, and I cannot stress how important it is to have a solid understanding of Linux.

However, I am stubborn enough to try to get things to work on Windows and after last weekend I consider myself a self proclaimed Clojure on Windows expert.

Common Gotchas

  1. The Windows PATH is very different from Linux or OS X.
  2. Remember that file paths in Windows use “\” while in Linux and OS X they use “/”
  3. CMD, vs PowerShell, vs Git Bash, vs Bash For Windows. Common theme is differences in the PATH. If you are used to doing stuff via the CLI, or are following some instructions online you can not typically just copy and paste.
Although Windows is generally more difficult for general FOSS development, when it comes to installing third party services and tools (such as databases, queues, app servers) it is typically easier from a beginners perspective to get started because pretty much every major service out there has a point and click GUI installer and configuration system.

There are certainly pros and cons to local windows development. I have a pretty beefy machine at home that I used to play games sometimes. I installed some development tools on it and realize that its a much more powerful computer than my Macbook Pro. I look forward to finding the edge cases and complaining about them in public here on this blog.

Thank you for reading! Share your thoughts with me on mastodon or via email.

Check out some more stuff to read down below.

Most popular posts this month

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

Ozempic For Sleep

Thanks for key conversations & early feedback: Andrew Payne, Luke Piette, George Church, Michael Retchin, Flora Guo, Merrick Smela, Misha Yagudin, Tyler Cowen, Helena Rosengarten. My favorite family in the world — the Johnsons from Utah. Many of them c…

via Isaak.net November 11, 2024

Navigations on the Web

When trying to define the difference between a link (<a>) and a button (<button>), a general rule of thumb is: links are for navigation, buttons are not. That can take you pretty far. However, like most things, there’s nuance and that mental mo…

via Jim Nielsen’s Blog November 11, 2024

Too much therapy at work

Many years ago, Jason and I hired a COO at 37signals, but ended up letting them go after just a year (many reasons, another story). This happened not long before one of our company meet-ups, so we thought it fitting to discuss the matter in-person. What…

via David Heinemeier Hansson November 11, 2024

Generated by openring