ACM中为何不选择Java

ACM大多数同学还是在OJ上面刷题,大部分都用的是C语言。可是大家知道ACM为什么不用Java、Python等语言呢?

实际上,OJ是支持这些语言的。在中国大学,几乎每个大学生接触到的第一门编程语言就是C语言了,比如我所在的西安工业大学 计算机系就是这样的。OJ由于服务器的局限性,以及C语言无可比拟的底层性高灵活性使得OJ中以C为主。

随着代码规模的扩大,C不能满足同学们对高效编码的需求使得C++这个面向对象的语言在ACM中广为使用。不论ACM采用什么语言,C++是不可争辩的优秀语言之一。他的方便快捷的开发属性、不失底层语言的特征使得这个外人所称“不伦不类”的语言真的在对时间、空间等要求高的场合应用。ACM是个拼时间、拼效率的赛事。

C++的底层性使得ACM比赛选手可以更大程度的优化代码效率,C++的面向对象特征使得参赛选手更快的完成刷题任务。

不过C++最近今年受到了Java的挑战,Oracle接手Sun的JDK后,发布的JDK7使得其Java代码执行效率大大提高,有媲美C++等直接底层源码的优势。可是,媲美归媲美,性能还是差那么一点点的。

由于Java需要JDK的支持,ACM中许多OJ并没有安装最新版本的JDK,使得OJ中Java的效率总是很低。可是这个情况即将大为改观,作为云计算、物联网的先头兵,Java以其无可比拟的高效开发占据了软件行业的半壁江山。由于搞ACM的大多还要进入社会求职的,所以Java的编码在OJ的刷题工程中有上升趋势。

ACM为何不选择Java?这个是个事实,也就是由于之前JDK的性能影响,JDK在绝大多数ACMer口中被贬低了许多。ACM为何选择Java?是由于Java本身就是一门优秀的语言,由于ACM普及过程中作用非常大的OJ慢慢更新了JDK,所以Java成为了ACM中的潜力股。本来来源于Quicl’sBlog 转载注明出处链接 http://20xue.com/?p=2502

  1. 其实吧,我感觉c语言的确很好,但是吧,如今的java是很流行的,虽然ACM的不用java语言,但是现在的安卓手机开发,用的是java,java还是比较好的!

    • AC中熟悉了Java提高了算法 是个不错的选择 鉴于考研复试大多是用C相关 所以C也是可取的 , ACM的博主还是不少的,博主你需要的话我可以提供免费顶级域名和空间哦 。