三⼤操作系统⽐较,为什么java开发⼀般⽤Linux系统?
本⽂需要5分钟左右阅读完成,建议收藏以后阅读,⾥⾯都是⼲货,可以亲⾃试验⼀
下,如果觉得好⽤可以帮忙点赞转发⼀下,谢谢!交流学习java⼤数据可以加
460570824。
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与linux的根本区别:⾃由
windows与linux的设计理念有根本性的区别:
windows:⽤户不知道⾃⼰想要什么,也不明⽩⾃⼰在做什么,更不打算为⾃⼰的⾏为负责。
因此windows将所有操作都隐藏起来,只给⽤户提供封装好的功能,⽤户只能在操作系统限制
的范围内操作,如果是普通⽤户,会觉得很windows很舒服,因为不需要思考。只需要按照指
⽰去操作。但对于开发⼈员⽽⾔,这种设计理念是⽆法接受的,⼀旦要做出⼀些超越封装好的
功能之外的事情,就会出现各种难以意料的情况,⽽且很多情况下,这些问题是⽆解的。或者
只能⽤极其蹩脚扭曲的⽅式去勉强处理,然后瑟瑟发抖地期待着程序能正常运⾏。因为⼀旦程
序崩溃,你也会为之崩溃。在windows下作开发,那种体验就好⽐在陪伴⼀个任性的⼥朋友,
虽然长得清秀靓丽,但喜怒⽆常,她开⼼时,彼此相安⽆事,她不开⼼时,就直接哭闹,你问
她:怎么了?她也不说原因,只是⼀直哭。你只能试着⽤各种⽅式去哄她开⼼,即使这次能哄
好她,并不意味着下次同样的⽅法能奏效。这样的相处⽅式,很累。不是她不好,⽽是彼此不
适合。即使终⽇相伴,却依然对其⼀⽆所知
linux:⽤户知道⾃⼰想要什么,也明⽩⾃⼰在做什么,并且会为⾃⼰的⾏为负责。
linux将所有操作权都交给了⽤户,她相信⽤户是理性的聪明的,忠实地执⾏⽤户的指令,向⽤
户暴露所有的细节。⽤户在拥有⾃主权的同时也拥有了破坏⼒,因此普通⽤户根本⽆法驾驭,
可能⼀个指令就把操作系统弄崩溃了。对于开发者⽽⾔,linux的开放与⾃由给了我们⽆限的可
linux系统vim编辑器能性,我们能看到程序是如何运⾏的,运⾏报错也会有友好的提⽰。根据报错指引往往能将问
题解决。与之相处,好⽐与⼀个成熟的⼥性相处,历经风⾬,已经不再关注浮夸的外表,⽽是
关注内在的涵养。刚接触时,可能会觉得她⾼冷,慢慢地,会发现她很善解⼈意,⼼情不好时
她会跟你说是什么原因造成的,彼此商量如何解决这个问题,⽽不是⽆来由地崩溃。与之相
处,会感到很舒服,彼此坦诚,⽆需套路,你在想什么,我都知道。我在念什么,你也明⽩。
因此,我选择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,⼀开始很蹩脚,很不适应,这很正常。如果你⼀直感到很舒服,只能说明你⼀直没有进步。想想我们学了那么多年英语,绝⼤多数⼈还是⽆法掌握英语,看到英语⽂档就直接⾃动屏蔽。其原因都是:⼀直在学,但从来没在⽤。只学⽽不⽤,没有半点⽤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论