可読性の高いソースコードジェネレーター、"banner" を試してみました
可読性の高いソースコードジェネレーター、"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!
#### ####
#### ####
#### ####
#### ####
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
#### #### ####
#### #### ####
#### #### ####
#### #### ####
####
####
####
####
####
####
####
####
####
####
####
####
#### #### ####
#### #### ####
#### #### ####
#### #### ####
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
#### ####
#### ####
#### ####
#### ####
##################
############################
################################
####################################
########################################
############################################
##############################################
############# #### #############
######### #### #########
####### #### #######
###### #### ######
##### #### #####
##### #### #####
#### #### ####
#### #### ####
#### #### ####
#### #### ####
#### #### #####
### #### #####
#### #### ######
### #### #######
#### #### #########
#### #### #############
#### #########################
##### ########################
##### ######################
#### ####################
##################
################
###########
#### ####
#### ####
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
####
####
#### ####
#### ####
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
####
####
##################
############################
################################
####################################
########################################
############################################
##############################################
############# #############
######### #########
####### #######
###### ######
##### #####
##### #####
#### ####
#### ####
#### ####
#### ####
##### #####
##### #####
##### #####
###### ######
####### #######
######### #########
############# #############
##############################################
############################################
########################################
####################################
################################
############################
##################
####
####
####
####
######
###########
################
####################
#########################
#############################
##################################
######################################
###########################################
###############################################
########################################## ####
########################################## ####
########################################### ####
##########################################
##########################################
###########################################
###########################################
############################################
###########################################
##########################################
##################################
#########################
################
###############
###############
###############
################
#################
###########################
####################################
##########################################
###########################################
###########################################
############################################
###########################################
##########################################
##################################
#########################
################
###############
###############
###############
################
################
################
################
################
################ ####
################ ####
################ ####
#####################
################
###########
#######
####
####
####
####
##################
############################
################################
####################################
########################################
############################################
##############################################
############# #############
######### #########
####### #######
###### ######
##### #####
##### #####
#### ####
#### ####
#### ####
#### ####
##### #####
##### #####
##### #####
###### ######
####### #######
######### #########
############# #############
##############################################
############################################
########################################
####################################
################################
############################
##################
#### ####
#### ####
######################################################
######################################################
######################################################
######################################################
######################################################
######################################################
######################################################
######################################################
#### ######
#### ######
#######
#######
#######
#######
########
########
########
###############
#################
##################
###################
###################
##################
##################
################
#############
########
#### ####
#### ####
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
####
####
######################
##############################
####################################
########################################
############################################
##############################################
################################################
############### ###############
########### ###########
######## ########
####### #######
###### ######
##### #####
##### #####
##### #####
#### ####
##### #####
##### #####
##### #####
##### ##### ####
##### ##### ####
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
###########################################################################################
####
####
###### ###################
########## ########################################
############ #####################################################
############## #################################################################
############## ###################################################################
############## #################################################################
############ #####################################################
########## ########################################
###### ###################