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

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

作者:猫嗅花

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的缺点,那就是贵...

0331e8aa3042854d5135b32ca6e9aa26.png

windows_vs_linux_vs_mac

windows与linux的根本区别:自由

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

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

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

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

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

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

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

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

2329902e8cb6be08b91e0e190e99cacc.png

无理取闹

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 职场文章

912febc59b3024d07ac75e853578e549.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

url中能出现的字符_网站URL配置4个技巧,轻松获得更多流量

对于刚入行的SEO新人,我们在做企业网站优化的时候,通常都是按照程序员设置的网站架构进行线上基础性内容的优化,特别是在使用一些固定CMS系统的时候,大量的站内URL都是配置固定的,很少有人去关注这方面对SEO的影响。那…

怎么修剪_幸福树怎么修剪——武汉花卉租摆

幸福树,一种寓意美好的观赏型植物,它生长非常迅速,稍不注意就长的非常茂盛。而要想保证幸福树的美貌,跟人的头发一样,我们要给它适当的修剪,那幸福树怎么修剪呢?为了大家能养出美丽的幸福树来&a…

mybatis传递多个参数_MyBatis 映射器

ps 一个用于生成MyBatis配置文件的插件 mybatis-generator使用方法呢, 是加入maven插件中 然后执行相关命令可以实现自动生成MyBatis配置文件自动映射首先编写无参的javabeanpackage com.ming.MyBatis.POJO;/** * author ming */public class Role { private int id; private S…

计算机软件水平考试什么题型,计算机软考考什么内容

原标题:计算机软考考什么内容计算机软考考试内容有哪些?软考包含三个级别,各级别有多个考试项目,不同的考试项目考试内容也是不同的。软考考试内容大家可以参考各考试项目的考试大纲,包括新版的系统分析师考试大纲、系…

mac os 开启redis_关于Redis,学会这8点就够了

一、redis是什么redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。二…

python第八周小测验_Python语言程序设计第2周测验+练习题复盘

嘿,这里是目录! 练习网址 https://python123.io/index 测验2 单项选择题 1. 哪个选项不能正确引用turtle库进而使用setup()函数?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬…

计算机设备管理器驱动,驱动技巧:解决设备管理器中声卡驱动安装不正确的问题...

分类:声卡驱动问题:设备管理器中声卡驱动安装不正确描述:电脑没有声音,有部分朋友是因为声卡驱动没有正确安装,除了我们常见到的设备管理器出现黄色感叹号之外,另一种情况就是让一般人很难发现的问题&#…

lisp对excel其他行列写入_【极简Python 自动化办公】Python写入Excel表格

【极简Python 自动化办公】Python写入Excel表格【极简Python 自动化办公】专栏是介绍如何利用python办公,减少工作负荷。篇幅精炼,内容易懂,无论是否有编程基础,都非常适合。在上次文章中,我们学习了【用python读取exc…

全国大学生计算机应用大赛有什么好处,我校学生喜获第十一届全国大学生计算机应用能力与信息素养大赛冠军...

2021年6月,第十一届全国大学生计算机应用能力与信息素养大赛通过腾讯会议视频全程监控在线作答的形式圆满结束。本届大赛共有来自117所院校932名选手参加全国总决赛。经过校园赛选拔,考前集训,我校共选出3名40本科班同学参加了该赛项&#xf…

java8 lambda map排序_Android兼容Java 8语法特性的原理分析

本文主要阐述了Lambda表达式及其底层实现(invokedynamic指令)的原理、Android第三方插件RetroLambda对其的支持过程、Android官方最新的dex编译器D8对其的编译支持。通过对这三个方面的跟踪分析,以Java 8的代表性特性——Lambda表达式为着眼点,将Android…

lrange是取出所有值并移除么_部落冲突:兵营容量提升,移除超级部队、英雄防御状态冷却时间...

爱生活,爱游戏,大家好,我是阿呆!部落冲突已经好长时间没更新了,这次秋天不再等待,部落冲突第二弹更新来袭,被称之为今年最赞的一次更新,感觉和我一起来看看吧!防御建筑升…

python爬取百度迁徙数据_python爬虫-动态爬取百度迁徙

#1.模拟浏览器发送请求 importrequestsimportjsonimportpandas as pd city_name[] province_name[] value[] url https://huiyan.baidu.com/migration/cityrank.jsonp?dtcountry&id0&typemove_in&date20200315&callbackjsonp_1590404076900_7186798rqrequests…

计算机系统硬盘内存主频,内存时序和频率_内存硬盘-中关村在线

内存时序和频率内存时序是描述内存条性能的一种参数,一般存储在内存条的SPD中。一般数字“A-B-C-D”分别对应的参数是“CL-tRCD-tRP-tRAS”,它们的含义依次为:CAS Latency(简称CL值)内存CAS延迟时间,它是内存的重要参数之一&#…

ubuntun系统mysql数据库同步_Canal 实现 Mysql数据库实时数据同步

简介1.1 canal介绍​ Canal是一个基于MySQL二进制日志的高性能数据同步系统。Canal广泛用于阿里巴巴集团(包括https://www.taobao.com),以提供可靠的低延迟增量数据管道,github地址:https://github.com/alibaba/canalC…

int数组初始化_Java数组

###理解数组Java的数组要求所有的元素为相同数据类型。既可以存储基本类型的数据,也可以存储引用类型的数据,只要所有元素的类型相同就可以。一旦数组的初始化完成,数组在内存中占用的空间就被固定下来,因此数组长度不可变&#x…

各自然带代表植被_植被垂直带谱?水与热之间的较量。

随着海拔高度的上升,从山麓到山顶年平均气温逐渐降低,生长季节逐渐缩短,同时在一定海拔范围内随着降水量的增加,风速加大,辐射增强,土壤条件也发生相应的变化。在以上因素的综合作用下,植被表现…

ora00936缺失表达式怎么解决_初学者学习AE经常会遇到问题及解决方法,快进来看看吧!~~...

关于软件常见问题请一定要收藏对初学者的你绝对有用首先解决的第一个问题是:软件安装失败提示及解决方案说起原因安装失败是由AE的某些文件没有删除干净(绿化版本极易造成,不建议安装)解决方案(所有Adobe软件通用)如果安装过Adobe公司的软件需要在以下路…

matlab画出周期为2的方波图形 傅立叶级数_高等数学系列R之四:傅立叶级数及变换...

2020-03-23傅立叶级数是将周期函数表示成由多个 (或无穷多个) 不同频率的正弦函数和余弦函数的线性组合,这些不同的频率是不连续的,例如傅立叶级数:,其 sin 内的 x, 3x, 5x 是不连续的。而傅立叶积分是将傅立叶级数延伸到非周期函…

两线怎么接三线插座图_什么是RTD热电阻?两线制和三线制RTD有什么不同?

RTD的英文全称为“Resistance Temperature Detector”,因此准确来说,它应该翻译为“电阻温度检测器”。RTD是一种特殊的电阻,其阻值会随着温度的升高而变大,随着温度的降低而减小。工业上利用它的这一特性进行温度测量&#xff0c…

计算机内存条价格,最新内存条天梯图2020 内存条全面选购指南

*文章末尾有内存条推荐。电脑内存(RAM)是程序运行的地方,当你打开一款软件、游戏时,系统会将硬盘中的必要数据复制到内存中,CPU 再从内存中获取数据,因为内存的速度比硬盘要快的多多多。唯一的遗憾是每次内存断电,其中…