以前写的,怕引来口水战,干脆不发。这段时间面试了十来人,用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. 手动编译 Nginx 并安装 VeryNginx

    VeryNginx 是个非常有意思且便捷的 Nginx 扩展程序.最近新开了台 VPS,便想体验一下它带来的快感. VeryNginx 有个不超过 5 行的安装方法,但作为强迫症我更喜欢使用自己编译的 ...

  2. Swift 线程安全数组

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:BigNerdCoding 有并发的地方就存在线程安全问题,尤其是对于 Swift 这种还没有内置并发支持的语言来说线程安全问题更为突出 ...

  3. inotify软件部署及实时同步

    声明:博主使用的是CentOS6.9的系统 参考资料: https://github.com/rvoicilas/inotify-tools/wiki http://www.ibm.com/devel ...

  4. 栈和队列的java简单实现

    今天看了一本书<啊哈 算法>,书的内容不多,一共两章,第一章是常见的排序算法包括桶排序.冒泡排序和快速排序,这些事基础的排序算法网上有很多资料说明,这里主要说第二章栈,对列,链表,书上使用 ...

  5. js图片懒加载(滚动加载)是否生效

    一.什么是懒加载? 对未出现在视野范围内的图片先不进行加载,等到出现在视野范围才去加载. 二.为什么使用懒加载? 懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数. 理论性知识大家都有自 ...

  6. TortoiseSVN的安装和使用

    TortoiseSVN是windows平台下Subversion的免费开源client. 一般我们都是先讲讲server的配置.然后再讲client的使用,可是在TortoiseSVN上.却能够反过来 ...

  7. 大数据学习(7)Hadoop高可用

    HDFS高可用 通过主从切换实现单NameNode高可用.通过Federation:水平扩展来联合多NameNode个: NameNode高可用 把edits日志从原来的nameNode中分离出来,存 ...

  8. androidstudio连接SCM Manager上的Git库

    1.在SCM Manager里创建一个Git库 在androidstudio里选中从版本控制里导入 输入git库的地址,接下来一路点击下一步 完成之后会可以在工程里创建文件或者从别的地方把完整项目拷贝 ...

  9. Asynchronous MQTT client library for C (MQTT异步客户端C语言库-paho)

    原文:http://www.eclipse.org/paho/files/mqttdoc/MQTTAsync/html/index.html MQTT异步客户端C语言库   用于C的异步 MQTT 客 ...

  10. CoreJava逻辑思维-顺时针打印自定义矩阵

    CoreJava逻辑思维-顺时针打印自定义矩阵 这两天回顾了一下刚入Java时的一些比较有意思的逻辑题,曾经也费劲脑汁的思考过的一些问题,比如百钱百鸡最简单的算法啦之类的,而今天博主想说的是一个循环打 ...