Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
floWenoL
Oct 23, 2002

So I've been writing a raytracer in Go. Here are some quick thoughts:

- Go is a nice middle ground between C++ (good performance, but difficult and error-prone) and higher-level languages like Javascript and Python (easy to work with, but slow as poo poo). The easy handling of concurrency is a nice win, too.
- Go's standard library made it convenient to, e.g. read in JSON files for configs and output PNG files for the rendered image. Support for an HDR format (like OpenEXR) doesn't exist yet, though, but probably not too difficult to write.
- It's a pain in the rear end to debug Go code with GDB, especially with the default settings that make it impossible to peek at the values of some local variables. I've basically resorted to printf-style debugging (better for raytracers, anyway).
- The only C++ feature I really miss is operator overloading (so that I can add/subtract vectors, etc.). The dearth of built-in data structures (hashtable / vector) is annoying, but it hasn't been a serious problem yet.
- OS X support lags -- profiling support is buggy/nonexistent, and gcc-go doesn't support Darwin.

Adbot
ADBOT LOVES YOU

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply