逛北大的ACM题库,想了一下为什么不用自己设计的Enzo语言来试试这些题呢?

    于是就用还不怎么完善的Enzo语言尝试了一道题。。。
    题目是输出两个超大整数的和,下面分别给出C语言、Java语言和Enzo语言的程序实现:

1、C语言
    受限于C语言的特性,通常情况下,这种题只有神经病和白痴才会选C语言做;
    计算机语言绝对不是训练思维的工具,它仅仅是一个人和机器之间的翻译官,因此,语言越简单越优雅;
    本来一道相当简单的题,C语言会让你迷失在语法的海洋中;
    而且C语言的指针和一些偏底层的东西看着也没有艺术的美感;
    因此,下面的程序给大家当开胃菜一用:

 

图片

 

图片

 

图片

 


2、Java语言:
    Java语言看上去要好的多,可以把人的注意力放在算法本身上面,而不是语言本身;
    事实上,Java语言本来就是一门有过OOP基础的人不学习就可以掌握的语言
    从这个意义上来讲,Java语言的体系设计非常出色:

 

图片

 

图片

 

图片

 


3、Enzo语言,重头戏来了,其实和Java语言是同一种风格的,但是在语言架构上添加了过程化设计的支持;
    目前这门语言的语言体系已经进入迭代式设计阶段,这是我的一个长远目标,
                  当然最初设计一门语言的仅仅是把它当作形式语言学和编译原理的课程设计,
                                    但现在又有了一些新的想法。。。。。。。
    读者可以参考Red Hat的Ceylon语言,它是Java的一次非常前瞻的改进,尽管Java 8已经变得和脚本语言一样优雅了:

 

图片

 

图片

 

图片