从事软件开发多年编程环境始终不是决定能不能学好编程的关键,等于讲不同的编程环境可能对于某些人感觉不一样,但在用户体验上还是Mac更加舒适一些,因为苹果公司的产品向来重视用户的体验,linux由于属于开源社区的,在功能性上强一些,在产品方面会相对弱化许多。首先介绍下Mac和Linux发展历史,了解一个操作系统的历史能更好读懂其特性,现在很多人都觉得Mac和Linux属于一个分支出来的,从演变的历史看属于截然不同的两个分支。
Mac和Linux发展历史
Mac属于苹果公司专属的一个操作系统,整体架构显示出独特性,在了解特性之前首先要学习一个基本常识,微内核和宏内核两种,像Linux属于典型的宏内核结构,就是所有的硬件资源都是集成在一体,在资源不是很多的状态这种模式会显得非常舒服,但在资源不断增加的今天宏内核已经越来越不适应当前时代的发展。Mac这个比较特殊采用了微内核和宏内核混合的方式,这也是苹果系列的产品性能体验非常棒的一个重要原因,在设计架构的时候显得更加超前一些。回到微内核的方面多种资源分属在不同的进程中,在使用的时候采用消息传递方式在使用,整体讲起来两种架构各有特性,不能简单的认为哪种架构更合适,但在硬件资源不断提升的今天,微内核已经成为了一种趋势,华为公司最近推出的鸿蒙系统采用的就是微内核架构,这是未来操作系统发展的一种趋势。
Mac的诞生和乔布斯有着千丝万缕的关系,由于Mac版本的迭代非常多,在这就不做一一的介绍,乔布斯离开苹果之后成了一家电脑公司NeXT,打造一款带操作系统的电脑,为了节省时间乔布斯选择了使用卡耐基梅隆大学的Mach架构加上BSD代码作为这个操作系统的基础,打造NeXTSTEP操作系统,后来乔布斯的NeXT被苹果公司收购,乔布斯一同回归,而且带着打磨近10年的NeXTSTEP操作系统,这就是苹果Mac的技术前身,后来的iPhone都是在这个基础上演化出来的,乔布斯对苹果的影响不仅仅表现在产品上,在技术推动上也起到重要的作用,Mac架构典型的Mach和BSDFree结合的产物,微内核主要作用在用户服务空间,在真正的核心资源还是采用宏内核的架构,但这种架构适应计算机未来的发展趋势。
Linux属于纯正开源的操作系统,一群极致的程序爱好者共同打造的产物,由于属于技术性很强的操作系统,所以在功能和性能上都有可圈可点之处,但由于过于编程色彩在产品设计方面眼中缺陷,但是由于代码是开源的,对于想研究操作系统的爱好者而言是天堂区,再加上缺乏统一方向部署,特别是计算机快速发展的时代,宏内核未来需要更多的结合微内核来工作,这方面Linux还是有所欠缺。
Mac和Linux各自特性
Mac主要针对设计人员和商务人士,当然也可以在上面编程写代码,很多程序员都有一个Mac情怀,总想着应该有一个苹果的电脑,苹果电脑主要在产品设计上以及生态链上都有保障,里面很多编程环境都是自带的,不需要像windows需要重新安装许多环境才能够进行编程,从舒适加编程易用性的角度考虑,Mac属于首选系统。
Linux使用者大部分是开发者,因为其界面不是设计公司设计,所以在美观度已经体验上差的很远,有些程序员甚至直接采用命令行,舍弃掉图形界面,Linux主要使用者还是程序开发者,至于选择哪种作为编程环境就要根据开发者自身的情况而定了。
编程环境对于开发者的影响只会占据到一小部分,关键还是编程基本功和编程项目经验的积累过程,工具从来都是次要的,关键还在于使用工具的人如何操作,希望能帮到你。
刚好3台电脑 ,win Mac linux都用。办公 win ,office和打印机方便。设计之类的Mac好,Linux 的话 如果不是服务器 用途就不用。 编程的话 其实差不多,现在我Python 用 anaconda集成开发环境 配置环境变量 3个系统都有 配置方便。php也有 apache MySQL 等 集成开发环境 也不用怎么配置 很方便。只是win 太吃内存和处理器。所以平时用Mac最多
正好这两天对这个问题有深刻体会。
建议正常使用win系统,一些日常软件真的win比较好。
对于需要linux的,虚拟机,双系统,腾讯云,阿里云都有,在win上面直接ssh连接。
linux适用于x86,arm,mips,risc-v,dsp,soc等各种指令集平台上进行开发。
mac和win程序员只能原生开发x86上的应用,其他平台上的,只能交叉编译加仿真了,那开发和适配效率,猴急抓狂也白搭