It looks like the main point of the language is that it is designed to run in the browser. Otherwise there are many options — in addition to the ones already named, there is also Asymptote which can output SVG but not only SVG, allows passing functions as values etc.
There is MetaPost, but it has been written in times when using workarounds to save some RAM was necessary; for example, its arrays are somewhat complicated.
The original pic isn’t great if you want SVG output; it’s possible to go a roundabout route via troff/postscript that’s then converted to SVG via inkscape’s importer, but it’s error-prone and produces messy SVGs. However GNU plotutils has a direct converter to a variety of output formats, including SVG. There is also an alternate pic implementation, dpic, that has built-in SVG support.
Another possible option is that GNU pic can produce LaTeX output, and there is a reasonably good converter from TeX’s DVI intermediate format to SVG. Although if you’re already using a LaTeX-based workflow, most people in LaTeX-land prefer PGF/TikZ.