Turbo C

不要惊讶,这玩意确实是个货真价实的IDE。不知有多少人学生时代学习C语言是从Turbo C开始的。在那个Windows XP已经普及的年代,学校里居然还在用着DOS界面的TC教学,实在让人很无语。

不过至少它是个IDE。你写完代码保存后,按一个键,程序就运行出来了。学生可以专注C语言的语法而不用关心编译、链接这些层面的问题,多少给初学者提供了方便。但是这样教出来的学生,除了用C语言做几道常见的题目之外还会觉得C语言有其他用处么?

因为用TC写代码太难受了,在计算机二级考试中我是直接拿记事本写的。旁边的监考老师提醒我用TC,我说没事,他就甩下一句“考不过别怪我没提醒过你”就走了……

Visual Basic、Visual C++、Visual Stdio

在高中时学过一点VB,IDE理所当然的用VB6。当时感觉做桌面程序很简单,建一个窗口,拖几个控件上去,给按钮写上一段处理逻辑就OK了。

学了C语言之后感觉做不了桌面程序,很郁闷。当时感觉做桌面程序要继续学C++,其实学了C++还是不行,要继续学VC++……好吧,当年真是天真得很。第一次用VC++,理所当然的以为像VB那样拖几个控件,然后用C++写上一段处理逻辑就可以了,但是新建一个项目文件后看着那一堆生成的框架代码我立刻就傻眼了。

貌似微软上了.net平台以后要把所有编程语言一统天下,不再发布单独的VB或者VC++而是统一一个Visual Stido。我已经放弃VC++了,因为对我来说那个匈牙利命名法,MFC什么的直接把我晕到死……我开始尝试使用VS2005的唯一原因是——我想拿它来做NDS自制软件开发的IDE。

devkitpro自带的Programmer's Notepad虽然还不错,但毕竟只是个编辑器。IDE就不同了,最明显的区别就是IDE拥有强大的代码提示功能。把libnds的include目录配置进去,VS就能提示所有的API函数了。这对我来说是个相当神奇的功能。

Dev-Cpp、CodeBlocks

最早学标准C++,想找一个支持标准C++的IDE,网上一搜,Dev-Cpp就这样进入了我的视线。看来讨厌微软的情绪从那时已经建立,因为课本上明确指出Visual C++ 6.0不支持标准C++……微软什么都要走非标准路线。早期微软这么干是为了差异化竞争,现在看来这些做法只是留了很多烂摊子。

Dev-Cpp在当时看来界面是非常漂亮的。在上面写过几个小例子,然后就是很长一段时间没再碰C++。后来又一次想写桌面程序的时候又想起了Dev-Cpp,可当时它已经不再更新了,CodeBlocks作为代用品又出现在我面前。我的问题就是每次找到一个IDE之后就是一通折腾,熟悉功能,然后配置成自己喜欢的样子,准备打造成一个“顺手的IDE”,但往往折腾得精疲力尽反而忘了IDE只是工具,学习的事情已经抛到九霄云外去了。

Eclipse

在把VS打造成开发NDS自制软件的IDE时遇到了一些问题,并且一直解决不掉。当时在掌机开发者之家认识的雷精灵指出还有一款“神器”可以拿来一用。基本上也是将devkitARM和libnds的include目录配置进去就可以享受到代码提示,并且看上去eclipse比VS要友好得多。于是我真的就用eclipse认认真真的开发了一个NDS程序。

后来转职做程序员,在培训班居然又是用Eclipse。原来Eclipse本来是Java开发工具,最初由IBM砸了好多钱开发出来贡献给开源社区的(顿时对IBM好感度暴增)。通过插件机制,可以极大地扩展Eclipse的用途,Eclipse CDT就是加上C++开发插件用来开发C++程序的一个版本,而Eclipse JDT就是标准的Java IDE了。

在学习JavaEE的过程中又接触了MyEclipse。费了好大劲才明白原来MyEclipse是在Eclipse上加1G多的插件后产生的庞然大物。Eclipse是免费软件,MyEclipse却是收钱的,可是那家培训机构却理直气壮地用着破解版。我不喜欢MyEclipse,一方面感觉用破解很可耻,但最主要的是MyEclipse太吃内存了。当时一台主流配置的电脑才1G内存,MyEclipse一启动要吃掉7、8百兆,跑起来电脑顿时就卡得要死,更别说居然还要在自己的机器上装Oracle……但是开发Java Web项目想抛弃MyEclipse也很难。对于一个初学者,不靠MyEclipse要搭建SSH框架真是一件要命的事情,何况借助MyEclipse还可以直接从数据库反转生成实体类,这点非常方便。

Aptana是另一个基于Eclipse的前端开发工具,免费而且功能强大。曾一度让我觉得用Aptana写前端代码是一种享受。脱离MyEclipse的一大障碍是Eclipse本身只是Java开发工具,缺乏Java Web开发所需的一些编辑器,而Aptana就弥补了这个空缺。

Netbeans

想要用Eclipse开发桌面程序的时候发现了一个问题。Eclipse本身不支持可视化窗口设计,需要装一个收费的Windows Builder插件;MyEclipse倒是自带了窗口设计器。它们都是收费的,并且内存占用很大,窗口复杂一些,拖动控件的时候就非常卡。所以我想找个又免费又好用,支持可视化窗口设计的Java IDE。Netbeans恰好符合上述要求。

Netbeans是SUN公司自家的产品,界面是基于Swing开发的,和原生windows界面不一样,看上去很怪异,并且默认的代码编辑器没有开抗锯齿,粗糙的字体轮廓让人无法直视。还好,通过一些设置,这些问题都是可以解决的。关键是Netbeans本身就自带可视化窗口设计器,拖放控件又让我找到了当年用VB的感觉。Netbean另一个强大之处在于本身就提供JavaEE版,不用像eclipse那样还得自己去装WTP。

最近一直不见Netbeans有什么实质性的进化,果真落在Oracle手里的免费产品都没有好下场么。你看看人家谷歌,把Windows Builder买下来之后直接作为Eclipse插件GWT的一个组件免费供人们免费使用了。同样是科技公司,差距咋就这么大呢?

IDEA

折腾可以用来开发Lua的IDE时偶然发现了IDEA。IDEA本身是个Java IDE,免费的社区版装上个Lua语言插件马上就摇身一变成了Lua IDE。由于也是基于Swing的界面,和Netbeans一样,文字显示怪怪的。不过IDEA的可配置项目非常多,直接可以改变L&F设置来换主题。但是Swing的L&F主题鲜有好看的,所以当时对IDEA并没有什么特别的好感。

IDEA 12的改进非常大,其中最重要的是这个版本提供了一个非常棒的暗色主题——dracula。当然有很多人不喜欢这样的暗色主题觉得不好看,但这个主题太合我口味了,后来更是越看越顺眼。

IDEA分免费的社区版和收费的商用版两个版本,社区版本身也是一个很强大的Java IDE,也有很好用的桌面程序图形设计器,但美中不足的是社区版似乎对Web开发支持并不好。HTML还好,只是不能高亮内嵌的javascript,单独编辑javascript可以高亮代码,但是代码提示不好用,而CSS则直接连代码高亮都没有……

在可用的插件列表中找了半天没有好用的支持javascript的插件,最后实在忍无可忍去尝试了一下商用版。从此我算彻底迷上了IDEA,在它强大的功能面前eclipse和Netbeans就是个渣渣。在Eclipse、Netbeans和IDEA三大主流Java IDE中,IDEA的智能提示是最强大的。另外IDEA对新技术的支持最迅速的,例如很早之前它就原生支持Play框架了,在开发Play应用时IDEA是最顺手的。

不过就这么用着破解版始终是块心病。OSChina曾经有个活动,以低至两折的价格出售过JetBrean的全线IDE产品的授权码,IDEA即使以两折的低价仍然在两百多RMB,犹豫了许久终于没有出手。



blog comments powered by Disqus