Which Programming Languages to Use at an Internet Exchange Point (DE-CIX)
At DE-CIX and on the Euro-IX mailing lists some discussion is going on which programming languages are currently used at Internet Exchange Points (IXPs). I am assuming that the sets of programming languages used at the different IXPs should show to be quite congruent. So far, I cannot provide information about how diverse the sets of programming languages used at the different IXPs are because the discussing is still going on.
At DE-CIX it was common to use a few programming and scripting languages (e.g., C, Perl, bash), however, since I have joined DE-CIX many software projects have been done using Java. I personally believe Java is a good language for an IXP because it provides the following advantageous:
  • Java is fast and reliable
  • Java is object-oriented
  • Java is platform independent (meaning it runs on Linux, Windows and so on)
  • Java comes with many modern quality assurance tools (e.g., junit)
  • Java can be used for scripting (by using Groovy)
  • Java can easily be used for network programming
  • Java provides a reasonable good regex interface for string processing
  • Java can be used to create bindings to C and C++ libraries (by using the Java Native Interface)
One another reason why I prefer Java does not fit in the above list, however it is quite important: Nealy all computer science graduates and students nowadays come with a decent Java experience which means they can be productive right away without learning another programming language.

To back up my statement that Java is a well suited programming language in the area of IXPs the following list shows which libraries and tools are used at DE-CIX for Java projects: What do you think about Java and IXPs? Let me know.

Best regards,
Thomas
Posted by Thomas King at 23:34 2009-10-19 | Trackbacks (0) | Comments (0)