嗨,我是 catnull ,一个热衷于写题的 ACMer (最好成绩:ACM-ICPC World Final 27th Place)。因为一些个人原因,去年开始带一些小学生学习信奥赛,没想到十几年过去了,现在的学生竟然还是在用 dev-c++。
倒不是说 Dev-C++不好,只是觉得有点跟不上时代落伍了。
这么多年了 Dev-C++版本乱七八糟的,第一次上课给学生装软件就花了不少时间。还有明明就是少一个分号的事情,Dev-C++非要把那个编译错误搞成好几行的"英文乱码",小孩子第一次接触这个可不是崩溃嘛,家长就只好花大钱找我们这种竞赛生来辅导。
虽然我的课时费是一小时 1800 ,但我还是觉得上课来回答这种分号问题真的是互相浪费,现在 AI 都这么发达了,明明可以让 AI 来人话回答这些超简单的问题,干嘛非要大价钱请个老师呢?现在这个时代就应该用 AI 来重塑编程学习的方法才对呀!
于是,AdaCpp 就诞生了,用一句话来说就是:
AdaCpp 是一款零安装、浏览器即用的在线 C++ 学习环境。学习过程中,AI 会用"人话"拆解思路、指出错误并给出改进建议。
体验地址: https://www.adacpp.com
这里插一句,为什么我要做网页版的 IDE ,因为工作之后我就一直在用 mac 电脑了, 结果找了半天都没找到一个在 mac 上编写 C++的轻量级的 IDE ,最后临时借了一台 surface 去上课,所以我觉得 AdaCpp 真的是可以救我这种小老师的狗命啊。
光这么说可能有点抽象,来看一下 AdaCpp 的实战结果,你马上就明白为什么 AI 可以赋能 C++编程学习了。
如前文所述,AdaCpp 是一款零安装、浏览器即用的在线 C++ 学习环境。无需下载、无需登录、无需配置!打开浏览器就是你的 C++开发环境!
这里引用宋丹丹灵魂提问:使用 AdaCpp 一共需要几步? 答:3 步!
第一步:浏览器中输入网址:adacpp.com 第二步:在 Monaco Editor 中输入代码 第三步:点击编译运行
来来来,我们我们一起来找茬,这段代码到底有几个编译错误都是啥?
眼尖的朋友是不是一秒钟就能发现:错误是变量名写错了,这个name1
没给定义直接用了,把前面定义改成name1
或者后面这个name1
改成name
都行。可是这下面编译这编译错误给写的啥子呀?
error: 'name1' was not declared in this scope
15 | cout << "Hello " << name1 << endl;
| ^~~~~
这东西最早反正我是看了超级头大的。这个时候,咱这个解析编译错误的功能不就派上用场了吗?
点击终端这个解析编译错误的按键,就可以在右侧的 AI 助手这个面板看到详细解析:
刚接触 C++的学生最大的疑问就是这些代码都是什么意思啊?为什么要有include
,为什么要有using namespace
,为什么这个<<
符号是输出等等等等无穷无尽的问题。
这个时候就可以使用我们的一键注释功能了!可以让每一行代码都变成有意义的内容!
很多学生在学习算法的时候有个超级大的问题,是理不清除算法逻辑,比如下面这个很简单的二分算法。
那这个时候就可以来使用我们的代码体检功能啦🚀️
上面视频里有几个关键点:
学过 C++,写过题的一定都知道!代码要是出问题了,我们得加输出去看到底是哪儿的输出不对劲儿,才能来找出写错的逻辑啊。
虽然这是个好方法, 但是写输出删输出这个事儿就比较麻烦,找到错误了还好,然后一激动输出没删除干净就直接提交,又喜提一个 WA ,然后 WAWAWA ,WA 半天发现是没删掉输出,一整个大吐血。所以我就加了一个自己超级心水的功能叫做辅助排障❤️!
这里就是点击那个辅助排障,就可以让 AI 给我狂加输出信息,各种[debug info] 都给我加上,还怕找不出错误吗?
然后想删掉的时候也很简单,再点一下这个按钮可以了!一键删除所有调试信息,又获得一份清清爽爽的代码。
以上就是 AdaCpp 最核心的一些功能,当然一些基础的存储文件等等那不都是必须的嘛?另外以后还想要加上的内容包括但不限于题目解析、云端存储等等。
目前 AI 的调用限制是 1 分钟 1 次(基本上等于全免费啦)欢迎大家使用体验呀!大家要是有什么关于新功能的想法我太太太太太太欢迎投喂了! 感恩的心,先比个心ღ( ´・ᴗ・` )~
再来一次体验地址: https://www.adacpp.com
最后,我猜肯定会有人问,为什么只做 C++版本的,别的语言不做吗?
因为现在这个世道,AI 早就可以写出任何的代码了,掌握一种语言的语法根本不是什么核心竞争力。但是!掌握算法是呀!
学写 C++,学的不是 C++的语法,而是 C++背后所代表的算法,只有把算法的逻辑完整地写成可运行的代码,才能真正理解并检验它的思想。这种对算法思维的锤炼,比熟悉任何语言的细节都更能提升解决复杂问题的能力。这也是为什么我在毕业多年之后依旧热衷写题的原因,每一次用 C++ 写出高效算法,都像重新发现思考的乐趣。
最后的最后,谨以“Ada”致敬那位开启机器运算时代的第一位程序员——埃达·洛芙莱斯,愿 AdaCpp 可以助力每一位学习 C++/计算机算法的伙伴~
![]() |
1
midpoint 8 天前 ![]() 这个很适合初学者,大佬可以把它拓展一下,可用于多种语言编程,例如 java 、python……
|
![]() |
3
bao3 7 天前
哇,真很赞,我感觉一些高阶的功能可以收费,普通的练习可以全免费。由于输出是说人话,光是这一点,就足够吸引人了。
|
![]() |
4
Johnyoung 7 天前
体验了下,真的很棒,很赞同你的理念,语法会变语言会换,但背后的思想是永恒的
|
![]() |
5
WebKit 7 天前
感觉不错,为什么我实际使用跟你截图的配色不一样。还有再开发个学 rust 的吧
|