Windows,Mac与Linux哪个更适合开发者?

以前写的,怕引来口水战,干脆不发。这段时间面试了十来人,用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开发中的需要比较频繁。

终!!!

时间: 2024-10-26 04:28:32

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

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

抓包工具的使用 抓包工具简介 Chrome/Firefox 开发者工具: 浏览器内置,方便易用 Fiddler/Charles: 基于代理的抓包,功能强大,可以手机抓包,模拟弱网,拦截请求,定制响应 Fiddler: 免费,只支持Win Charles: 收费,支持Win/Linux/Mac wireshark/tcpdumps:给予网卡层的抓包,数据量大,可以抓取tcp/udp等多种协议的数据包(需要做好过滤) wireshark: 支持Win/Linux/Mac tcpdumps: Linu

老电脑用Windows 7、Win10哪个更流畅?

好的系统可以让电脑用起来更得心应手,事情效率也会提高.Win作为主流的桌面级系统,已经更新换代许多次了.就在前几天,微软宣布了Win10一周年更新版,你是选择升级照旧继续张望呢? 之前有新闻报道说,"企业纷纷升级Win10,员工却想要Windows 7系统",为什么他们不肯意给电脑升级新系统呢?我们都知道,新电脑用Win10必定快,那用了好几年的旧电脑呢?有种说法是,旧电脑配置低,更适合安装Windows 7.但是,好奇的小编照旧想亲自验证一下,Win10和Windows 7,到底谁更

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

如何选择一款适合自己操作系统.Windows.Mac还是Linux? 作者:我们都很努力着 简介:电脑已经逐渐离不开我们生活,但是如何选择一个我们最佳,最适合的电脑操作系统就成了一些困难选择人士的一个问题.不考虑硬件,只说系统,最少内存8G起步,CPU也得4核以上吧. 本文章适合程序员.小资人士或者喜欢折腾的人士.当然如果你想给自己打造一个独一无二的电脑操作系统的环境.那么你可以看看本篇文章. 一.Windows操作系统怎么样?选择那个合适! 个人计算机在中国的普及,大约是从1995年开始的,也

支持多操作系统和多区域设置,包括Windows, MAC, Linux和Unix

Universal Barcode Font Advantage可以在一个单一的字体中生成的多种条形码类型兼容多种操作系统并具有双字节字符集的语言,例如,日文,中文和韩文 具体功能: Patent Pending字体技术能生成高质量的符号. 以一个单一的字体轻松地打印多种条形码类型. 支持多操作系统和多区域设置,包括Windows, MAC, Linux和Unix. 内含TrueType, OpenType, PCL LaserJet soft fonts和PostScript字体版本. 支持A

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

[.net 面向对象程序设计深入](5).NET MVC 6.0 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到.NET 5.0之后更名为 Core 1.0,同样MVC 6.0也是运行在Core 1.0(.NET 5.0)之下. 我们要进行开发和部署基于MVC 6.0的项目,首先要搭建他的开发环境. Core 1.0 是一个支持跨平台框架,下面分别介绍如何在Windows/Mac Os X/Linux下搭建开发

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

微软周三(11月13日)公布了.NET开发框架开源计划.公司拟将这长期以来只能运行于Windows系统下的开发环境,通过GitHub开源,以实现跨平台支持Mac OS X和Linux.根据微软公布的计划,在该公司下一次发布.NET开发框架时,整个服务器开发环境,从ASP.NET 5下至Common Language Runtime和Base Class Libraries,都将实现开源. 开发者可在多平台环境中开发基于云的.NET应用,微软也承诺未来将会在Mac和Linux系统上提供对.NET核

FinalShell服务器管理软件,SSH客户端下载,支持Windows,Mac OS X,Linux

FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求. 用户QQ群 342045988 Windows版下载地址:http://www.hostbuf.com/downloads/finalshell_install.exe Mac版,Linux版安装及教程:http://www.hostbuf.com/t/1059.html FinalShell 服务器加速教程 更新日志:http://www.hostbuf.com/t

iConvert Icons 图标转换生成利器,支持Windows, Mac OS X, Linux, iOS,和Android等系统

这是一款在线图标转换工具,生成的图标支持Windows, Mac OS X, Linux, iOS, 和 Android等主流系统. 可以上传图标文件转化成另一个平台下的图标文件,例如将windows系统下的icon图标格式转换成mac os下的icns图标格式,也可以通过上传图片从而生成你指定平台下的图标格式文件.例如上传png文件转换成windows系统下的icon图标文件. 官网在线应用地址:iConvert Icons 其也有app可供下载,但要付费. 原创文章,转载请注明: 转载自 h

在Linux/Windows/Mac上刷新DNS缓存的方法

刷新dns缓存让你可以得到新的域名解析: # Windows ipconfig /flushdn # Linux /etc/rc.d/init.d/nscd restart || /etc/init.d/nscd restart # Mac type dscacheutil -flushcache || sudo killall -HUP mDNSResponde