|
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.
|
# ¿ Mar 28, 2014 18:55 |
|
|
# ¿ Apr 28, 2024 22:12 |