3  Platforms

3.1 Cross-platform principles

The details differ across operating systems, but the broad goals stay the same:

  • keep the base system stable
  • install developer tools through clear package channels
  • prefer documented setup over ad hoc clicking
  • know where configuration files live
  • avoid unnecessary administrative complexity

3.2 macOS

macOS offers a strong Unix-like environment with broad support for scientific tools. A practical baseline includes:

  • Xcode Command Line Tools for compilers and developer utilities
  • Homebrew for package management
  • iTerm2 or Terminal for shell work
  • Visual Studio Code, Zed, or another serious editor

Strategically, macOS is often the smoothest path for people who want Unix-style workflows with minimal friction. The main tradeoffs are cost, hardware repairability, and occasional tension between vendor security controls and low-level toolchains.

3.3 Windows

Windows can support excellent scientific computing workflows when approached deliberately. The key decision is whether to work:

  • primarily in PowerShell
  • primarily in Windows Subsystem for Linux
  • through mixed Windows and Linux-native tools

For many researchers, WSL provides the best bridge to the broader Unix and Python/R ecosystem. That said, native Windows tools remain important for Office-heavy environments, institutional software, and some GIS or modeling packages.

3.4 Linux

Linux gives the most direct access to Unix-style workflows and fine-grained system control. It is especially strong for:

  • server-side work
  • high performance computing access
  • scripting-heavy workflows
  • reproducible package management

Its main challenge is not capability but support burden. You gain control, but you also take more responsibility for compatibility, drivers, hardware configuration, and troubleshooting.

3.5 A practical decision rule

Choose the platform that minimizes friction for your real constraints:

  • institutional requirements
  • software dependencies
  • collaboration needs
  • comfort with system maintenance
  • hardware budget

If you are starting fresh and want the most generally teachable path, a Unix-like shell environment is the strongest foundation. That can mean macOS, Linux, or Windows with WSL.

3.6 Standardize where it matters

In a mixed-platform lab, aim for consistency in:

  • directory conventions
  • shell commands where possible
  • version control workflows
  • project structure
  • data storage patterns
  • backup and retention rules

That consistency matters more than forcing identical machines.