以前写的,怕引来口水战,干脆不发。这段时间面试了十来人,用Mac的开发水平明显高于Windows的,挺多感想的,于是改改发了吧。
    
Windows: 对普通用户而言体验最友好,对开发者体验最差;
Linux:开发者的天堂,普通用户的噩梦;从嵌入式开发到应用开发,一应俱全;
Mac:WEB开发与设计师首选,嵌入式开发不推荐;对普通用户而言Windows各有优劣;
 
 
    为什么Linux是开发者天堂?
    软件开发有很强的实践性,所以高质量的源码、技术文档对于开发者的成长是决定性的。假如一个人想了解操作系统原理,却连源码都看不到,改改操作系统都做不了,我不相信这个人能理解得了操作系统原理,而由于缺少可实践的源码,所以技术文档也只能隔靴搔痒,绕着路子尝试把问题讲清楚,而不是放出可执行的示例源码。而这……正是Windows的现状。
    与之相反,Linux构建在开源世界上(我就不去争自由软件跟开源软件的不同了,不是本文主题),正好就没有上面的问题。稍微懂行的人都知道Linux开源代码质量之高远不是Windows上流传于网络上的源码所能匹敌的,而这几年开源世界的火爆,对于长期浸泡在Linux上的人更是一种福音。另外一个影响效率的则是命令行,属于会用的人不用解释,不会用的人解释也没用,不展开。。。
    总的来说,一个Linux开发者,想了解啥都能轻易找到这个世界上最优质的资源,拿到后可以立马实践;而一个Windows开发者,则在这方面完全处于劣势,这一来一回,成长上该有多大差距?
    绕了一大圈,终于要讲使用Mac的开发者的开发水平为什么会高于Windows开发者了。很简单,Mac是类UNIX系统,所以Mac开发者找的资料跟Linux开发者不说100%,也有70%,80%的重合,自然成长效率会比Windows高。
 
    顺便写下本人在这几个系统方面的经历:
    就我个人而言,大四自学Linux后,一直到去年8月,所有的开发工作都是在Linux完成(当然,工作内容只有Windows工具的就没办法了)。当时决定换成Linux只有一个理由,我从大一到大三一直在想操作系统原理和怎么写一个操作系统这两件事情?找来Windows的系统编程,MFC,VC,驱动开发之类的书来看,却总觉得不得要领,一度怀疑是不是自己太笨了。后来由于搞嵌入式开发,使用Linux,需要先适应,从《鸟哥的LINUX私房菜》,到《UNIX环境高级编程》,接着又看Linux的源码,学习《LDD3》,仿佛打开了一个新世界的大门,才明白,并不是我太笨了,只不过是Windows把简单的复杂化了,同时缺少可实践的开源代码做研究。
    去年8月转做WEB开发,之前买的Mac发现是类UNIX系统,因此一周不到就能适应整个系统,决定在上面先开发一段时间试试。平时也需要用些图形处理和日常办公,这些明显纯Linux是弱项,而Mac做得很好。于是一段时间后,确实感受到WEB开发上,Mac上的开发体验会好于纯Linux。Mac主要胜在两点:1. Mac的brew包管理一致性高,并且包很新,包依赖问题容易解决 2.图片处理在WEB开发中的需要比较频繁。
    
    终!!!

Windows,Mac与Linux哪个更适合开发者?的更多相关文章

  1. 微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具

    发布于 2013-12-04 作者 Eduard Koller 这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息.今天,微软开放技术有限公司 (MS Open Tech),想与大家分 ...

  2. 几款抓包工具在windows,mac,linux下的支持分析

    抓包工具的使用 几款抓包工具在windows,mac,linux下的支持分析 抓包工具简介 Chrome/Firefox 开发者工具: 浏览器内置,方便易用 Fiddler/Charles: 基于代理 ...

  3. 在eclipse里配置Android ndk环境 适用于windows mac 和linux(转)

    在eclipse里配置Android ndk环境 适用于windows mac 和linux(转) 2012-02-27 13:02:16|  分类: android |  标签:java  prog ...

  4. webRTC源码下载 Windows Mac(iOS) Linux(Android)全

    webRTC源码下载地址:https://pan.baidu.com/s/18CjClvAuz3B9oF33ngbJIw  提取码:wl1e  Windows版:visual studio 2017工 ...

  5. 如何选择一款适合自己操作系统、Windows、Mac还是Linux?

    如何选择一款适合自己操作系统.Windows.Mac还是Linux? 作者:我们都很努力着 简介:电脑已经逐渐离不开我们生活,但是如何选择一个我们最佳,最适合的电脑操作系统就成了一些困难选择人士的一个 ...

  6. SSH客户端,FinalShell服务器管理,远程桌面加速软件,支持Windows,Mac OS X,Linux,版本2.6.3.1

    FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求. 用户QQ群 342045988 Windows版下载地址:http:/ ...

  7. [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)

    [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...

  8. BesLyric 全新版本下载 ( windows \ mac \ linux )

    导读 BesLyric , 一款专门制作 网易云音乐 LRC 滚动歌词的软件! 搜索.下载.制作 歌词更方便! 很荣幸地,自 beslyric 2017 年开发推出以来,得到了很多云村村民的肯定,现在 ...

  9. 微软宣布.NET开发环境将开源 支持三大操作系统(windows,Mac OS X和Linux)(转)

    微软周三(11月12日)公布了.NET开发框架开源计划.公司拟将这长期以来只能运行于Windows系统下的开发环境,通过GitHub开源,以实现跨平台支持Mac OS X和Linux.根据微软公布的计 ...

随机推荐

  1. Teredo Tunnel Adapter: Error Code 10

    Teredo Tunneling 该设备无法启动 错误代码 ErrCode:10 解决方法 前文: Win7 系统,打算开启IPV6,本地连接的网络 ip6 驱动是异常的,先重新安装了网卡驱动. 过程 ...

  2. 简单购物车程序(Python)

    #简单购物车程序:money_all=0tag=Trueshop_car=[]shop_info={'apple':10,'tesla':100000,'mac':3000,'lenovo':3000 ...

  3. 【转】使用nvm快速搭建 Node.js 开发环境

    原文链接:http://www.cnblogs.com/shuoer/p/7802891.html 快速搭建 Node.js 开发环境 如果你想长期做 node 开发, 或者想快速更新 node 版本 ...

  4. Self Hosting WebServer 的几种方式

    写在前面: IIS是Windows平台非常关键的组件,它是微软自带的Web服务器,可以很方便的帮助我们运行起一个网站,WebApi等服务,提供给外部来访问.即使它被很多java或者ruby的同学各种鄙 ...

  5. Libevent 事件管理和添加事件

    /**   我们先来看一下事件的创建*/struct event * event_new(struct event_base *base, evutil_socket_t fd, short even ...

  6. Tomcat中虚拟路径

    默认情况下,Tomcat访问静态资源配置是这样的 <Context path="/project_name" docBase="d:\tomcat_statics& ...

  7. chrony时间同步 服务端 客户端 安装配置

    chrony时间同步 服务端 客户端 安装配置 原创内容http://www.cnblogs.com/elvi/p/7658021.html #!/bin/sh #运行环境 centos7 #chro ...

  8. LDA主题模型学习笔记5:C源代码理解

    1.说明 本文对LDA原始论文的作者所提供的C代码中LDA的主要逻辑部分做凝视,原代码可在这里下载到:https://github.com/Blei-Lab/lda-c 这份代码实现论文<Lat ...

  9. 一起talk C栗子吧(第一百二十六回:C语言实例--statickeyword)

    各位看官们,大家好,上一回中咱们说的内置宏的样例.这一回咱们说的样例是:static关键字. 闲话休提.言归正转. 让我们一起talk C栗子吧! 看官们,C语言提供了static关键字.它常常出如今 ...

  10. COM-IE-(2)

    # -*- coding:UTF-8 -*- import sys from time import sleep import win32com.client from win32com.client ...