linux编程用到什么编程语言,学好编程第一步,你得学会用什么工具来提高编写效率...

怎么选用编辑器

大家在学习编程的时候,必然要面临一个问题,选用什么编辑器来编写代码。编辑器有很多种,一般可以分为两类,一种是文本编辑器,一种是IDE。文本编辑器就是简单的书写文本,比较常见的是vim,sublime,notepad++等。IDE翻译成中文,叫集成开发环境,听名字就知道,肯定功能要更为强大丰富一些。主流常用的IDE就很多了,而且每一门编程语言都有自己的编辑器。比如WebStome, Eclipse,Vs Code,PyCharm等等等等。

大家不禁要问了,写代码为什么要用编辑器呢,而且这么多种类的编辑器,我们又该选那种。

在我看来,使用编辑器的理由,一般也就是下面这三种情况。

1. 提高工作效率

不得不说,选择一个好用的编辑器,确实可以很大程度上提高我们编程的效率。尤其是那些IDE,功能强大到你想象不到。通常,IDE里会内置代码智能提示,项目文件管理,代码调试,语法高亮,单元测试,版本控制。这么说吧,除了不能自动分析需求,帮你把代码自动完成之外,其他你能想到要用到的功能,它们都已经给提供了。

试想一下,如果有这么一个工具,可以让我们的编程无比的简单,我们代码想不起来了给我们提示,代码写错了帮我们指出来,代码写完了可以快速的运行,这能给我们提高多么大的编程效率。我们有什么理由不去用它。尤其是对于新手程序员,更加对此爱不释手了。

2. 特定环境下,必须要用到的编辑器

在一些特定的环境下,能给你提供的编辑器的选项可能并不多。在这个情况下,那种为数不多可供你选择的编辑器,就是你必须学会使用的。

我们都知道,现在的系统环境分为三种,windows,Linux,Mac。虽然我们可能会在Windows下编写代码,但是开发完的项目一般是运行在Linux环境下的。Linux系统呢,作为服务器,是不提供可视化页面的,它的界面一般是这样的:

在这种环境下,一般是不会有功能强大的IDE来供我们使用的。它能提供的编辑器,90%的可能是一个叫Vim的软件。所以,学习并使用Vim,是我们不得不去做的选择。

3. 装逼,带你飞

最后一点,可能是大部分程序员选择编辑器的初衷。

如果你在写代码的时候,是这样的

92969c9ce882e22b2ae8eeb939efa465.gif

点击播放 GIF 0.0M

尤其是周围再围了一群程序员,用崇拜的眼神望着你,我觉着这个理由不需要做任何解释了。

“我擦,牛逼!”

“大神,快教教我,我要学!”

编辑器鄙视链

网上其实有很多关于程序员的鄙视链。什么编程语言,编辑器,甚至是编程理念都是这个链条中的一个分支。

我们可以发现,在这个鄙视链条上,跟我们上一个模块所介绍的内容,其实并不一样。仿佛越是越是功能简单的编辑器,才越有优越感,才越像是大神。反倒是那些能把编辑器用的溜到飞起,功能酷炫,能让人瞬间跪倒崇拜的效果,竟然是最被鄙视的存在。

这可能就说明,越是高手越注重内在的修为,而不关心外物的辅助,早已达到了“心中有代码,信手可拈来”。这种才是真的大神,才是真的值得我们膜拜。

不过对于我们这些,还是初级水准并且将长期出于初级水准的程序眼而言,大神的世界不是我们能懂得,我们不要担心被鄙视,我们还是应该找一个功能强大,能够很大程度上提高我们工作效率的工具。

常用的编辑器推荐

开篇我们其实就已经说到了,每门语言都有着自己常用的编辑器。

当然了,经过这么多年的发展,编辑器之前也在相互借鉴,取其精华,用于己身。现阶段的编辑器,功能都已经差不多,而且都已经能够做到对各种编程语言的支持。

接下来,我来介绍几个在我们工作中,比较常用的编辑器。

Vim

如果你只能选择一款编辑器的话,Vim一定得是这个选项。并不是说Vim的功能有多强大,相反,会用Vim的人觉着它的功能好用到逆天,但是更大一部分人根本就没办法入门。但两级分化这么大,为什么我们还得去学习使用它。

前文也提到,我们的代码通常会在三个操作系统中使用,Windows,Linux,Mac。现在开发环境里,99%的代码应该都是运行在Linux环境下,而Linux,作为一个有着高门槛,有逼格的操作系统,很多时候,它连图形桌面都没有,更加不可能给我们提供其他功能复杂的IDE软件了。Vim差不多就是这个系统里标配的文档编辑器。你说你不会用,那不好意思,你可能也没有其他的编辑器可用了。

所以,Vim的入选,是有着不可抗力的。

当然了,Vim其实可以被称之为编程神器。它能够屹立不倒这么多年,在Linux环境下达成垄断地位,本身的实力也是不能小觑的。

Vim是可以功能定制的。在最基本的版本里,我们可以通过命令进行文档的编写,查找,替换这些常用的工作。还可以安装不同的插件,实现代码调试,高亮提示,断点调试,页面美化,达到完全不输于其他高级IDE的功能效果。

Sublime

Sublime同Vim一样,也是一个轻量级的文本编辑器。官方提供Windows,Mac两个版本,在Linux下是使用不了的。

Sublime的最大优势,可能就是速度快。用它来编辑代码,运行速度可能就跟我们在Windows里打开了记事本差不多,但是它所能提供的编程体验,却丝毫不低于其他功能复杂的IDE。

Sublime也是可以根据自己的需求进行定制化的。基本上你实际工作中会用到的功能,都会在Sublime中找到适用的插件。

VSCode

接下来,我们再介绍两个常用的IDE。IDE翻译过来叫集成环境,所以它们的功能一定是十分强大丰富的。也正因为这一点,IDE都是很重量级的软件,往往要依赖很多其他的运行环境,比如Java环境,比如.NET环境。有时候,安装完一个IDE,可能会占用我们电脑上几百兆甚至上G的空间。而且在软件运行的过程中,电脑的内存和CPU的使用情况也会激增,一定程度上会拖累我们电脑的运行速度。

所以我一般是不推荐使用IDE的,但是也不得不说,熟练掌握一个IDE,确实可以很大程度上提高我们的工作效率。

VSCode是微软出的一款轻量级代码编辑器,免费、开源而且功能强大.它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。

其他的代码编辑器在打开特别大的文件时可能会有明显的卡顿,但是 VSCode 就是秒开,速度和 Notepad++ 不相上下。而总体体验上 VSCode 要比 Notepad++ 好不少,NotePad++ 的功能相比 VSCode 来说还是弱了点。因为打开速度特别快,所以 VSCode 也非常合适作为普通文本阅读器。

Atom

Atom 是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。

开发团队将 Atom 称为一个“为 21 世纪创造的可配置的编辑器”,它拥有非常精致细腻的界面,并且可配置项丰富,加上它提供了与 SublimeText 上类似的 Package Control (包管理)功能,更重要的是atom的包管理工具可视化了插件的配置,以及插件的使用帮助以及对应的github的地址,这很大层度上方便了开发人员将 Atom 打造成真正适合自己的开发工具.

作为一个现代的代码编辑器,Atom 有着各种流行编辑器都有的特性,功能上非常丰富,支持各种编程语言的代码高亮(HTML / CSS / Javascript / PHP / Python / C / C++ / Objective C / Java / JSON / Perl / CoffeeScript / Go / Sass / YAML / Markdown 等等), 与大多数其他编辑器相比,Atom的语言支持已经算是覆盖非常全面了.另外,它的代码补全功能(也叫Snippets) 也非常好用,你只需输入几个字符即可展开成各种常用代码,可以极大提高编程效率.

我们需要掌握到什么程度

这几个编辑器,各有所长,各有自己的不足,针对不同的开发人员,可能需要根据自己的喜好来选择,不过幸运的是,这几个编辑器的使用方式大同小异,基本上可以无痛的迁移到任何一个编辑器上。

虽然编辑器给我们提供了无数好用的功能,但是我们却没有办法真正的把这些工具都研究通透。毕竟我们使用它们的目的还是为了编写代码,而不是为了产品研究。对于我们日常编写代码而言,其实主要常用的功能也就几个,我们只要把这些功能掌握了就可以了。

1. 文本编写

这是文本编辑器最基本的功能。就是我们可以使用它来进行书写内容。至于怎么书写能够让我们更有效率,就是功能强大的编辑器能够俘获我们的特性。

比如我们要批量的替换文档中的文字,需要格式美化,需要字符串查找,需要能够很快速的帮我们更换文本格式,支持多种编码等等。

2. 编程语言支持

这种支持,指的是代码高亮,能够提供语法检查和代码提示。

大部分的编辑器其实都能做到这一点,但并不是所有的编辑器都会默认支持。有时候需要安装一些插件,它才能真正的被支持。

3. 支持项目管理

一般的编辑器,其实都只是对单个文件的操作。但是对于我们写程序来说,一个项目里可能会有成百上千个文件,而且每个文件中的代码都还会有关联,存在相互调用的关系的。这就需要编辑器能够帮助我们理清楚这些文件的依赖关系。

很常见的一个需求点是,A文件中调用了B文件的一个函数方法,我们在调试代码的时候,需要在A文件快速的定位到B文件中这个函数方法,这种功能就不是一般的文本编辑器可以实现的了。但是在IDE中呢,却是一个最基本的功能。

4. 集成代码管理工具

代码管理工具,目前用的普遍的就是Git了。具体这个软件是做什么用的,我们会在其他篇章中介绍,但是编辑器对这种工具的支持,却是十分有必要的。

总结

对于编辑器,各有所长,也各有自己的不足,针对不同的开发人员,可能需要根据自己的喜好来选择,不过幸运的是,目前市面上的编辑器,使用方式大同小异,基本上可以无痛的迁移到任何一个编辑器上。

我们不管选用哪一个,都是为了能够更好的进行代码的维护和编写。最基本的操作一定要熟练。剩余其他的更高级的方法,则也要慢慢的了解熟悉。没学会了一个好用的方法,可能你的编码效率都会有极大的提高。

我是旭积博发,我致力于分享和关注在线教育行业。欢迎大家关注和分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一门linux下c++通讯架构实战课程,针对c/c++语言已经掌握的很熟并希望进一步深造以将来用c++在linux下从事网络通讯领域/网络服务器的开发和架构工作。这门课程学习难度颇高但也有着极其优渥的薪水(最少30K月薪,最高可达60-80K月薪),这门课程,会先从nginx源码的分析和讲解开始,逐步开始书属于自己的高性能服务器框架代码,完善个人代码库,这些,将会是您日后能取得高薪的重要筹码。本课程原计划带着大家逐行代码,但因为代码实在过于复杂和精细,带着代码可能会造成每节课至少要4~5小时的超长时间,所以老师会在课前先好代码,主要的时间花费在逐行讲解这些代码上,这一点望同学们周知。如果你觉得非要老师领着代码才行的话,老师会觉得你当前可能学习本门课程会比较吃力,请不要购买本课程,以免听不懂课程并给老师差评,差评也会非常影响老师课程的销售并造成其他同学的误解。 这门课程要求您具备下面的技能:(1)对c/c++语言掌握的非常熟练,语言本身已经不是继续学习的障碍,并不要求您一定熟悉网络或者linux;(2)对网络通讯架构领域有兴趣、勇于挑战这个高难度的开发领域并期望用大量的付出换取高薪;在这门课程中,实现了一个完整的项目,其中包括通讯框架和业务逻辑框架,浓缩总结起来包括如下几点:(1)项目本身是一个极完整的多线程高并发的服务器程序;(2)按照包头包体格式正确的接收客户端发送过来的数据包, 完美解决收包时的数据粘包问题;(3)根据收到的包的不同来执行不同的业务处理逻辑;(4)把业务处理产生的结果数据包正确返回给客户端;本项目用到的主要开发技术和特色包括:(1)epoll高并发通讯技术,用到的触发模式是epoll中的水平触发模式【LT】;(2)自己了一套线程池来处理业务逻辑,调用适当的业务逻辑处理函数处理业务并返回给客户端处理结果;(3)线程之间的同步技术包括互斥量,信号量等等;(4)连接池中连接的延迟回收技术,这是整个项目中的精华技术,极大程度上消除诸多导致服务器程序工作不稳定的因素;(5)专门处理数据发送的一整套数据发送逻辑以及对应的发送线程;(6)其他次要技术,包括信号、日志打印、fork()子进程、守护进程等等;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值