Idea Category Review

[General Comments]

This year's idea category had two submissions in total. Generally, it's very difficult to surprise someone else by writing programs with terrific ideas, and we did not anticipate a lot of submissions in this category. But frankly speaking, I felt sad when I first heard there were only two submissions. The work of this year's 2nd prize, KLIjava programmed by Mr. Kuramochi, nevertheless, really deserves praise for ridding me of the blues. (The idea category of this year also doesn't have 1st prize, unfortunately.) Expecting Mr. Kuramochi to continuously refine and improve the work, we decided to offer an extra prize of encouragement for him.

Mr. Fukuda who won the supplementary prize of the idea category for a graphic data conversion program, pnmcon, also won 2nd prize in the speed category. As such, it's not only this year that ambitious applicants have tended to submit their works first to the entry or speed category, and then submit other works to the idea category. However, in order to produce software packed with interesting ideas, much practice to create many ideas as usual is necessary. Although Mr. Fukuda's idea is not so big, it's admirable that he started programming (in KL1) with KLIC as soon as he had an idea and actually submitted it to the idea category. We respect his determination.

[Program Review]

* pnmcon: graphic data conversion program

This program converts graphic data in 6 formats of PNM. This program is small (approx. 700 lines) and lacks some novel functions, but it's nice to see familiar software tools as KLIC applications.

Mr. Fukuda, the author of this work, mentioned that future extensions of his software would handle the gif and jpeg formats and parallelization. Unfortunately the extensions had not been completed by the application deadline of the contest.

Even when a programming language is used effectively in various application fields, improvements are always possible. We should follow his lead in implementing such an unexpected, eccentric procedure in KLIC. Why don't you write them all in KLIC?

Taking into account the above, we have offered a supplementary prize.

* KLIjava: KL1 to Java compiler and runtime system

This is a KL1 language processing system that contains a compiler for KL1 programs to Java and a runtime system to support the Java code execution. This compiler generates a Java code almost following the structure of the C code generated by the original KLIC system.

This work is a masterpiece, contrary (in a good sense) to our expectation. The compiler itself consists of KL1 code of approx. 8,200 lines, and the primary libraries were all rewritten in Java; the size is about 5,000 lines. KLIjava can compile and execute more than half of the test programs bundled in the KLIC distribution package.

Although the concept of a compiler to generate Java code is not new, actual implementation of the compiler and the runtime system in Java requires much knowledge about the KLIC implementation and Java, as well as vigor based on youth.

In view of the above, this work is worthy of 2nd prize in this category. The quality was far beyond the jury's expectation, and so we decided to award to him an extra encouragement prize (20,000 yen).