专栏首页程序员互动联盟Mac和Linux哪个适合编程?

Mac和Linux哪个适合编程?

编程环境始终不是决定能不能学好编程的关键,等于讲不同的编程环境可能对于某些人感觉不一样,但在用户体验上还是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主要使用者还是程序开发者,至于选择哪种作为编程环境就要根据开发者自身的情况而定了。

编程环境对于开发者的影响只会占据到一小部分,关键还是编程基本功和编程项目经验的积累过程,工具从来都是次要的,关键还在于使用工具的人如何操作

本文分享自微信公众号 - 程序员互动联盟(coder_online),作者:大学生编程指南

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【答疑解惑第四讲】如何成为编程高手?

    编程是一个苦差事,不少人在编程的道路中转行去其他行业,当然也有不少不了解编程行业的人转行进来,真正能长时间从事这个行业的人最后都是对编程有一定兴趣的人。 ? 要...

    程序员互动联盟
  • 【编程指导】学习编程6条箴言

    1、在学习编程之前,想清楚自己到底想写什么程序。 学习编程基本就是在学习建造东西。如果你知道你到底想造什么,你的编程学习之路将会豁然开朗。如果你的目标只是“学习...

    程序员互动联盟
  • 三种人学不会编程

    很多人都觉得编程入门特别难,特别在刚开始的时候,敢问切入一个新的行业不付出点努力,不坚持下不深刻的挖掘下自己的潜力,都会觉得难得不行。编程学习的成本相对比较低廉...

    程序员互动联盟
  • 看到全是十六进制的PHP代码文件?

    前几天在网上看到一份代码,打开来看,里面都是类似下面的十六进制字符串。一脸懵逼,啥情况,我万能的sublime text 打开居然是十六进制文件,而且文件居然还...

    写PHP的老王
  • 工作15年码农总结:学编程难吗?那只是你觉得难!

    从2003年写下第一行PHP代码开始,编程就成为了他生活的日常。而他的人生履历,也与编程紧密切合。

    Crossin先生
  • 世界上最短的时钟代码!更短的,有木有?

    一.简介 Processing.js作者是John Resig,这是继Jquery之后,他的第二个力作。 Processing.js提供了教学可视化的编程语言及...

    IMWeb前端团队
  • 世界上最短的时钟代码!更短的,有木有?

    Processing.js作者是John Resig,这是继Jquery之后,他的第二个力作。

    IMWeb前端团队
  • WCF 入门 (17)

    首先修改服务端的app.config 配置文件,先使用basicHttpBinding

    _淡定_
  • shell系列-shell第十四讲

    1、文件测试 1.1、-e -e判断符主要作用判断文件或者目录是否存在,如果存在条件为真,状态返回值为0,不存在条件为假,状态返回值为1,比如: bash...

    小小科
  • Github点赞接近100k的SpringBoot学习教程+实战推荐!牛批!

    很明显的一个现象,除了一些老项目,现在 Java 后端项目基本都是基于 Spring Boot 进行开发,毕竟它这么好用以及天然微服务友好。不夸张的说,Spri...

    Guide哥

扫码关注云+社区

领取腾讯云代金券