…because I’m doing a lot of weekend coding at the moment. I basically caught the github bug over the holidays:
I’ve been playing around with C++11, python, Vagrant, puppet and chef recently:
C++11:
- I like: move semantics, for (:), variadic template arguments, std::atomic, std::thread, std::chrono, possibly std::function and std::bind (haven’t played around with these yet)
- (still) not a big fan of: auto, std containers, exceptions, rtti, shared_ptr, make_shared
- thread_local vs __thread vs __declspec(thread) is still a mess across Clang/OSX, GCC and VisualStudio
- the recent crazy-talk about integrating a 2D drawing API into the C++ standard gives me the shivers, what a terrible, terrible idea!
Python
- best choice/replacement for command-line scripts and asset tools (all major 3D modelling/animation tools are python-scriptable)
- performance of the standard python interpreter is disappointing, and making something complex like FBX SDK work in alternative Python compilers is difficult or impossible
Vagrant plus Puppet or Chef
- Vagrant is extremely cool for having an isolated cross-compilation Linux VM for emscripten and PNaCl, instead of writing a readme with all the steps required to get a working build machine, you can simply check-in a Vagrantfile into the versioning system repository, and other programmers simply do a ‘vagrant up’ and have a VM which ‘just works’
- the slow performance of shared directories on VirtualBox requires some silly workarounds, supposedly this is better with VMWare Fusion, but haven’t tried yet
- Puppet vs Chef are like Coke vs Pepsi for such simple “stand-alone” use-cases. Chef seems to be more difficult to get into, but I think in the end it is more rewarding when trying to “scale up”
Written with StackEdit.