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).