一百个你不应该继续用Dev C++的理由

一百个你不应该继续用Dev C++的理由

Dev C++是已经死亡多年的专案

是的,Dev C++这个专案已经阵亡多年,它的上一个稳定版本已经是十年前的产物,即使是beta版也早在六年前停止了开发!!!

学生连开新专案都学不会?

Dev C++最大一个特色就是不用开新专案就能编译并执行程式,在我所知道的IDE里这是极少数有这样特性的环境,至少以现代的眼光来看尽是如此,如果是远古时代的Turbo C之类的就不用比了,因为这样特性的使然,一堆学生连开新专案都不会,你或许会说,不会开新专案又怎样?

不会开新专案问题就大了,不管是debugger、编译器设定、函式库连结,这些都得先建出一个专案才能进行设定或使用,不管是Visual C++、Eclipse、Code::Blocks等你所能找到的所有现代IDE都是如此,连开新专案都不会就在写程式就好像连走路都不会就在跑步一样的糟糕

多数不清的臭虫和怪异的行为

因为Dev C++专案已经阵亡多年,所以其中有数不清的臭虫还有诡异的行为都没有被修正,通常遇到了就像是鬼打墙一样,debugger也是问题百出,常常有些同学的程式有问题拿来问我,我在检查了多次都找不到问题所在,接着拿到其它的IDE下就能正常执行,最后发现其实是Dev C++本身的缺陷所引起的,只能苦笑着说是Dev C++发生鬼打墙,这对初学者有什么影响?

这影响可大了! 初学者连最基本的东西都不会,他们需要的是一个可以信赖的环境让他们可以知道什么是对的什么是错的,但是今天这个环境连什么是对的什么是错的都没办法确定,这样有可能可以学好程式设计吗? 有可能吗?

无法教会学生使用除错器

除错器(debugger)是学习程式到底是如何执行的,以及找到错误的好帮手,有一点程度的程式设计师都知道这叫trace,也就是追踪,但是因为Dev C++本身的问题,其除错器的功能残缺就算了,还有一大堆未知的臭虫在其中,更惨的是搭配先前不用建专案就能执行,就算建了专案还得手动加入除错的选项才能使用,使得用Dev C++教会学生正确地使用除错器根本就是天方夜谭。

业界根本没有人在使用Dev C++

就我所知道的业界根本没有人在使用Dev C++,如果有的话请让我知道,我真的很佩服可以用这样破烂的工具还能在业界生存,肯定是神手中的神手

学生学会这样的工具就顶多只能勉强写作业而已,出了社会来到业界连个开新专案都不会,更别说是连结别人写好的函式库,甚至是自己写函式库给别人连结,我只能写一个惨字!

老旧的编译器

现在的C++已经跟10年前的C++有一段很大的落差了,新的特性一直在增加,因为Dev C++搭载的是当时的gcc,因此很多最新的特性都没有,好吧,虽然我一点都不期待有多少老师或助教能知道那些新技术,像是李伯伯知道什么是Boost吗? 什么又是technical report? 昵名函数? auto? 甚至是最基本的STL?

为什么用Dev C++?

是的,我的标题骗人,我没写满100个理由,或许有天我会补上,但现在我们先看一下主要我所认为使用Dev C++的理由

懒,Dev C++开了档案就编译,简单好用,连开新专案都不用解释

Debugger? 那是什么?

我也只会用Dev C++

我的老师教我用Dev C++,所以我也用

学长写的讲议用Dev C++,所以我也用

隔壁Lab的王小明他家的狗的前主人的二婶婆也用Dev C++教学,所以我也用

我只知道Dev C++

Dev C++就免钱的,我也买不起Visual C++

写论文拿来跑跑模拟数据就够了

….

什么? 连李家同都用Dev C++喔?

为什么我会突然写这篇? 其实平时看到大家在用Dev C++在心里咒骂这些不长进的家伙就算了,但今天偶然看见李家同大师的新书的心得

人人都能学会写程式:李家同教你用逻辑思考学程式设计

然后看见这本书的介绍里提到

在此强调我们用的程式语言是C语言,所使用的编译器是Dev-C++4.9.9.2。读者如果用错了编译器版本可能会出问题。

我的妈呀,于是我忍不住了,姑且不论这本书是不是他弟子捉刀写的书,但即然都挂上李家同名号了,我想请问一下李大师

您多久没写过程式了?

读者用错了编译器版本还可能出问题,不要告诉我这特异的行为又是Dev C++本身引起的问题,难道其中用了什么样的奇技淫巧在不同编译器下还会出现不同的行为? 使用这样破烂的工具教初学者真的好吗? 初学者有办法分得出来是Dev C++本身鬼打墙,还是自己写错了呢? 更何况是这本书声称的人人有功练?

选择更好的工具,你可以不用变成李家同

我不知道李伯伯多久没写程式了,但是看他的书都用Dev C++就可以断定,他或他的弟子都没写过什么真正的程式,或许跑跑数据模拟还过得去,除此之外可能就有问题,更别说来教别人写程式了,巨塔里所谓的写程式和外面的写程式是两回事

工欲善其事,必先利其器,使用破烂的工具只会造成程式学习上的重大阻碍,如果你的目标是成为李大师,或许你可以用Dev C++,否则除了Dev C++以外,其实你还有n种选择,在这里列出几样我所知道的

Code::blocks

Code::Blocks是一款open source的IDE环境,优点是轻巧易用,而且该有的功能一样都没少,其本身就是一套强大的编译工具,甚至cmake等编译工具也可以产生Code:: block的专案用来编译,但缺点是目前只有英文介面,对于教学上比较不方便

Eclipse

Eclipse本身是用Java写的IDE,并没有限定在特定的语言上,因此从Java、C/C++、Python甚至到PHP都有相对应的IDE可以使用,而且该有的功能也一样都有,比其它IDE棒的地方是它有各种不同的插件可以使用,例如可以整合版本控制系统,不过对于教学用途可能就用不到,而且缺点是很耗系统资源,特别是记忆体,这是用Java写的程式一贯的毛病,对于老旧的教室电脑可能是很大的负担,因此不是很推荐用于C/C++教学

wxDevC

不是说Dev C++死了吗? 确实是死了,但其实没有死透,后继有人接手了Dev C++的开发,改名为wxDev C++,最主要是整合了wxWidget的设计功能,个人是没有用过,但这专案一直都有在维护,应该至少会比目前的Dev C++好上很多,如果真的对Dev C++有执着的话不妨可以试试

Visual C++ 2019

最经典的c++程序编写器,已经很仁慈了,都免费了.

最后#

再一次,如果你是程式设计课程的助教、老师,拜托,花点时间学款现代一点的IDE吧,不要再用史前时代的破烂工具来残害你的学生们,台湾软体产业已经够落后了,行行好吧

转载于台湾作家,本人很有体会,并表示赞同,但学校电脑带不动Visual Stdio 2019啊

相关推荐