Which programming languages support secp256k1?
The Bouncy Castle project allows for this and it runs on the Java VM (as was mentioned earlier) as well as the .NET Runtime. An example of using it in C# is shown in this blog post. You can use the .NET version from Visual Basic .NET (as well as any of the other languages on the CLR as well, obviously).

For C++, look at the Crypto++ library which supports secp256k1.