4 ms·
I've done paid work in C#, C, C++, Objective-C, Python, Java, Javascript, x86 Assembly, a variety of flavors of SQL, Silverlight, Actionscript, Go, Node... Prob
by AMcQuarrie 10y ago
I've done paid work in C#, C, C++, Objective-C, Python, Java, Javascript, x86 Assembly, a variety of flavors of SQL, Silverlight, Actionscript, Go, Node... Probably other things off the top of my head.
The thing is, I'm only really good at C# and C++. Most of the above languages use similar paradigms and just have some different syntax. The skill I actually want when I hire people is willingness to work on something they don't understand really well and get better at it. It takes a long ass time to get to very high levels of proficiency (where you understand all the underlying details of how memory works and the odd little bits about the compiler/interpreter/runtime) and I DON'T operate at that level with most of the languages I "know".
Many jobs don't actually require you to use windbg to track down issues in the .NET garbage collector. Situations like that are also highly varied and it's not something you can 'train' for, you just have to cultivate the skill of constant discovery.
- cosinetau 10y agoThis is predominantly the reason why I've spent as much time in a lot of diverse languages, in particular the ones I listed. Sure, many of them are the same C/C++ family, both a lot of them aren't, and I tried not to repeat the ones that were isomorphic to something else. To that end, I learned Haskell well enough to be able to "think functionally" and applied that to what I already knew about JavaScript, Python, etc. But I didn't go out of my way to learn Scala, even though I want to. I learned MySQL and MongoDB because I needed them to complete projects, but didn't make the leap to PostgreSQL or Couch because I could just pick them up later, if it ever even came up. I think the point is, know how to do a lot of things, but don't get locked down into doing it only one way.