4 ms·
> A competent Java dev is at a disadvantage compared to a competent Python dev, simply because it's statically typed and more verbose I don't think that the fa
by bryal 8y ago
> A competent Java dev is at a disadvantage compared to a competent Python dev, simply because it's statically typed and more verbose
I don't think that the fact that it's statically typed is the problem. For example, I don't believe a competent Rust, Go, or Haskell dev would be at a disadvantage due to static typing, but rather the opposite.
- jamestimmins 8y agoIn my experience, static typing, in general, puts you at a disadvantage. It obviously varies between companies, but in scenarios like HackerRank where you have a fixed amount of time and either pass/no pass, dealing with types can be a real obstacle.
- ubernostrum 8y agoAs someone else who's run a lot of interviews including tech exercises (as much as I hate the typical way they're done, I haven't been able to eliminate them everywhere I've worked), I have the same experience as the parent commenter. Yes, even with "good" statically-typed languages like $YOUR_FAVORITE_LANG_HERE. Candidates using those languages can often sketch out the right algorithm and the structure of what the program would look like, but under time pressure have trouble producing something that actually will compile and run properly (and as much as I want "showed they got the right algorithm and how to do it" to be a pass, it isn't always). The "executable pseudocode" nature of the popular dynamic languages is a big advantage there. It's definitely even worse for C#/Java style languages (though C# is better than it used to be), because of all the heavyweight design pattern stuff you need to implement to do things that are just natural idioms in the dynamic languages. But it's something I've seen happen in a broad range of static languages.