为什么建议大家使用 Linux 开发?
关注「开源Linux」,选择“设为星标”
回复「学习」,有我为您特别筛选的学习资料~

Linux 能用吗?
我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上。当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使用)?
Linux 有图形界面

文件管理器

这是我使用了近两年的“国产”操作系统 deepin ,界面美不美观我不知道,能用是肯定的。
支持日常开发
首先 Vim/Emacs 表示它们可以搞定,但是我觉得我和它们不熟。..
Java : Eclipse , IDEA , NetBeans , Android Studio ...
Python : PyCharm , WingIDE ...
C++ : KDevelop , Code Blocks ...
Php : PhpStorm ...
前端 :Sublime , VS Code , WebStorm ...
...
社交沟通没问题

居然还有 ICQ ...
由于时间原因,这里使用了 deepin 商店截图 ,其他 linux 发行版不一定有这么丰富,不过安装qq、微信应该没问题
Linux 能替代 Windows 吗?
先列下本人日常使用的软件:
开发:IDEA
数据库:DBeaver , Navicat , PL/SQL
沟通:TIM , 微信
浏览器:谷歌,火狐,360
Office: WPS ,Microsoft office网页版
音乐:网易云音乐
输入法:搜狗输入法
播放器:deepin自带的播放器,VLC
编辑器:Sublime Text
远程控制:TeamViewer,向日葵,VNC,Remmina
下载:迅雷极速版,Aria2
网盘:坚果云,百度网盘
MarkDown编辑器:Typora,Zettlr
终端:deepin自带的(非常好用)
思维导图:XMind ZEN
ftp:FileZilla
PDF:福熙阅读器
虚拟机:VirtualBox,vmware
游戏:Steam,Minecraft(我的世界)
Android APP:xDroid
这些只是我个人日常使用,还有很多优秀的软件没有列出来。至于能不能替代 Windows ,这个问题因人而异。对我而言,在两年的使用经历中,暂时没有遇到过 linux 下不能解决,必须回到 Windows 的。而且,实在不行不是还有虚拟机吗。
Linux 下运行 Android 应用
xDroid 使 Android 应用能运行在 linux 上,极大的扩展了 linux 生态。

是的,你没有看错,不是基于虚拟机或模拟器的,速度可观,占用资源小。这似乎是目前 Windows 都无法做到的。
运行截图

应用市场部分截图


Linux 有什么优势吗?
从一个系统迁移到另一个的系统成本是巨大的,Linux 有什么魅力值得我这么做吗?
Linux 是优雅的
当我在 Windows 下安装一个软件时,首先需要打开浏览器,搜索你想要的软件,小心翼翼的避开广告,当你找到一个看起来是对的网站时,还是得小心翼翼的找到 下载地址 之类而不是巨大的下载按钮,最后再小小翼翼的安装,一定不能漏掉某些勾勾,一旦一不小心漏掉了,就会发现电脑似乎有点卡顿,不一会儿,它的朋友就会出现在你的桌面上。
而在 linux 下,apt install 或者 yum install 之类的命令,就能搞定整个安装。
Linux 不需要选择软件是放 c 盘还是 d 盘,已经定义好了哪些文件该放在哪些地方,
也不需要杀毒软件,
也不需要清理垃圾,
也不需要释放内存,
也不需要激活系统,它是开源免费的,
也不需要磁盘优化,
也没有烦人的弹窗,
也没有强制更新。
Linux 是高效的
这是 linux 最吸引我的地方了
命令行不是一种落后的操控计算机的方式。相反,它一直很高效且富有表达性。
当你想要复制、剪切或删除一个文件时,我相信打开文件管理器在不同窗口之间跳转是没有一条命令来得快。
当你想要查看系统运行状态,我相信移动鼠标,右键,选择任务管理器是没有一条命令来得快。
当你想要编写一个简单的脚本或文件时,我相信打开编辑器,新建文件,编写,选择文件位置保存是没有一条命令来得快。
...
鼠标是很好的工具,但是它有它的局限,毕竟它只有三个按钮。而命令行中使用参数的表达力是无穷的。
减少使用鼠标
通过命令行,浏览器的 Vimium 插件(类似于 Vim 的方式操作浏览器界面),Albert(通过指定按键唤出一个输入框,可以打开 app , 文件 ,url ,直接搜索 ,计算器 ...),系统快捷键再加上IDEA(它的设计思想是键盘优先)我能够很少的使用鼠标。
当然不是鼠标烫手,当你的双手在键盘上飞快的敲打时,直接使用键盘是比右手挪到鼠标上再挪回来要快的,而且这种不中断的体验非常舒畅。
至于这为什么是 linux 的优点,在我过去多年的 Windows 使用经验中,我没有找到自定义系统快捷键的入口,更不用说自定义宏了。Windows 当然也有命令行,不过我认为它的命令丰富程度和各个命令之间的配合是不如 linux 的(有人称之为附属品)。
减少重复劳动
我有一个文件夹,专门存放着我写的各式各样的脚本。大部分时候,你的问题市面上的软件都可以解决,但是当有一些细碎、独特、重复的小任务时。脚本能够帮你很好的解决这些。
比如,我有一个监控生产环境的脚本(其实应该是项目本身自带的),有一个OA守护脚本(其实就是监控我有没有写日报,没有的话发个短信提醒我),甚至还有一个定时发送微信的脚本...
这些脚本能一定程度的解决信息世界的重复劳动,让我更专注于具有创造性的工作上。
启动速度
在我的电脑上,无论是从系统启动速度,还是软件(IDEA,Chrome)启动速度都略胜 Windows 一筹。
使用经验所得,未有准确测试数据。不过IDEA是测过的,快了一秒多
内存占用

Linux 是自由的
上面的只说明了脚本带来的好处,并没有说明是在 linux 下带来。
因为只有 linux 才有这样的开放和可定制,你可以很容易的通过命令来修改系统配置和改变系统状态,甚至于修改内核代码,编译并使用它。
假如不喜欢当前的桌面环境,可以轻易的通过命令来切换。
假如喜欢 mac os ,可以通过网上的教程将 Ubuntu 改成一模一样(甚至包含开机 logo)。
假如不喜欢系统自带的文件管理器,可以选择其他优秀的软件,比如 Nautilus。
假如不喜欢当前终端,有太多选择了,我甚至用过一个模仿一部电影内出现的,极具极客风格的终端。
而相反,比如拿字体来说,在 linux 下我可以通过命令来安装和切换系统字体,而在 Windows 下没有这样的设置或者入口。暂时不太明白为什么这种选择的权利都没有。
而这些仅仅只是一些微不足道的例子。
Linux 也可以是美的
deepin 15.10 中文宣传视频 https://www.bilibili.com/video/av50732978
文章转自:开发者技术前线
关注「开源Linux」加星标,提升IT技能
为什么建议大家使用 Linux 开发?的更多相关文章
- 为什么建议大家使用 Linux 开发
Linux 能用吗? 我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上.当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使用)? Linux ...
- 如何在微软Windows平台上打造出你的Linux开发环境(转载)
如何在微软Windows平台上打造出你的Linux开发环境 投递人 itwriter 发布于 2013-12-10 11:18 评论(1) 有348人阅读 原文链接 [收藏] « » 英文原文: ...
- Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]
Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07 北京海淀区 ...
- 为什么我使用 Linux 开发
Linux 能用吗? 当我对 Linux 的印象似乎还停留在黑乎乎的命令行界面上的时候,我身边的一些朋友告诉我或者建议我使用 Linux 时,我会一脸惊讶的问他,那个怎么用(来开发或者日常使用)? L ...
- 使用window10系统搭建完善的Linux开发环境
https://juejin.im/post/5d22e46ee51d45775746b9b1 导读 在使用window系统开发时由于系统环境和线上环境不一致可能导致各种问题,以及部分扩展库只支持li ...
- 【Linux开发】Linux及Arm-Linux程序开发笔记(零基础入门篇)
Linux及Arm-Linux程序开发笔记(零基础入门篇) 作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer ...
- 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)
遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...
- 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...
- 用Windows+VirtualBox搭建嵌入式Linux开发环境
Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...
随机推荐
- @Bean和@Componet区别
无意在两个类上看到了这两个注解,一个使用了@Bean配合@Configuration,一个使用了@Componet.依稀记得这两个注解都是实现以前在xml中<bean xxx/>的功能,但 ...
- ArrayList跟LinkedList的区别
ArrayList和LinkedList都是实现list接口,它们不同如下: ArrayList是基于索引的数据接口,底层是数组.它可以以O(1)时间复杂度对元素进行随机访问.与此相对,linkedL ...
- Spark学习摘记 —— RDD转化操作API归纳
本文参考 在阅读了<Spark快速大数据分析>动物书后,大概了解到了spark常用的api,不过书中并没有给予所有api具体的示例,而且现在spark的最新版本已经上升到了2.4.5,动物 ...
- 汽车最强大脑ECU和单片机是什么关系
先上图一张,据说这是某个F1赛车的动力总成ECU. 定睛一看,这不就是两个英飞凌的单片机的合体嘛. ECU的定义 ECU原来指的是engine control unit,即发动机控制单元,特指电喷发动 ...
- html实体编码遇上js代码
单双引号 在js代码中 在js中单.双引号引起来的是字符串,如果我们要在字符串中使用单.双引号,需要反斜杠进行转义 let str='user\'s name'; // or let str=&quo ...
- Episode 3:我们想要更好的社交网络
我们为什么爱看评论?怎样的人类文字最有效率?更「好」的手机设计.APP 设计?APP Store 已经十年了?这是 WEB VIEW 的第三期节目<我们想要更好的社交网络>. 链接描述 s ...
- caioj 1002: [视频]实数运算2[水题]
题意:输入三个数,计算并输出它们的平均值以及三个数的乘积,结果保留2位小数. 题解:简单题不写题解了-- 代码: #include <cstdio> double a, b, c; int ...
- centOS一次性更新所有依赖库
CentOS中使用yum一次性更新安装依赖库 [tom@localhost /]# sudo -s [root@localhost /]# LANG=C [root@localhost /]# yum ...
- python---变量、常量、注释、基本数据类型
变量 变量:将运算的中间结果暂存到内存中,以便后续程序调用. 变量的命令规则: 变量由字母.数字.下划线组合而成. 不可以数字开头,更不能全是数字. 不能是python的关键字. 不要用中文. 名字要 ...
- Water 2.5.9 发布,一站式服务治理平台
Water(水孕育万物...) Water 为项目开发.服务治理,提供一站式解决方案(可以理解为微服务架构支持套件).基于 Solon 框架开发,并支持完整的 Solon Cloud 规范:已在生产环 ...