(给伯乐在线加星标,看经典文章)

作者:猫嗅花

https://www.jianshu.com/p/5020fbd76d0c三大操作系统概述

三大操作系统概述

windows, macOS, linux是当今主流三大操作系统,普通用户一般是选择windows或macOS, linux主要是占据服务器领域市场。

这三个操作系统给人的感觉是:

  • windows经济适用,档次较低;

  • macOS高端大气上档次;

  • Linux是极客专用,一个黑乎乎的窗口,各种花花绿绿的指令在闪烁,对着键盘噼里啪啦一通乱敲,就能窃取各种机密...

普通用户对于操作系统的选择很简单,经济实用选windows,钱多讲究格调选macOS, 毕竟普通用户切换操作系统的成本并不大。

而程序员就不一样了,换一个操作系统,就意味着所有开发环境都要一并更换。

而且在程序员群体中,操作系统有以下的鄙视链:macOS-->linux-->windows。

其实操作系统的比较并不是简单粗暴的单一维度比较,用windows并不意味着low,用linux也不等同于你就是一个极客。

关键在于你是如何使用。就好比编程语言的选择,php是最招人黑的语言(没有之一), 但黑php的人中有不少人写的代码同样不堪入目。

不过作为一个程序员,你很有必要学会linux,如果你的程序最终是跑在线上的Linux服务器上,那么你就更应该从现在开始投入linux的怀抱中,早日从windows脱坑。

至于macOS,在命令行上与linux绝大部分相同,都是类unix的操作系统。

简单地说,macOS是一个比windows界面更加美观,同时又兼备linux强大命令行的操作系统。要说macOS的缺点,那就是贵...

windows_vs_linux_vs_mac

windows与linux的根本区别:自由

windows与linux的设计理念有根本性的区别:

windows:用户不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。

因此windows将所有操作都隐藏起来,只给用户提供封装好的功能,用户只能在操作系统限制的范围内操作,如果是普通用户,会觉得很windows很舒服,因为不需要思考,只需要按照指示去操作。

但对于开发人员而言,这种设计理念是无法接受的,一旦要做出一些超越封装好的功能之外的事情,就会出现各种难以意料的情况,而且很多情况下,这些问题是无解的。

或者只能用极其蹩脚扭曲的方式去勉强处理,然后瑟瑟发抖地期待着程序能正常运行。因为一旦程序崩溃,你也会为之崩溃。

在windows下做开发,那种体验就好比在陪伴一个任性的女朋友,虽然长得清秀靓丽,但喜怒无常,她开心时,彼此相安无事,她不开心时,就直接哭闹,你问她:怎么了?她也不说原因,只是一直哭。

你只能试着用各种方式去哄她开心,即使这次能哄好她,并不意味着下次同样的方法能奏效。这样的相处方式,很累。不是她不好,而是彼此不适合。

即使终日相伴,却依然对其一无所知

无理取闹

linux:用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。

linux将所有操作权都交给了用户,她相信用户是理性的聪明的,忠实地执行用户的指令,向用户暴露所有的细节。

用户在拥有自主权的同时也拥有了破坏力,因此普通用户根本无法驾驭,可能一个指令就把操作系统弄崩溃了。

对于开发者而言,linux的开放与自由给了我们无限的可能性,我们能看到程序是如何运行的,运行报错也会有友好的提示。

根据报错指引往往能将问题解决。与之相处,好比与一个成熟的女性相处,历经风雨,已经不再关注浮夸的外表,而是关注内在的涵养。

刚接触时,可能会觉得她高冷,慢慢地,会发现她很善解人意,心情不好时她会跟你说是什么原因造成的,彼此商量如何解决这个问题,而不是无来由地崩溃。

与之相处,会感到很舒服,彼此坦诚,无需套路,你在想什么,我都知道。我在念什么,你也明白。

因此,我选择linux的原因在于自由、舒服,简言之:爽!

至于win10自带的WSL(linux子系统), 说起来都是泪,几个月前,我兴冲冲地折腾,以为windows可以完美地支持linux,结果,连个nginx都跑不起来,去wsl的github源码查看issue,才知道这就是wsl的一个bug!

此外,还有其他各种坑,这感觉就像:分手后的任性前女友画风突变:善解人意,人情练达。你欣喜万分地准备复合,她马上又原形毕露。咱能不能多些真诚,少些套路...

迅哥说过:生命是以时间为单位的,浪费别人的时间等于谋财害命,浪费自己的时间等于慢性自杀。对于程序员而言,开发环境远离windows,就是珍惜生命的表现(开发windows程序的除外)

选择哪个发行版的linux

redhat,suse, Debian等各个发行版的linux都有各自的忠实拥护者,无法判断这些发行版孰优孰劣,毕竟“存在即合理”。我从实用的角度来看,选择的是redhat(红帽)系列的centos。

因为线上的服务器大多数是ceotos,我们的程序最终是在线上运行的,如果能将本地环境配置得跟线上一致,就可以减少很多莫名其妙的环境问题。而且熟悉使用centos,基础的运维能力也都掌握了

至于版本选择,肯定是要选择最新的centos7, centos7与centos6存在很多差异,性能有很大的提升

如何学linux

工作中,看到不少工作好几年的程序员,在操作linux时特别生疏,只会最基本的几个命令:cd ls mkdir 等。

vim编辑器的操作更是让人看了很着急,被誉为编辑器之神的vim在他们手中,完全没有半点灵气,感觉就像是编辑器之屎。

之所以会出现这种现象,很大原因在于他们的学习方式错了,不少人都知道linux很重要,不掌握linux,基本上就只能停留在最基本的增删改查功能上。

他们学linux的方式可能是看书,也可能是看视频,甚至有些还会去背命令,但由于他们的操作环境是windows,linux的应用场景很少。

根本没办法将所学的知识运用,更加感受不到linux的魅力。

学linux最好的方式,就是直接去用!直接将自己的开发环境都改成linux,一开始很蹩脚,很不适应,这很正常。

如果你一直感到很舒服,只能说明你一直没有进步。想想我们学了那么多年英语,绝大多数人还是无法掌握英语,看到英语文档就直接自动屏蔽。

其原因都是:一直在学,但从来没在用。只学而不用,没有半点用。

- EOF -

推荐阅读  点击标题可跳转

1、Linux 之父 Linus Torvalds 谈软件开发管理经验

2、王垠:怎样尊重一个程序员?

3、自组织团队的理念和实践

看完本文有收获?请分享给更多人

推荐关注「伯乐在线」,看精选 IT 职场文章

点赞和在看就是最大的支持❤️

程序员操作系统推荐_为什么程序员要会 Linux相关推荐

  1. 程序员操作系统推荐_程序员的这些问题,竟然在工作后才发现!

    文章来源:图灵教育 一入编程深似海,回头是岸却发现,,, 为时已晚... 依稀还可以记起,当初报计算机这一专业的满腔热情,抱着对程序员的美好憧憬:要赚大钱,要见马云,要成为引领科技进步的那波人之一.. ...

  2. 小程序模板网站平台_小程序模板平台哪个好

    小程序模板网站平台_小程序模板平台哪个好?分享一个微信小程序模板平台,超60个行业的小程序模板免费使用,页面内容丰富样式多样的,小程序界面模板. 微信小程序模板网站平台 微信小程序模板平台的存在,就是 ...

  3. linux操作系统版本_史上最全的Linux 各个发行版本的优点、缺点、发展史介绍

    概述 今天主要学习一下Linux 各个发行版本,看一下各个发现版本的发展史. 什么是Linux? 也许很多人会认为Linux不就是个操作系统么.其实严格来讲,Linux只是一个操作系统中的内核.内核是 ...

  4. 程序员搞笑对联_献给程序员,经典幽默之恶搞对联

    文章来源:互联网第一猎 微信号:shawn-2014 看了文章的标题,各位程序员千万别误会, 程序员这种死板的生物怎么可能会写对联. 下面的这些对联都非常有趣, 看到别人这样恶搞自己也不免会淡淡的一笑 ...

  5. java程序员跳槽频率_为什么程序员跳槽的频率降低了?

    展开全部 因为这62616964757a686964616fe58685e5aeb931333431356133几年互联网裁员太严重了. 虽然我不是程序员,但是我前阵子看新闻,今年简直就是程序员的寒冬 ...

  6. windows程序如何设计时间片_小程序开发要多久?制作设计小程序要多长时间?...

    最近,很多人都在问,你做一个小程序要多少时间?确实,每个人在做事情之前都会考虑时间成本,今天我就帮助大家具体分析一下开发一个小程序到底需要多长时间. 一,开发前的准备工作 对于很多想要开发小程序的商家 ...

  7. 应用程序编程接口大全_应用程序编程接口101

    应用程序编程接口大全 Do apps like Uber, Pokémon Go and Zomato build their own maps to show where available car ...

  8. 代金券制作小程序秒代金券_小程序制作流程

    如果你交给某人一个程序,你将折磨他一整天:如果你教某人如何编写程序,你将折磨他一辈子. 前端必备基础知识: 如果你是0前端经验来做小程序的话,建议你先看一看基础知识 基础知识: 1.html:了解下常 ...

  9. win10打开程序响应很慢_小程序商城打开加载很慢?你上传的图片是不是太大了,压缩一下吧!...

    原创:轻栈 今天分享一篇纯干货,看完能给小程序商城提速. 打开小程序商城,有时能看到加载条,先看到内容要等等. 等待是一件消磨耐心的事情,在这个浮躁的时代,愿意等的人真的少.所以,我们要找出导致小程序 ...

最新文章

  1. 第二周作业-停车场门禁控制系统的状态机
  2. hdu 1166 敌兵布阵
  3. bulkwrite 批量插入_使用SqlBulkCopy批量插入数据
  4. caffe基础(8):draw_net.py绘制网络结构
  5. 《SAS编程与数据挖掘商业案例》学习笔记之十五
  6. 包装类型与包装类别_包装的重要性
  7. 收发邮件服务器错误,邮件系统收发邮件报错汇总——错误代码550
  8. 计算机一级基础知识理论,计算机一级考试理论试题 第6部分 信息与计算机基础知识...
  9. C++小白课本练习4
  10. 矩阵论复习笔记:盖尔圆的隔离技巧
  11. android mvvm点击事件,c# – MVVMCross:如何将Xamarin.Android事件绑定到ViewModel命令
  12. 光伏蓄电池单相并网模型。光伏+MPPT+boost升压电路+桥式逆变 带参考文件,模型说明文件
  13. 学习心得 Tianmao 篇 RecyclerView.Adapter 我自己的使用理解(类组合模式)
  14. AndroidStudio:The application‘s minSdkVersion is newer than the device API level.
  15. 【pg Postgres】 Postgres解决Permission denied for relation
  16. 谷粒商城 -->「P01-P44」
  17. 工作站 桌面 服务器,高性能图形工作站云桌面解决方案
  18. 分类时为什么都选择one hot编码
  19. Win7 2008 禁用IPV6
  20. 分布式系统之远程过程调用(RPC)精讲

热门文章

  1. C++查看各种数据类型所占字节和最大最小值(数据范围)
  2. Hadoop分布式集群搭建详细过程
  3. HttpClient实现客户端与服务器的通信
  4. 二维数组按行和按列遍历的效率
  5. 浅谈 Windows API 编程
  6. 利用ServiceLocator模式改进JNDI实践
  7. 微软 rms服务器端,微软RMS服务器部署之准备篇
  8. linux编译错误 程序中有游离的,操作系统实验报告 附思考题(24页)-原创力文档...
  9. 协议簇:TCP 解析: 连接断开
  10. 2015电大c语言,2015电大本科C语言程序设计A试题汇总.doc