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)
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:
- jsflow
- junit
- rocksaw
- jpcap
- Java SNMP Package
- Trilead SSH
- Various packages provided by Apache commons
Best regards,
Thomas
Posted by Thomas King at 23:34 2009-10-19 | Trackbacks (0) | Comments (0)