4 ms·
I work on Primitive, a novel way of visualizing and interacting with code in VR: https://primitive.io/ https://primitive.io/ Half of the technical work is buil
by akdas 8y ago
I work on Primitive, a novel way of visualizing and interacting with code in VR: https://primitive.io/ https://primitive.io/
Half of the technical work is built around compiler technology (and more generally the implementation of programming languages, such as the various runtimes). It's been fascinating to understand how widely-used programming languages are implemented, which I talked about in a blog post about inner classes in Java (https://blog.primitive.io/inner-classes-in-java-1804ed51b7de https://blog.primitive.io/inner-classes-in-java-1804ed51b7de). Similarly, it's been great to look at large open-source codebases and try to understand them. For example, we dug around the internals of IntelliJ IDEA (https://blog.primitive.io/how-intellij-idea-knows-your-code-smells-c0ea60e406d8 https://blog.primitive.io/how-intellij-idea-knows-your-code-...).
It's true that we often use compiler APIs that are already available, but we still have to understand how those compilers work, and what language features we have to support in our data extractions. Right now, we're a small, scrappy team, but in the future, we'll surely have to build out more infrastructural technology ourselves.
The other half of the technical work is working with 3D graphics and in data visualization, another area of CS I really enjoy. Making code _accessible_ at a glance is always challenging, but when I get to use that visualization to understand new code, all the hard work is worth it.
Combining all this with the non-technical work a startup entails (business development, UX, etc.) means I get to really flex my mental muscles!