大家好,今天小编关注到一个比较有意思的话题,就是关于从哲学层次学习linux的问题,于是小编就整理了2个相关介绍从哲学层次学习Linux的解答,让我们一起看看吧。
各个Linux发行版的风格和哲学分别是怎样的?
好问题。题目太大,不是三言两语说得清,就选一个Linux发行版说说。
Debian GNU/Linux (简称Debian)
***:
哲学:
自由之上,自由软件之上。选择的自由,自由的选择。信奉自由软件,当之不让自由软件界的旗舰产品。
Linux下什么IDE开发工具最好?
我现在更多的时候其实还是用macOS比较多一点,尤其是工作的时候,MacOS确实能够很好的兼顾到所有场景,至少做keynote、剪辑视频这些用Linux还是没办法的。不过自己在家里写写代码我会用Linux,目前我的桌面Linux是Deepin,不过我个人更青睐Arch Linux,滚动更新确实还是很棒的。
这个可能到现在也是很多Linux工程师的标配,比较大的互联网公司,基本上后端开发还是以这种方式为主,在以C/C++为核心技术栈,基本上是本地办公机器用iTerm、Zoc通过SSH方式连接登录远程Linux开发机进行工作。
这样的企业并不在少数,Google、百度、Facebook、腾讯很多后端工程师都是这样工作,这样的开发模式是长期形成的习惯,也在特定场景下确实有很大的优势。现在很多公司也都在推行Visual Studio Code这款工具,不少企业也基于这款工具做了很多契合自己公司业务的插件。
版本管理现在基本上都已经迁移到了git,当然大公司不会限制你使用什么开发工具,只要是合理范围内,你都可以自己选择。顺便给大家推荐一下,其实不管是MacOS还是Linux,tmux是个非常不错的工具,这款工具搭配Vim使用非常好,个人强烈安利。BeyondCompare也非常实用,不过这都不是必须。
不同的企业核心技术栈不太一样,即使是前端开发,大家所用的工具也都有很多不同,有的喜欢用sublime text,有的喜欢用Visual Studio Code,每个企业都有自己喜欢的开发环境。
后端这块就更多了,C/C++、JAVA、C#、PHP、Go、Python等编程语言,都是比较常用后端编程语言,从技术上来说我倾向于大家C/C++,Go这几个后端技术栈,当然Python在人工智能领域确实有独特的优势。移动端还有iOS和Android,都有对应的开发环境,不过Linux下目前还做不了iOS开发。
C/C++集成开发环境,我个人比较喜欢CodeBlocks和CLion,CodeBlocks是个非常轻量级的集成开发环境,跟GCC、GDB这些开源工具相处和谐,CodeBlocks本身也是开源跨平台的,唯一的遗憾就是CodeBlocks在MacOS很久没有更新了。
推荐不用IDE,为什么呢?请容我娓娓道来。
比较常用的重量级IDE:jetbrain系列
比较常用的轻量级IDE:visual studio code
但……如果这么用的话其实跟在Windows下开发也没多什么区别。。。
Linux可以说跟Unix很有渊缘了,Linux走的就是兼容Unix路线,所以普遍上认为Linux开发工程师=Unix开发工程师。
被称为计算机天才的王垠在《完全用Linux工作》写道:“
一个 IDE 集成了编辑器,编译器,汇编器,调试器,跟踪器…… 这个编辑器功能肯定比不上 VIM 或 Emacs,编译器比不上 GCC,汇编器比不上 as,调试器比不上 gdb, ddd, 跟踪器比不上 strace, ltrace, truss。你得到的是一套整合的低能的程序。如果你对调试器的功能不满意,你只好换用另外一套 IDE,但是这套 IDE 的热键,菜单,编辑器功能,按钮…… 跟原来那个有很大不同。你不得不花很多时间来熟悉新的环境,而不能保持原来的某些东西。
而在 UNIX 下就不一样了。你可以用你最喜欢的 VIM 编辑程序,你在 VIM 里可以调用 GNU make,make 可以调用 gcc, ld, ... make 的出错信息可以被 VIM 捕获,VIM 能帮你在源程序里定位。你如果喜欢 icc, 你可以让 make 用 icc 而不是 gcc。你如果觉得 gdb 跟踪变量时比较麻烦,你可以用 ddd 来显示各种数据结构之间的关系。你还可以在 Emacs 里调用 gdb,那样就可以同步显示[_a***_]了。而且 VIM 和 Emacs 还可以编辑很多其它东西,比如信件,LaTeX 文档,HTML,配置文件…… 你不用另外找一个什么编辑器来干这些杂活了。很多程序比如 Mutt, tin 都可以在内部使用 VIM,这样就更方便了。实际上 make 在其它方面还能帮你很多忙,我的每一个比较大型的 LaTeX 文档都是用 make 维护的。”
简言之就是强大Linux开发工程师都是不用IDE的,即使目前IDE如此丰富,但目前在一些大型项目,仍然需要写makefile,而不是直接点击IDE运行程序。这就是相比Windows有趣的地方,Linux的开发工具小巧而自由。
到此,以上就是小编对于从哲学层次学习linux的问题就介绍到这了,希望介绍关于从哲学层次学习linux的2点解答对大家有用。