Thomas (boggyb) wrote,
Thomas
boggyb

  • Mood:

Because APIs are apparently crazy hard

Today's annoyance is discovering that to compile Wireshark for Windows, you must first install Cygwin. This is because the build environment relies on various *nix tools to work, despite the fact that I'm compiling it with a Windows compiler (Visual Studio 6) for a Windows operating system (for the terminally curious, the problem is it needs bash and there's no native Win32 bash so you need Cygwin).

Actually, that was the second annoyance. The *first* annoyance was discovering that the Wireshark folks have never bothered to maintain binary compatibility between releases, which means that whenever a new version of Wireshark comes out (usually once every other week to patch a security hole), there's a high chance that any custom plugins will stop working. Because keeping an API compatible is apparently impossibly hard.

And by "stop working", what they really mean is "crash randomly". Because version checking is apparently impossibly hard.

On its own this wouldn't be so bad, except they've neglected to provide import libraries, or a decent API that you could use without import libraries. This means that to compile a plugin, you must first compile Wireshark, hence the first half of this rant. Because providing import libraries you can link against is apparently impossibly hard.

Contrast this with, say, Windows Media Player, which despite several major version changes and at least one complete rewrite is perfectly capable of using a 6-year-old video codec. More importantly, it is perfectly capable of using a 6-year-old video codec without me needing to recompile anything. Oh, and I can develop a video codec without needing any of the source code to Windows Media Player.
Tags: nablopomo, rant
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments