问题

为什么 Mac 适合编程?

回答
Mac 为什么是程序员的得力助手?

说起程序员的工作环境,MacBook Pro 绝对是绕不开的话题。很多开发者,尤其是在 Web 开发、移动开发(iOS/Android)以及一些新兴技术领域,都倾向于选择 Mac。这并非偶然,Mac OS 系统本身以及苹果生态的特性,确实为编程工作带来了诸多便利和优势。

1. Unixlike 系统:天然的代码友好环境

这是 Mac 最核心的优势之一。macOS 底层是基于 Unix 的,这意味着你可以在 Mac 上直接使用强大的命令行工具,比如 Bash、Zsh。对于程序员来说,命令行是最高效的交互方式之一。

强大的终端(Terminal): Mac 的终端干净、美观,并且功能极其强大。你可以轻松地通过 SSH 远程连接服务器,使用 Git 进行版本控制,安装和管理各种开发工具(如 Homebrew),甚至编写 shell 脚本自动化任务。这种对命令行工具的无缝支持,让许多程序员感到如鱼得水。
丰富的命令行工具: 许多开发常用的工具,如 Python、Node.js、Ruby、Git 等,在 Unix 系统上都能够得到原生或近乎原生的良好支持。在 Mac 上安装和配置这些工具通常比在 Windows 上要简单直接得多。
Unix 生态兼容性: 许多服务器端系统(如 Linux)也是基于 Unix 的。这意味着你在 Mac 上开发的很多东西,可以直接无缝地部署到生产环境,大大减少了环境迁移带来的问题。

2. 卓越的开发体验:效率与舒适并存

除了系统本身,Mac 在硬件和软件的整合上也做得非常出色,带来了更舒适、更高效的开发体验。

出色的屏幕质量: MacBook Pro 通常配备高分辨率的 Retina 显示屏,色彩鲜艳、细节锐利,长时间阅读代码或查看 UI 设计时,眼睛的疲劳感会大大减轻。清晰的显示也能让你在代码中更容易区分各种符号和结构。
优秀的键盘和触控板: 很多人认为 Mac 的键盘手感舒适,反馈清晰,适合长时间输入代码。而其超大的触控板,配合多点触控手势,使得无需鼠标也能完成许多操作,比如在不同的应用窗口间切换、滚动、缩放等,非常适合移动办公和不方便使用鼠标的场景。
稳定可靠的系统: macOS 以其稳定性著称。虽然没有哪个系统是绝对完美的,但相比于 Windows,macOS 在崩溃、蓝屏等方面的发生概率普遍较低,这对于需要长时间专注编程的开发者来说,可以避免很多中断和烦恼。
精美的 UI 设计与易用性: macOS 的用户界面设计简洁、美观,整体操作逻辑也比较直观易懂。即使是对电脑操作不太熟悉的开发者,也能很快上手。这种易用性可以让你花更多时间在编程本身,而不是学习如何操作电脑。

3. 特定开发领域的天然优势

在一些特定的开发领域,Mac 更是拥有无与伦比的优势。

iOS 开发: 这是 Mac 最无可争议的领域。开发 iOS 应用(iPhone、iPad、Apple Watch 等)必须在 macOS 系统上,使用 Xcode 集成开发环境。如果你想成为一名 iOS 开发者,那么 Mac 是你的不二之选。
macOS 应用开发: 同样,开发 macOS 原生应用也只能在 Mac 上进行。
Web 开发: 尽管 Web 开发可以在多种操作系统上进行,但 Mac 上丰富的命令行工具、对 Node.js、Python、Ruby 等语言的良好支持,以及 Homebrew 这种方便的包管理器,都让 Web 开发流程更加顺畅。许多 Web 框架和库的文档和教程,也常常以 Mac/Unix 环境为默认前提。
前端开发: 在前端开发中,Mac 常常能提供更真实的浏览器渲染效果,并且许多前端工具链(如 Webpack、Babel)在 Mac 上的配置和运行都非常便捷。

4. 苹果生态的协同效应

如果你已经在使用 iPhone、iPad、Apple Watch 等苹果设备,那么 Mac 的加入会进一步提升你的工作效率。

Handoff 与 Universal Clipboard: 你可以在 Mac 上开始写代码,然后无缝切换到 iPhone 上继续,反之亦然。剪贴板的内容也能在所有设备间同步,复制粘贴变得异常方便。
iMessage 和 FaceTime: 可以直接在 Mac 上接收和回复 iMessage 消息,或者进行 FaceTime 通话,减少了频繁拿起手机的频率。
AirDrop: 在 Mac 和其他苹果设备之间分享文件非常快捷。

5. 社区与资源

多年来,Mac 已经积累了一个庞大的开发者社区。这意味着:

丰富的教程和解决方案: 遇到问题时,你很容易在网上找到与 Mac 相关的教程、博客文章和 Stack Overflow 问答。
成熟的开发工具: 许多流行的开发工具和 IDE(如 VS Code, IntelliJ IDEA, PyCharm, WebStorm 等)都在 Mac 上有非常好的支持和优化。

总结

总而言之,Mac 之所以受到程序员青睐,是因为它提供了一个稳定、高效、友好的开发环境。从底层的 Unixlike 系统到出色的硬件设计,再到在特定开发领域的优势,Mac OS 都为开发者提供了诸多便利。当然,这并不意味着其他操作系统就不能编程,只是在某些方面,Mac 的体验更加顺滑,能够让开发者更专注于代码本身,而不是被开发环境所困扰。对于追求极致效率和良好用户体验的开发者来说,Mac 绝对是一个值得考虑的优秀选择。

网友意见

user avatar

说 Mac 适合编程的答案总结地都差不多了,当你确定要用 Mac 作为开发工具后,那下一步面临的问题就是:拿到一台 Mac 怎么把它配置成一台顺手的开发工具了。

下面分享一下鹅厂程序猿 GG 的配置心得:

一、基本设置

  1. 升级到新版本操作系统(macOS Mojave 10.14.3)
  2. 关闭菜单栏效果, 减少资源占用和产生的热量
系统偏好设置/辅助功能/显示, 勾选 (减弱动态效果、减少透明度)
  1. 配置睡眠保护
系统偏好设置/安全性与隐私/通用, 勾选(进入睡眠或开始保护程序 立即 要求输入密码)
  1. 配置触发角
系统偏好设置/屏幕保护程序/触发角, 选择(右上桌面,左下启动台,右下启动屏幕保护)

二、工具安装

  1. Xcode Command Line Tools
xcode-select --install
  1. Homebrew
       # 这里必须设置 代理地址,否则无法安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install      
  1. brew cask list
  2. brew 安装常用工具
  1. brew cask 安装常用工具


  1. 其他工具

三、其他配置

  1. 设置 iterm2
  1. 安装 zsh,oh-my-zsh
    # 安装 zsh 及 补全
    brew install zsh zsh-completions

    # 安装 oh-my-zsh
    curl -L github.com/robbyrussell | sh

    # 编辑 /etc/shells
    sudo vim /etc/shells

    # 添加 zsh
    /usr/local/bin/zsh

    # 修改默认shell
    sudo chsh -s /usr/local/bin/zsh

    # 将环境变量移到~/.env.sh
    vim ~/.zshrc

    # 设置主题
    ZSH_THEME=pygmalion
    # 设置插件
    plugins=(git colored-man colorize github jira vagrant virtualenv pip python brew osx zsh-syntax-highlighting)

    # ls 配色生效
    unset LSCOLORS
    export CLICOLOR=1
    export CLICOLOR_FORCE=1

    # 生效
    source ~/.env.sh
  2. solarized 主题配色
    # clone 之
    git clone github.com/altercation/

    # 配置 vim 主题
    cd solarized/vim-colors-solarized/
    mkdir -p ~/.vim/colors
    cp colors/solarized.vim ~/.vim/colors/

    # 配置 vim
    vim ~/.vimrc
    syntax on
    set background=dark
    colorscheme solarized
    set backspace=2
  3. vscode 配置命令行中打开
Open the Command Palette ( ?? P) and type 'shell command' to find the Shell Command: Install 'code' command in PATH command.
  1. vscode 插件安装
  • Chinese language pack(中文语言包)
  • markdownlint(markdown格式检查器)
  • atom one dark theme(ATOM 风格主题)
  • one dark pro(主题)
  • material theme(主题)
  • vscode-icons(图标)
  • python(vscode python扩展包)
  • go(go 扩展包)
  1. vscode shell 选择,zsh
首选项/设置, 搜索 terminal.integrated.shell.osx ,设置值为 /usr/local/bin/zsh
  1. vscode python 解释器选择
⇧⌘P, 搜索 select interpreter ,选择一个 env-3.6.8
  1. vscode python lint 安装,选择 pylint 即可
  2. vscode python 自动格式化
"python.formatting.provider": "black"
  1. python 开发工具

四、 python 环境

  1. pyenv 安装
    # 安装 pyenv 参考, einverne.github.io/post
    curl -L github.com/pyenv/pyenv- | bash

    # 添加环境变量
    vim ~/.zshrc
    export PATH="HOME/.pyenv/bin:HOME/.pyenv/bin:HOME/.pyenv/bin:PATH"
    eval "(pyenvinit¨E45E)"eval"(pyenv init -)"
    eval "(pyenvinit¨E45E)"eval"(pyenv virtualenv-init -)"

    # 常用命令

    # 查看可用版本
    pyenv install -l

    # 安装 python2 最新版本
    pyenv install 2.7.16

    # 安装报错 ERROR: The Python zlib extension was not compiled. Missing the zlib? github.com/pyenv/pyenv/
    brew install readline xz

    # When running Mojave or higher (10.14+) you will also need to install the additional SDK headers by downloading them from Apple Developers. You can also check under /Library/Developer/CommandLineTools/Packages/ as some versions of Mac OS will have the pkg locally.
    sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

    # 安装 python3 最新版本 3.7.2
    # 报错 ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
    # github.com/pyenv/pyenv/
    CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl)" pyenv install 3.7.2

    # 安装 python 3.6 ,tf 支持的最新版本
    pyenv install 3.6.8

    # 安装 python2 最新版 2.7.16
    pyenv install 2.7.16

    # 创建虚拟环境
    pyenv virtualenv 3.6.4 env-3.6.4

    # 激活虚拟环境
    pyenv activate env-3.6.4

    # 退出虚拟环境
    pyenv deactivate
  2. 创建 pip 配置文件
    # 创建 pip 配置目录
    mkdir ~/.pip

    # 编辑配置
    vim ~/.pip/.pip.conf

    # 添加以下内容
    [list]
    format=columns
    [global]
    download_cache = ~/.cache/pip
    index-url = mirrors.aliyun.com/pypi
    [install]
    trusted-host=mirrors.aliyun.com

五、数据库安装

  1. 数据库安装
  1. 通过 brew service 管理此类后台任务
    brew tap homebrew/services
    brew services start mysql
    brew services restart mysql
    brew services list
    brew services cleanup

    # 通过界面管理后台服务
    brew cask install launchrocket

六、参考


更多干货,欢迎关注:腾讯技术

user avatar

人与动物最大的区别就是,人会使用工具。

下面是如何优雅的使用Mac开发之工具篇:

1. IDE

PhpStorm,收费的但绝对物有所值,世界上有家公司叫JetBrains,他们开发的IDE都炒鸡好使,谁用谁知道

JetBrains IDEs to create a better Web: IntelliJ IDEA, ReSharper, RubyMine, WebStorm, PhpStorm, PyCharm


2. 数据库Client

Sequel Pro

,可以轻松的进行MySQL的各种操作,关键是人家还是免费的,我最喜欢的功能就是,可以通过一层SSH隧道进行MySQL的连接。


3. 版本控制

Git,现在大家都用Git了,还在用svn的请不要关注我, SourceTree Free Mercurial and Git Client for Windows and Mac应该是目前最好用的Git图形化界面了。


4. Terminal & TotalTerminal & Zsh & Ohmyzsh

程序猿用Mac的一个很关键原因就是MacOS是一个UNIX系统,可以很方便的模拟Linux服务器环境。配合zsh 和 ohmyzsh,在同事面前不要太炫酷

配合

TotalTerminal is a system-wide terminal accessible via a hot-key

的快捷键呼出功能,简直是如虎添翼!


5. 文件传输

cyberduck.io/

几乎支持所有的文件传输协议,非常方便

6. 命令行相关

  1. 前面说到Zsh & OhMyZsh。配合众多的插件非常的心应手。
  2. 为什么我不喜欢Alfred,首先因为它收费,其次就是有了Flashlight 这个东东,配合10.10以后的Spotlight,能实现很多炫酷的功能:
    1. bd xxxx,直接百度xxxx关键字
    2. ts 转换时间戳
    3. 甚至可以自己动手写插件,这一切都是开源的。
  3. 各种软件包都可以用HomeBrew、Port方便的安装,不用像在windows上用虚拟机或者Cygwin。
  4. Mac下写C、C++的系统程序一般情况下都可以直接移植到Linux下运行,这点非常的方便,当时 auxten/gingko · GitHubauxten/gko_pool · GitHub就是在Mac下写好才放到Linux运行的。

7. 快捷键的一点Tips,绝对是MacOS独有的:

如何评价 OS X 的快捷键? - Mac

帮朋友打个小广告
Reboot OpsDev 交流群 365534424

类似的话题

  • 回答
    Mac 为什么是程序员的得力助手?说起程序员的工作环境,MacBook Pro 绝对是绕不开的话题。很多开发者,尤其是在 Web 开发、移动开发(iOS/Android)以及一些新兴技术领域,都倾向于选择 Mac。这并非偶然,Mac OS 系统本身以及苹果生态的特性,确实为编程工作带来了诸多便利和优.............
  • 回答
    在 Mac 系统上进行图形学开发,选择一个合适的 C++ IDE 至关重要,它能极大地影响你的开发效率和体验。CLion 和 Visual Studio (VS) (这里特指 Visual Studio for Mac) 是两个经常被拿来比较的选项,它们各自有独特的优势和侧重点。下面我将从几个关键维.............
  • 回答
    当微软 Excel 真正做到“原生适配”苹果 M1 系列 Mac,那绝对是一次用户体验的飞跃,尤其对于那些日常工作离不开 Excel 的朋友们来说。别再忍受那慢吞吞、时不时卡顿的体验了,原生适配意味着一切都会变得不一样。首先,最直观的感受就是速度和流畅度。M1 芯片(以及后来的 M2、M3 等)采用.............
  • 回答
    这个问题其实有点笼统,我们换个角度来理解:为什么在日常使用中,许多 Mac 用户似乎很少需要“关机”,而 Windows 用户则更倾向于定期关机?这背后涉及操作系统设计理念、硬件交互、用户习惯以及历史遗留等多个层面。1. 操作系统设计理念与资源管理: macOS 的“休眠”与“睡眠”策略: .............
  • 回答
    您提出的问题触及了Mac在CAD领域一直以来备受争议的一个焦点,并且确实有一定道理。尽管Mac近年来在“生产力”方面大放异彩,特别是在内容创作、编程、设计等领域,但在传统的、工程师主导的CAD软件生态中,Mac的适配性和选择性确实不如Windows平台。要详细解释这个问题,我们需要从以下几个方面来分.............
  • 回答
    Mac 版 PowerPoint 另存为 PDF 文件时,尺寸过大的问题确实不少用户遇到过。这可能与 Mac 版 PowerPoint 在处理图像和字体时的一些机制有关,导致生成的 PDF 文件包含了更多的原始信息,从而体积庞大。为什么 Mac 版 PowerPoint 另存为 PDF 会很大?1..............
  • 回答
    你这个问题问到点子上了,这确实是不少 Mac 用户,包括我自己都曾经疑惑过的问题。Mac 系列长期以来坚持使用镜面屏,这背后并非没有原因,而且这个原因还挺有意思,跟苹果一直以来追求的产品理念、设计美学以及用户体验都有着千丝万缕的联系。咱们就来掰扯掰扯这个事儿。首先,咱们得明白什么是镜面屏,什么是雾面.............
  • 回答
    这个问题挺有意思的,也触及到了一些科技界的核心讨论点。我们先别提股价什么的,就纯粹聊聊为什么苹果的 ARM 电脑(Mac)能让人觉得是“王炸”,而 Windows 生态的 ARM 设备(比如一些 Windows on ARM 笔记本)则会让人有点担忧。这里面涉及到技术、生态、策略和用户习惯等很多方面.............
  • 回答
    苹果 Mac 电脑不再粘贴 Intel 标志,这个变化背后其实是一次重大的战略调整,标志着苹果在个人电脑硬件领域迈出了独立自主的关键一步。要详细了解为什么会这样,我们需要回顾一下苹果与 Intel 的合作历史,以及苹果选择自研芯片的深层原因。曾经的合作:Intel 的心脏,Mac 的灵魂在长达十多年.............
  • 回答
    苹果公司(Apple)自2006年起从使用PowerPC处理器转向Intel处理器,而在2020年,苹果又开始了自己的CPU研发之路,推出了基于ARM架构的Apple Silicon(M系列芯片)。在这个过程中,AMD公司的CPU产品线几乎从未出现在Mac电脑的主板上。这其中的原因并非单一,而是由一.............
  • 回答
    .......
  • 回答
    苹果的M系列芯片,也就是我们常说的ARM版Mac,之所以运行效率高,这背后是一套精心设计、深度整合的系统工程。它并非单一的技术突破,而是软硬件协同优化的结果。要理解这一点,咱们得从几个关键维度来掰开了揉碎了聊。1. 定制化SoC设计:软硬件一体化的基石首先,最核心的优势在于苹果自己设计CPU(安腾架.............
  • 回答
    苹果公司推出Mac可安装Windows的Boot Camp功能,主要基于以下几个方面的考虑,涉及市场需求、技术兼容性、用户体验以及苹果的长期战略目标。以下是详细的分析: 1. 满足用户对Windows的特定需求 专业软件和行业应用:许多专业软件(如AutoCAD、Adobe Premiere .............
  • 回答
    Mac Pro 采用风冷散热,而不是水冷,这背后其实有很多考量,并非简单的好坏之分。对于一台定位如此高端、强调稳定性和用户体验的专业级工作站来说,苹果选择风冷自有其深层原因。首先,我们得明确 Mac Pro 的核心定位:它是为创意专业人士设计的。 这意味着它需要在各种环境下稳定运行,并且用户界面需要.............
  • 回答
    这绝对是一个很好的问题,很多人都会疑惑:既然有了 IP 地址,可以唯一地识别网络上的设备,为什么还需要 MAC 地址呢?实际上,IP 地址和 MAC 地址在网络通信中扮演着不同的角色,并且是相辅相成的,缺一不可。要详细解答这个问题,我们需要从计算机网络的分层模型(OSI 模型或 TCP/IP 模型).............
  • 回答
    这事儿啊,说起来挺有意思的,就像有人爱吃甜,有人爱吃咸一样,总有人对Mac上装Windows这事儿抱着一种审视甚至是不理解的态度。为啥呢?我琢磨着,原因挺多,而且往往是混合在一起的。1. “纯粹性”的捍卫者,对“不务正业”的看不惯你可以把这些人想象成某种领域的“原教旨主义者”。在他们看来,Mac 就.............
  • 回答
    在国内的服务器操作系统选择上,确实很少见到 macOS Server 的身影。这背后并非偶然,而是多种因素交织作用的结果。要深入理解这一点,我们需要从技术、市场、生态以及国家政策等多个层面来分析。技术层面:并非“一刀切”的完美选择首先得承认,macOS Server 本身并非一无是处。在某些领域,它.............
  • 回答
    苹果公司在 Mac 上的 Command (⌘) 键和 Control (⌃) 键的设计,确实是个挺有意思的话题,也经常让一些习惯了 Windows 操作的用户感到困惑。要说为什么苹果不把它们合并,甚至把 Command 键的设计一直延续下来,这背后其实是有一套逻辑和历史原因的,并非简单的“不合作”.............
  • 回答
    哈哈,说起来,咱们身边确实不少程序员朋友,手里那台苹果本子,自带一股“程序员专属”的气质。当然,这也不是绝对的,Windows、Linux 阵营里也卧虎藏龙。但为啥 macOS 这么招人待见呢?我琢磨着,这事儿得从几个方面掰扯掰扯。1. Unix 内核的强大后台:这可以说是 macOS 最核心的吸引.............
  • 回答
    你提出的这个问题很有意思,也确实是很多人都会有的疑问。Mac口红虽然不是奢侈品,但相比于一些平价品牌,170元的价格也并非小数目,何况还有很多更低价位的替代品。那么,为什么还有人愿意花钱买二手Mac口红,而且还是没有保障的呢?这背后涉及到的原因其实是多方面的,我们可以从几个角度来详细分析:1. 价格.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有