Turbo C 是Borland 公司的产品,实际上你所指的TC仅仅是 TC 2.0版,Turbo C还有更早的版本 TC 1.0、TC 1.5、TC 2.0,C++语言出现后,Borland 公司推出TC 3.0也就是Turbo C++.而后Windows 3.0 开始流行, Borland 公司又推出了Turbo C 的新一代产
品Borlandc C++。说了这么多,唯一想带出的一句话:Borland C++ 3.1是当初唯一可以写windows程序的C编译器,Microsoft C当时
也只能写写dos程序。以上这些都是题外话,与讨论的主题无关。
下面进入正题,
1 TC不能完全利用机器资源,TC设计为16位机器编程,而不是现在的32位。
//我同意,但是你的VC,GCC写的程序能放到dos下去运行么?你可能还是要说现在有谁还在用dos?当然你在你学校、寝室里是不太见得到,有可能见到运用dos系统的地方就是有些超市的收银机收银系统,还有你回过头去看看45#贴子。还有C51等等之类的是什么你知道么?
2 TC不是跨平台编译器(如GCC),却也不能完全利用特定平台(如Windows),在DOS下自然有生命力,但现在DOS使用的占有率大家
都知道。
//GCC跨平台么?C/C++语言都是编译类语言,编译生成的是直接的本地二进制文件,怎么可能跨平台?关于跨平台这问题,我到是建议你还要再去了解了解。不要以为你把在LINUX下写的某一段源程序放到windows同样也编译成功就叫跨平台,如果这样就叫跨平台,BASIC早就跨平台了.
至于dos占有率问题,前面我已经说了一点,很多地方还是在用而且是不得不用。另一个,LINUX,UINUX占有率又如何呢?是不是也抛弃?
3 TC的C是完全的C,而现代大家多多少少会使用一些C++的特性,C++在对C进行大幅度修改的时候也免除了C的一些弊病,将C++当作
扩展的C编程,可以减少代码的问题。
//请注意,C与C++是两种不同的语言,如果你把C++写成C,我的看法就是脱裤子放屁。既没有得到C的优势(用C++方式编译总体性能上会丢掉5%左右),也扔掉了C++的优势(面向对象)。你为什么不直接用C++?
4 TC使用困难,虽然有WinTC可以简化使用,甚至使用控制台命令编译,但就使用来说仍然不如已经有成熟IDE的VC和DevC++。就技术
来说,显然不会比现在的成熟IDE更加先进。
5 上个世界八十年代出品的TC,自然无法使用最新的编译以及优化技术,生成代码质量是个严重问题。可以说,即使是专门做DOS,
还不如使用汇编来的划算。现代宏汇编就可理解性来说,已经很接近C语言了。
6 TC 缺乏详尽的官方文档(和MSDN比较而言),也缺乏大型的社区支持(和GCC比较而言)。
//以上叁条一并回答,我没有让所有人去学习或只学TC,也从没有让任何一个人不要学习任何一款32位编译器.反而是你和某些人对TC似乎是有天生的敌对情绪。我基于的观点是:
1。初学者可以用或者说我推荐用WinTC、TC学习C语言的基本语法,同时学习一下控制台命令编译、熟悉一下dos 操作。
2。什么成熟的、最新的编译及优化技术对是一个刚始写printf("Hello, world\n");的初学者有用么?况且,他在TC上学会printf("Hello, world\n");,以后再放到“有成熟IDE的、最新的编译及优化技术VC和DevC++”去编译效果会差掉么?我就想不通了。
总之,Win32编程推荐成熟的Visual Studio套件,而跨平台编程可选GCC核心的IDE平台。至于可扩展的,用于描述算法的C代码,建
议使用ANSI C89写就,这样可以在包括TC的大部分编译器上编译通过。(前提是提供Adapter式的typedef,比如TC上typedef short
int _int16;)
//我没让你用TC去写win32程序,我还没这么BC。{...}//又看错了,更改
[
本帖最后由 Knocker 于 2008-6-2 20:32 编辑 ]