Hatena::Groupsubtech

#生存戦略 、それは

-> 10 { 04 / 01 }

可読性の高いソースコードジェネレーター、"banner" を試してみました

15:17 | はてなブックマーク - 可読性の高いソースコードジェネレーター、"banner" を試してみました - #生存戦略 、それは

新言語 TMS-Java に衝撃を受けたため、最近話題の可読性の高いソースコードジェネレーター、"banner" を試してみました。

banner では、対応している言語に sh, perl, python, ruby, php、を含むその他数百以上の言語に対応しており、対応言語なら Syntax Error を起こさない可読性の高いソースコードを出力することで有名です。

banner インストールはほとんどのディストリビューションのパッケージに含まれているため、たとえば debian なら

sudo apt-get install banner

で完了です。試しに使ってみましょう。

banner Hello World! | sh
banner Hello World! | perl
banner Hello World! | ruby
banner Hello World! | python
banner Hello World! | php

どの言語でも SyntaxError にならず実行できたと思います。

それでは実際の出力を見てみましょう。とても可読性が高いですね。ソースコードにも一瞬で理解できる可読性が求められる昨今、可読性が高い様々なソースコードジェネレータ、banner の人気はより加速しそうですね。なお手元の banner の man によると、日付が "April 29, 1995" とのことで、当時から言語の可読性は重要視されていたことが伺えますね。

$ banner Hello World!
 ####                                                                                   #### 
 ####                                                                                   #### 
 ####                                                                                   #### 
 ####                                                                                   #### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ####                                              ####                                 #### 
 ####                                              ####                                 #### 
 ####                                              ####                                 #### 
 ####                                              ####                                 #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
                                                   #### 
 ####                                              ####                                 #### 
 ####                                              ####                                 #### 
 ####                                              ####                                 #### 
 ####                                              ####                                 #### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ####                                                                                   #### 
 ####                                                                                   #### 
 ####                                                                                   #### 
 ####                                                                                   #### 
                                                                                             
                   ################## 
              ############################ 
            ################################ 
          #################################### 
        ######################################## 
      ############################################ 
     ############################################## 
    #############         ####         ############# 
   #########              ####              ######### 
   #######                ####                ####### 
  ######                  ####                  ###### 
  #####                   ####                   ##### 
 #####                    ####                    ##### 
 ####                     ####                     #### 
 ####                     ####                     #### 
 ####                     ####                     #### 
 ####                     ####                     #### 
 ####                     ####                    ##### 
  ###                     ####                   ##### 
  ####                    ####                  ###### 
   ###                    ####                ####### 
   ####                   ####              ######### 
    ####                  ####         ############# 
     ####                 ######################### 
      #####               ######################## 
        #####             ###################### 
          ####            #################### 
                          ################## 
                          ################ 
                          ########### 
                                      
 ####                                                                                   #### 
 ####                                                                                   #### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 #### 
 #### 
      
 ####                                                                                   #### 
 ####                                                                                   #### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 #### 
 #### 
      
                   ################## 
              ############################ 
            ################################ 
          #################################### 
        ######################################## 
      ############################################ 
     ############################################## 
    #############                      ############# 
   #########                                ######### 
   #######                                    ####### 
  ######                                        ###### 
  #####                                          ##### 
 #####                                            ##### 
 ####                                              #### 
 ####                                              #### 
 ####                                              #### 
 ####                                              #### 
 #####                                            ##### 
 #####                                            ##### 
  #####                                          ##### 
  ######                                        ###### 
   #######                                    ####### 
   #########                                ######### 
    #############                      ############# 
     ############################################## 
      ############################################ 
        ######################################## 
          #################################### 
            ################################ 
              ############################ 
                   ################## 
                                      



































                                                                                        #### 
                                                                                        #### 
                                                                                        #### 
                                                                                        #### 
                                                                                      ###### 
                                                                                 ########### 
                                                                            ################ 
                                                                        #################### 
                                                                   ######################### 
                                                               ############################# 
                                                          ################################## 
                                                      ###################################### 
                                                 ########################################### 
                                             ############################################### 
                                         ##########################################     #### 
                                    ##########################################          #### 
                               ###########################################              #### 
                           ########################################## 
                      ########################################## 
                 ########################################### 
             ########################################### 
        ############################################ 
    ########################################### 
 ########################################## 
    ################################## 
         ######################### 
             ################ 
                  ############### 
                       ############### 
                            ############### 
                                ################ 
                                    ################# 
                               ########################### 
                           #################################### 
                      ########################################## 
                 ########################################### 
             ########################################### 
        ############################################ 
    ########################################### 
 ########################################## 
    ################################## 
         ######################### 
             ################ 
                  ############### 
                       ############### 
                            ############### 
                                ################ 
                                     ################ 
                                          ################ 
                                               ################ 
                                                   ################ 
                                                        ################                #### 
                                                             ################           #### 
                                                                  ################      #### 
                                                                       ##################### 
                                                                            ################ 
                                                                                 ########### 
                                                                                     ####### 
                                                                                        #### 
                                                                                        #### 
                                                                                        #### 
                                                                                        #### 
                                                                                             
                   ################## 
              ############################ 
            ################################ 
          #################################### 
        ######################################## 
      ############################################ 
     ############################################## 
    #############                      ############# 
   #########                                ######### 
   #######                                    ####### 
  ######                                        ###### 
  #####                                          ##### 
 #####                                            ##### 
 ####                                              #### 
 ####                                              #### 
 ####                                              #### 
 ####                                              #### 
 #####                                            ##### 
 #####                                            ##### 
  #####                                          ##### 
  ######                                        ###### 
   #######                                    ####### 
   #########                                ######### 
    #############                      ############# 
     ############################################## 
      ############################################ 
        ######################################## 
          #################################### 
            ################################ 
              ############################ 
                   ################## 
                                      
 ####                                              #### 
 ####                                              #### 
 ###################################################### 
 ###################################################### 
 ###################################################### 
 ###################################################### 
 ###################################################### 
 ###################################################### 
 ###################################################### 
 ###################################################### 
 ####                                  ###### 
 ####                                    ###### 
                                          ####### 
                                           ####### 
                                            ####### 
                                             ####### 
                                             ######## 
                                              ######## 
                                              ######## 
                                        ############### 
                                      ################# 
                                     ################## 
                                    ################### 
                                    ################### 
                                    ################## 
                                    ################## 
                                     ################ 
                                      ############# 
                                        ######## 
                                                 
 ####                                                                                   #### 
 ####                                                                                   #### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 #### 
 #### 
      
                 ###################### 
             ############################## 
          #################################### 
        ######################################## 
      ############################################ 
     ############################################## 
    ################################################ 
   ###############                    ############### 
  ###########                              ########### 
  ########                                    ######## 
 #######                                        ####### 
 ######                                          ###### 
 #####                                            ##### 
 #####                                            ##### 
 #####                                            ##### 
  ####                                            #### 
  #####                                          ##### 
   #####                                        ##### 
    #####                                      ##### 
      #####                                  #####                                      #### 
        #####                              #####                                        #### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 ########################################################################################### 
 #### 
 #### 
      
     ######                                                  ################### 
   ##########                                ######################################## 
  ############                     ##################################################### 
 ##############          ################################################################# 
 ##############         ################################################################### 
 ##############          ################################################################# 
  ############                     ##################################################### 
   ##########                                ######################################## 
     ######                                                  ################### 
                                                                                             
トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20100401