做ACM算法用的开发工具有:1、Visual Studio Code;2、CLion;3、Dev-C++;4、Code::Blocks;5、Eclipse;6、Xcode;7、IntelliJ IDEA;8、Sublime Text。Visual Studio Code是一个轻量级且高效的代码编辑器,支持多种编程语言和插件,可作为ACM算法的开发工具。
1、Visual Studio Code
Visual Studio Cod(简称VS Code或VSC)是程序员使用的较受欢迎的源代码编辑器之一。它速度快,轻量级且功能强大!微软将VSC设计为用于编写Web和云应用程序的跨平台代码编辑器。微软于2015年4月29日在旧金山举行的2015 开发者大会上首次宣布了它。几个月后的2015年11月18日,VSC在MIT许可下发布,源代码在GitHub上可用。2016年4月14日,VSC在网络上发布。
优势:
- 轻量级编辑器:VScode是一款轻量级的编辑器,安装包非常小,而且启动速度非常快。虽然这对实际的项目没什么大的帮助,但是可以在无形间提高我们的用户体验。
- 丰富的插件系统:VScode有着非常丰富的插件系统,无论你是编辑HTML、CSS、JS、TS、Vue、React等前端代码,还是JAVA、Python等后端代码,都可以找到相对应的插件,如虎添翼,更快速地完成项目。
- 代码跟踪功能:如果是团队使用,项目中往往都是协作开发,绝大多数情况下要使用Git来管理代码,这个时候VScode会跟踪团队的代码,非常明显地标注:你更改了那些文件,文件中你修改可第几行的代码,让我们对自己编写的代码一目了然。
2、CLion
CLion是一款由JetBrains开发的跨平台C/C++集成开发环境(IDE)。CLion提供了丰富的功能和工具,旨在帮助程序员更高效地进行C/C++项目的开发、调试和测试。
优势:
- 智能代码补全和语法高亮:CLion提供了智能的代码补全和语法高亮功能,可以自动补全代码、提示变量类型和函数参数等,强化代码编写的速度和准确性。
- 强大的静态代码分析:CLion集成了多种静态代码分析工具,包括Clang-Tidy、Google Test等,可以帮助程序员发现程序中的潜在问题,并通过快速修复提高程序的健壮性和可靠性。
- 高效的调试功能:CLion提供了强大的调试器支持,可以快速定位程序中的错误、查看变量值和堆栈信息等,大大提高了调试的效率和效果。
- 内置的版本控制和构建工具:CLion内置了Git等版本控制工具和CMake等构建工具,方便程序员进行项目管理和构建。
- 可扩展性和插件支持:CLion可以通过安装插件来扩展其功能和支持,例如Boost.Test、Catch2等插件可以增强测试和代码覆盖率分析的能力。
3、Dev-C++
Dev-C++是一个Windows环境下的一个轻量级 C/C++ 集成开发环境(IDE)。它是一款自由软件,遵守GPL许可协议分发源代码。它集合了功能强大的源码编辑器、TDM-GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。
优势:
- 安装简单:安装之后就能用,不需要作任何额外的配置。而且它是免费软件,不需要交费,也没有任何功能限制。
- 界面简单:工具栏按钮不多,编辑窗口面积宽大。用户很容易上手,而且很容易把注意力集中在编程工作上。
- 整个软件完全中文化:不仅是软件界面是全部中文,甚至编译出错信息也几乎全部翻译成了中文,这更方便初学者对程序除错。
- Dev-C++支持单个源文件的编译、运行和调试,使用颇为方便:这一优点对于初学者也很重要,有好几个IDE(例如古老的Visual C++ 6.0 和当代的 Visual Studio)完全彻底地抛弃了单个源文件开发,必须要建立一个项目(或者叫工程)才行;另一些IDE(例如Code::Blocks)则虽然可以支持单个源文件的编译和运行,但是要想对程序进行调试,就必须要建立项目,把文件置于项目中才行。
- 集成了一些方便好用的小功能:提供了“插入代码片段”的功能,可以方便地插入常用的代码片段,例如每次开始编辑源代码时就可以插入一个 main 函数,马上就可以开始编写自己的代码了。集成了一个叫AStyle(全名叫 Artistic Style)的插件,可以帮助迅速地把源代码按照指定的风格调整缩进排版格式。这有助于初学者养在良好的源代码排版缩进习惯,也有助于教师快速帮助学生调试程序。
4、Code::Blocks
虽然Code::Blocks从一开始就追求跨平台目标,但是最初的开发重点是Windows平台,从06年3月21日版本:1.0 revision 2220开始,Code::Blocks在它的每日构建中正式提供GNU/Linux版本,这样 Code::Blocks在1.0发布时就成为了跨越平台的C/C++IDE,支持Windows和GNU/Linux。由于它开放源码的特点,Windows用户可以不依赖于VS. NET,编写跨平台C++应用。
优势:
- 提供了许多工程模板:包括控制台应用、DirectX应用、动态连接库、FLTK应用、GLFW应用、Irrlicht工程、OGRE应用、OpenGL应用、QT应用、SDCC应用、SDL应用、SmartWin应用、静态库、Win32 GUI应用、wxWidgets应用、wxSmith工程,另外它还支持用户自定义工程模板。在wxWidgets应用中选择UNICODE支持中文。
- 支持语法彩色醒目显示:支持代码完成(目前正在重新设计过程中)支持工程管理、项目构建、调试。
- 支持插件:包括代码格式化工具AStyle;代码分析器;类向导;代码补全;代码统计;编译器选择;复制字符串到剪贴板;调试器;文件扩展处理器;Dev-C++DevPak更新/安装器;DragScroll,源码导出器,帮助插件,键盘快捷键配置,插件向导;To-Do列表;wxSmith;;wxSmith MIME插件;wsSmith工程向导插件;Windows7外观。
- 具有灵活而强大的配置功能:除支持自身的工程文件、C/C++文件外,还支持AngelScript、批处理、CSS文件、D语言文件、Diff/Patch文件、Fortan77文件、GameMonkey脚本文件、Hitachi汇编文件、Lua文件、MASM汇编文件、Matlab文件、NSIS开源安装程序文件、Ogre Compositor脚本文件、Ogre Material脚本文件、OpenGL Shading语言文件、Python文件、Windows资源文件、XBase文件、XML文件、nVidia cg文件。识别Dev-C++工程、MS VS 6.0-7.0工程文件,工作空间、解决方案文件。
- 基于wxWidgets开发:正体现了wxWidgets的强大。以前Borland C++Builder X宣称基于wxWidgets开发跨平台、兼容性好、优异秀的C++ IDE环境,但没有实现;让我们拭目以待。国内的Code::Blocks爱好者和跨平台开发员应该尽快建立中文Code::Blocks网站,提供Code::Blocks中文化支持,促进Code::Blocks在国内的发展。
5、Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
优势:
- 非常适合java语言,开发、编写、查错、编译、帮助等各方面非常方便
- 有中文版,上手较快
- 更新速度快
- 插件功能强大,免费
- 开源、免费
6、Xcode
Xcode是一个值得信赖的macOS应用程序开发软件,它使人们可以轻松开发iOS,macOS,tvOS和watchOS软件。 Xcode自2003年以来一直作为免费软件程序提供源代码,自2019年1月起开始使用10.1版本。Apple Developer网站也提供以前版本的下载。
优势:
- 采用较好的分页算法,高效处理海量数据
- 先进的多级缓存思想,保证最出色的性能
- 化繁为简,容易上手
- 抽象实体结构,支持多数据库的正向反向工程
- 分布式支持
7、IntelliJ IDEA
IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为较好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。
优势:
- 十分智能的协助开发
- 智能代码提示
- 参数提示
- 快速完成语句
- Postfix Code 快速转换 if、for 等表达式
- Live Template 定义关键字,快速输出对应代码
- 强大的搜索功能
- 版本控制功能
- 重构代码功能
- 版本更新速度快
8、Sublime Text
Sublime Text 是一个文本编辑器(收费软件,可以无限期试用),同时也是一个先进的代码编辑器。Sublime Text 是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。
优势:
- 良好的扩展功能,官方称之为安装包(Package)。
- 右边没有滚动条,取而代之的是代码缩略图。
- 强大的快捷命令“可以实时搜索到相应的命令、选项、snippet和syntex,按下回车就可以直接执行,减少了查找的麻烦。”
- 即时的文件切换。
- 随心所欲的跳转到任意文件的任意位置。
- 多重选择(Multi-Selection)功能允许在页面中同时存在多个光标。
- 支持VIM模式。
- 支持宏,宏是什么,简单地说就是把操作录制下来或者自己编写命令,然后播放刚才录制的操作或者命令。
延伸阅读1:ACM是什么
ACM国际大学生程序设计竞赛的历史可以上溯到1970年,当时在美国德克萨斯A&M大学举办了首届比赛。当时的主办方是the Alpha Chapter of the UPE Computer Science Honor Society。作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。1977年,在ACM计算机科学会议期间举办了首次总决赛,并演变成为一年一届的多国参与的国际性比赛。