3 ms·
Java / JVM stuff: Learned in a final year programming class in high school and reified in first year CS. C/C++: I was a Linux groupie by the second year of my
by kenrose 13y ago
Java / JVM stuff: Learned in a final year programming class in high school and reified in first year CS.
C/C++: I was a Linux groupie by the second year of my undergrad, so I wanted to know a language that gave me more access to the bare metal. Manual memory management scared the bejesus out of me at the time, but like all things, with enough practice, it became straightforward to reason about. Wrote the majority of my programming assignments for school in C++. Ended up using primarily C++ for the next few years too as I delved into graphics work (was at Autodesk for four years) and embedded work (worked at a startup that makes a secure browsing USB stick).
C#: Was on the C# compiler team at MS for a summer, so had to learn the language. :-) The compiler itself was written in C++ though, unlike Mono (which itself is written in C#). Ended up using it for server dev work again years later.
Scala: Coming into Scala for my current job. Like Twitter, they're taking a giant, monolithic Rails app and splitting it up into highly available services written in Scala. To learn, I took the first Scala Coursera course and am taking the second one now. Programming in Scala has also been useful. It's refreshing to have a language with FP built in. The STL has some functional concepts (e.g., most of the stuff in <algorithm>), but you still have to have so much syntax to express things like a closure. Boost makes some things a bit easier (boost::bind and boost::function are incredibly useful), but it always feels you're fighting against the language. C++11 looks promising, but I never got to use it for anything commercial because it was always "too new".