The initial choice of Perl as a development language was based on the early development team's familiarity with the language. However, we strongly believe that this choice stands up well on the basis of functionality, not just personal bias.
Perl is widely and freely available for many platforms
Basic iCalendar libraries already exist for Perl
Perl is one of the foremost languages for Internet development. Modules exist for most network protocols and many client/server systems are written in Perl
Perl is ideally suited to manipulating textual data; iCalendar data is textual
Perl is well suited to application development. CPAN modules exist for:
CGI development for the World Wide Web
X11 GUI development (Gtk)
Windows development
Database connectivity (abstracted through the DBI interface)
Perl is known to a large number of programmers and is easy to learn. Even inexperienced Perl programmers should be able to build Reefknot applications with little difficulty.
Other languages suggested for this project include C, C++, Java, and Python. While we recognise the benefits of these languages and do not intend to suggest that they cannot fulfil the features listed above, we know that we (the core project team) will get a working system out the door faster in Perl than in any other language. If others wish to build on our design to implement Reefknot-like toolkits in other languages, we encourage them and will assist them in any way possible.