不知不觉,学习编程已经有一段时间了,回想一下,走了不少弯路,也许现在走的仍然是弯路,编程是个非常注重实践的技术,因此不管是谁,想要学好,上机练习是必须走的路.
有道是“磨刀不误砍柴工”, 选择一个合适的学习环境,会事半功倍.
虽然,程序设计这东西,是没有捷径可走的,但是少走一些可以轻易避开的弯路,还是会有所好处的.
以一个菜鸟的眼光,我认为,选择编译器主要看编译器的特点和你的需求,而不是追赶潮流.
现在对编译器的定位: 学习C/C++的语法和标准库
作为一个新手,我的需求是
1 功能不要太多,免的我看的眼花缭乱,鼠标到处乱点
2 尽可能的支持当前C/C++标准
3 可以很方便的编辑代码
4 调试程序要简单方便
5 占用尽量少的内存和硬盘以及CPU
6 跟我的系统兼容性要好
上面的条件似乎挺合情合理的,我不是很有把握.你说呢?
细细的想了想, 常见的编译器先作个列表出来,并且大致介绍一下
Turbo C
如果我说它是世界上最经典的C语言编译器之一,有人抗议吗?
最古老的C语言编译器之一,1989年诞生的, 有17年历史了,对当前的C语言标准(C99)
自然是不能很好支持的了,总不能要求它未卜先知,支持10年后的标注吧
TC 是DOS下经典的工具之一, 正因为是DOS下的产物,16位时代的东西,所以现在在高版本
的Windows(win2000, winXP 以及更新的版本) 下面,兼容性不是很好,很多人在运行这个
程序的时候, NTVDM.exe 会占用100%的CPU,当运行TC编写的图形界面的软件的时候
甚至会有死机的现象.由于生在DOS时代,编辑代码在现在看来自然不怎么方便,它既不支持
语法的高亮度显示,又不支持鼠标的操作.
优点是占用硬盘空间很小
关于TC的更多资料
请去 Borland公司的博物馆 参观
Borland称之为" Antique Software" (史前软件)
Turbo C++
又一个经典的作品,跟Turbo C相比,进步了很多,比如可以鼠标操作菜单了,但是毕竟还是16
位时代的东西,跟现在32位的是没法比的.
很遗憾, Turbo C++ 不能编译任何一个现代 C++ Style的C++源代码.
光 using namespace xxx 就把它枪毙了, C++的标准库 STL 它一个都不支持,
毕竟它也不能未卜先知去支持多年后的标准.
Borland C++
这是Borland 公司的又一个系列的杰作,处在过渡时间的产品(16bit向32bit过渡)
支持DOS下的编程,也支持Windows下的,OWL更是名噪一时,是个不错的工具,只不过现在
也很老了,很老很老了, 对C++标准的支持,高版本的还可以,比如 Borland C++ 5.5,
编辑代码还算方便.体积也不算很大
C++ Builder
Borland是个相当牛的公司, C++Builder可以说是C++ RAD开发的最佳工具,
没有人会质疑它的RAD能力,从UI到底层,它都有着赵不错的表现,不过体积稍微有点大
虽然安装的时候可以定制,装的小一些
GCC(g++)
各种常见平台下面都有GCC的影子, Windows,Linux,Unix,BSD,Solaris.........
这个工具强大到让人汗颜,不过新手不容易上手.
对标准的支持是目前最好的
LCC for win32
小巧的工具,对标准支持也不错,我觉得唯一的不足之处就是调试的时候,添加的watch
列表里 i和j 太像了,简直分不清
VC++6.0
Windows时代经典工具之一,对C++标准支持是相当的不好,很多bug,不过都修复了,
需要安装补丁,菜单一大堆,功能也是一大堆
VC2005
.NET时代的产品, 对C++的标准支持非常好
调试起来也很方便,不过太大了,还要装个.net frameworks才能跑
DevC++
严谨的说,这并不是一个编译起,而是个外壳,在你和编译器之间协调,交互.
它的后台编译器是GCC,所以对标准支持也不错.编辑代码也很方便,调试也很方便
体积也不大,10M左右.界面很简洁,官方就有中文版.支持很多扩展,比如Insight_sought,
OpenSSL, MySQL数据库接口..............
50多个可以使用的扩展, 默认不带那些东西,如果你不感兴趣,就当作不知道
MinGW Studio
这个跟上面一个差不多,也是外壳,GCC做后台编译器,只是需要建立工程,新手可能不会
但是最培养软件开发的意识是不错的
Rhide
TC一样的界面+GCC的编译器
C-free
也是一个外壳,只不过做的相对逊色了一些,比如要求系统支持8.3文件名格式
还要注册,比较麻烦,虽然不贵
TC for win
win tc
windows tc
.................
这个系列的本质全部都是TC, 外观上看似windows的, 其实跟上面的一样, 只是个外壳
一个皮而已.
通过简单的介绍, 对开发环境应当有一定的印象了.
如果你的要求跟上面6条差不多,相信你已经作出选择了
DevC++和MinGWStudio
除了他们还能选谁呢?
这两个工具在网上很多
下载很容易 感兴趣就找下来试试
改天我写个简单的使用教程, 新手只要半个小时就可以使用自如了
如果非要排除他们选择其它的, 那么VC2005和C++ Builder 也不错
总之,千万不要选择Turbo C, TC++, tc for windows, win-tc 等
因为太古老了,太不适合学习了, 他们不是基础性的东西,如果是基础性的,
就算是1000年前的, 也是需要学的.
常见的观点
使用Turbo C可以接触底层的编程,不会埋葬在一些封装里
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用别的工具也可以进行底层的编程, 人家只不过提供了多一种选择, 你可以不用那些东西
自己从头实现
TC简单, 适合初学者
~~~~~~~~~~~
TC是简单, 但是DevC++也很简单,跟TC相比,唯一复杂一些的地方
就是保存代码的时候,需要指定文件名, 不像TC,有noname.c
我不信你就不需要保存两个或者两个以上的程序
难道你只写一次?
TC可以进行图形编程,别的不行(graphics.h)
~~~~~~~~~~~~~~~~
上面提到的工具,没有不支持图形开发的, 不要忘记, Windows, ie浏览器,
Word 等等都是C/C++开发出来的(有部分是VB开发的).
TC的图形库接口 graphics.h , 不是C/C++标准里的, 标准里是没有图形接口的
而支持这个 graphics.h 的编译器, 就TC一个, 超过50种的C/C++编译器,就TC系列支持
这个.
匆匆写下此文,希望有人因此少走一点弯路
那些思想保守, 迂腐守旧的人们, 推荐别人使用TC的时候, 请三思而后行.
ps0: 上面的环境我都用过一段时间, 有所大致的了解
ps1: 如果没有怎么用过那些工具的, 没有发言权
ps3: 欢迎辩论 有疏漏之处 还望指正
ps4: 看过的请留言, 无论是支持还是批评 甚至漫骂 我都会保留
没有评论:
发表评论