作为一个每天的接触计算机的程序员,肯定也会接触形形色色的软件,不过今天在此介绍的三款软件,则是我每天都要用到的,而且我认为它们非常好用,极大的提高了我的开发效率。

1、Chrome

  Google的大名可谓是无人不知无人不晓,它的出色绝不仅限于他们提供的搜索服务,早已融入人们的生活的Android系统也是他们的杰作,此外世界上最大的视频网站Youtube、屹立多年的Gmail服务等等也为人们的生活提供了极大的方便。今天要介绍的则是他们另一款令人惊艳的作品 - Chrome。

  随着互联网时代的到来,Web应用也融入人们生活的每个部分,此时,选择一款绝佳的浏览器就显得尤为重要了。出色的浏览器有很多,比如Mozilla的Firfox、Apple的Safari,日渐低沉的Opera,以及Microsoft想要借之一雪IE前耻的Edge,而我则偏爱Chrome,接下来从以下几点进行简单比较。

1、速度

  不论出于任何原因选择一款浏览器,运行流畅必然是最重要的因素之一。这点Chrome则表现的很好,我的电脑上同时安装了Chrome和Firefox,在8G内存+SSD的配置下,打开Firefox仍有延迟,而Chrome基本秒开,实际上,在配置稍差的机器上,打开Firefox可能需要5秒以上的时间,这对于一些像我一样急性子的人来说,还是很痛苦的。另一方面,在网页渲染方面,两款浏览器都很出色,差异性不大,这点可以打开比较复杂的网页感受一下,比如淘宝首页,做如此多的图片下,两款浏览器都能出色表现。而对于IE浏览器来说,来看一副漫画:

2、兼容性

  兼容性要分很多方面,对于操作系统这个大平台来说,Firefox和Chrome都是跨平台的,在Linux、OS X、Windows,以及移动端上都能使用。而Safari虽然在Windows也能用,但是已经很久不更新了。而Firefox在Windows XP下仍能正常使用,这恐怕也是其启动速度稍慢的原因之一吧。

  对于开发者来说,更重要的则是它们对于网页的兼容性,需要一提的是Edge,它们已经支持了ES7标准,而Chrome在52版本之后也支持了这个版本。而在浏览一些传统网页的时候,这几款浏览器都能满足需求,不得不说的还是IE浏览器,使用低版本的IE则和我们看到的简直不是同一个Web世界。另一方面,Webkit内核的浏览器确实已经越来约受欢迎了,Opera也是放弃了原来Presto而转投Webkit的怀抱,事实上,大多数的国内浏览器内核,也是基于Webkit的。

3、开发者工具

  Firefox下的调试工具Firebug在开发者圈子里大名鼎鼎,其易用性毋庸置疑,作为鼻祖级的浏览器调试工具,让调试Js代码变得简单,而其他浏览器下的调试工具也不断完善,Chrome下的调试工具也提供了一些更好用的特性。

  浏览器插件也是浏览器的重要特性之一,Chrome背后有各种各样强大的浏览器插件,之前我看到了一个厉害的插件,甚至能在浏览器上运行安卓程序!丰富的插件也是我选择Chrome的重要原因之一。

  等等?好像没怎么评价Safari?它是苹果的亲儿子,面向的是使用苹果系统的用户,我没用过几次。而Edge确实很出色,但是它是运行在Windows 10平台上的,而且由于个人习惯以及心底对IE的阴影,我没有选择它。

2、Intellij IDEA

  对于一些有编辑器情节的程序员来说,总是对IDE也莫名的抵触,认为VIM、Emcas等单纯的文本编辑器才王道。谁也无法否认这些王牌编辑器的地位,但是与其把编辑器改造的和IDE一样,为什么不直接使用一款IDE呢?

  Intellij IDEA是Jetbrains开发的一款集成开发环境,通常是用来写Java代码的,不过安装插件之后,它也能用来写其它类型的代码。事实上,Jetbrains公司出色的IDE有还多,比如PhpStorm、WebStorm、PyCharm等,是针对不同语言的版本,使用起来,大同小异。不得不说的是,Android Studio的出世,是更多的Android程序员不用再使用Eclipse写代码了,它也是基于Intellij IDEA的。

1、优点

  我们可能经常会遇到这样的问题,由于开发前没能对程序完全的把握,导致程序中要修改一些代码,比如简单地修改一个变量的名字,我们可能很尴尬的发现这个名字在很多文件中出现了,传统情况下要逐个修改吗?那太痛苦了!这一切在Intellij IDEA中是自动完成的!

  我也是VIM众多的粉丝之一,实际上,在远程操作服务器上的文件时,VIM是我的唯一选择。但是在本地写一些并非单个文件能解决问题的代码时,我就要使用IDE了,而且,Intellij IDEA的自动补全功能也很完善,极大的提高了开发效率,而且对于像我这样记不住方法名的菜鸟程序员来说,这简直就是一个福音。

  实际上,Intellij IDEA的还有更多的高级用法,我也只是用到了其中极少的一部分,这个过程慢慢探索吧,当你发现一块“新大陆”的时候,你会惊叹:“天啊!我以前竟然不知道这个功能,那样写代码也太痛苦了!”。

2、缺点

  最主要的问题就是配置要求过高。由于大量的高级功能,Intellij IDEA对机器配置要求很高,配置稍差的电脑很难使用这个IDE,实际上,很多的Android程序员还在使用Eclipse就是因为:“我打不开那个Android Studio啊!”。

  另外Intellij IDEA还有一些已知的bug,毕竟它是如此复杂的一个软件,好在没有影响大局,用它来写代码还是很舒服的!

  值得一提的是,Intellij IDEA的旗舰版本是付费的,我们可以免费使用30天。而社区版本是免费的,不过功能上受到了一些限制。

3、Cygwin

  每次电脑出问题导致重装系统之后,我必装的软件之一就是Cygwin。它是用来干什么的呢?简单来说,它提供了能在Windows下完成一些Linux的操作。如果你是一个Linux的狂热爱好者,必然对Windows有着一些偏见,但是由于太多Windows才能使用的软件,或者是家里人不会使用Linux等原因,导致你不能放弃Windows,这时候该怎么办呢?Cygwin就是你的最佳选择!

  Cygwin只是提供了类似于Linux的环境,实际使用上还是有一些差异的。不过已经能满足我基本的需求了,Cygwin提供了大量Linux下的程序,使得他们可以在Windows正常运行?这次不用使用难看的Putty来访问远程的LInux主机了!也可以方便的敲几下键盘就把代码push到github了!

  很多程序员对命令行操作情有独钟,Windows下提供了一个“命令提示符"的应用程序,就是常说的cmd,又丑又难用,而powershell的出现貌似并没有彻底解开这个尴尬的局面,以至于Windows 10系统中内置了一个Ubuntu子系统,这是一个很激动人心的事情,你甚至可以使用apt命令来安装软件了,但是由于Windows 10系统某些神奇的bug,我没有使用它,既然Cygwin能满足我的基本需求,而且它也足够好用,那就是它了!

  对于懒得安装双系统、或者是不愿意在两个系统中频繁切换的人群来说,Cygwin也真是救星!最后秀一张Cygwin的截图吧。

浅谈三款常用软件 - Chrome、Intellij IDEA、Cygwin的更多相关文章

  1. 减少可执行程序size的三个常用软件

    减少可执行程序size的三个常用软件 linux下面,直接用strip 这个命令 #:strip xxx 可以去掉编译调试信息和各种符号表,能够大大减小可执行程序size windows下面这种exe ...

  2. Python 浅谈编程规范和软件开发目录规范的重要性

    最近参加了一个比赛,然后看到队友编程的代码,我觉得真的是觉得注释和命名规范的重要性了,因为几乎每个字符都要咨询他,用老师的话来说,这就是命名不规范的后续反应.所以此时的我意识到写一篇关于注释程序的重要 ...

  3. 【图像编辑】三款图像编辑软件Photoshop、AffinityPhoto、Gimp非专业简单横向对比

    人的感知分为:视觉.听觉.嗅觉.味觉.触觉.视觉即是对光的强弱.颜色.鲜艳程度的感知.视觉在纸质上通过图像来表达,在计算机数字领域则通过图像(位图)和图形(矢量图)来表达,本文提及的三款软件均为图像( ...

  4. python浅谈编程规范和软件开发目录规范的重要性

    前言 我们这些初学者,目前要做的就是遵守代码规范,这是最基本的,而且每个团队的规范可能还不一样,以后工作了,尽可能和团队保持一致,目前初学者就按照官方的要求即可 新人进入一个企业,不会接触到核心的架构 ...

  5. Servlet 浅谈(三)

    关于Session 关于http协议后面会有一系列文章专门介绍.这里就大概了解一下:首先需要知道一点:HTTP是无状态的. 什么是无状态呢? 客户与服务器建立连接.发出请求.得到响应.关闭连接.整个流 ...

  6. 浅谈UML中常用的几种图——用例图

    1.UML简介 统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的 ...

  7. salesforce lightning零基础学习(十) Aura Js 浅谈三: $A、Action、Util篇

    前两篇分别介绍了Component类以及Event类,此篇将会说一下 $A , Action以及 Util.  一. Action Action类通常用于和apex后台交互,设置参数,调用后台以及对结 ...

  8. 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)[转]

    我一直在思考软件公司如何开源节流.当然,老板也在思考开源节流.当然,老板思考的开源节流在公司运营层面上,而我作为CTO,我考虑的则是在产品运营角度上来思考这个问题.否则,一个软件公司,它的生存与发展就 ...

  9. 13.Object-C--浅谈Foundation框架常用的结构体

    ------- android培训.iOS培训.期待与您交流! ---------- 昨天学习了Foundation框架中常用的结构体,下面我简单的总结一下,如果错误麻烦请留言指正,谢谢! Found ...

随机推荐

  1. Debian9(8)下python3和python2同时安装如何使用pip

    在bash下Python会调用python2.x python3会调用python3.x 如果使用pip install命令安装模块会安装python2的模块. 而python3的pip命令使用的是p ...

  2. NOIP模拟赛10

    T1 [HAOI2010]软件安装 https://daniu.luogu.org/problem/show?pid=2515 树上背包,如果有i必须有j,j作为i的父节点 O(nm²) #inclu ...

  3. 课程设计——利用信号量实现读-写者问题(JAVA)

    package cn.Douzi.ReadWriter; import java.util.Scanner; public class ReadWrite { static public int co ...

  4. 关于Java泛型深入理解小总结

    1.何为泛型 首先泛型的本质便是类型参数化,通俗的说就是用一个变量来表示类型,这个类型可以是String,Integer等等不确定,表明可接受的类型,原理类似如下代码 int pattern; //声 ...

  5. [\u4e00-\u9fa5] //匹配中文字符

     [\u4e00-\u9fa5] //匹配中文字符 ^[1-9]\d*$    //匹配正整数^[A-Za-z]+$   //匹配由26个英文字母组成的字符串^[A-Z]+$      //匹配由26 ...

  6. HTML如何编写为桌面程序

    学过/用过HTML的人应该都知道HTML是标记语言,是在网页上执行/使用的,在这里小编告诉你HTML也可以用来做桌面程序,这种桌面程序一般是微客户端 工具/原料   html dreamweaver ...

  7. PHP 结合实例认识 Socket

    一.简介 (本部分参考自 揭开Socket的神秘面纱 - 源码工作室) 请结合下图 Socket 抽象层的位置来理解.Socket 是应用层和 TCP/IP 协议族进行通信的中间软件抽象层,是一组接口 ...

  8. mysql开启GTID跳过错误的方法【转】

    1.数据库版本 MySQL> select version()    -> ;+-------------------------------------------+| version( ...

  9. Elasticsearch5.0 安装问题集锦【转】

    转自 Elasticsearch5.0 安装问题集锦 - 代码&优雅着&生活 - 博客园http://www.cnblogs.com/sloveling/p/elasticsearch ...

  10. 关于Java代码优化的35条建议

    代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是, ...