Scala is the new golden child
techcrunch.com
techcrunch.com
The author, a data scientist, interviews at start-ups and is asked to solve algorithm / data structure questions. Some of these were challenging in Python due to the lack of available data structures in the standard library (he used an example of a heap). He swapped to Scala and got better results.
Scala is also great with Spark. Scala is the new golden child.
The article couldn't be more shallow or anecdotal if it tried.
So the authors anecdotal experiences and subjective feelings after a few interviews is suppose to tell us what the "next big thing is" ? That's really hard to predict even for those who do some actual research. Most of the people he talked to did not even know the language FFS!
Scala is a good language and serves its purpose very well when working with Spark. I think the environment surrounding it is still shit. I think Play is not good, and other related frameworks are still not where they need to be. Even the ORM solutions I think are more complicated compared to every other major language. Yes you can use Java with it, but then the benefits of using scala and switching between your Java and scala become burdensome. I think Scala has many more features almost to a fault. Its a large complex language, unless you have a dedicated team with a defined coding style it'll be hard to maintain. With that being said, I do like the language but I prefer opinionated languages like Java and Go
This is an odd thing to say - heapq has been part of the standard library since 2.3. The fact that it isn't part of collections... just doesn't mean very much.
With a few exceptions, Python was clearly frowned upon. Of course, no one ever explicitly told me I couldn’t use Python to solve a problem. The coding environments always had a Python interpreter, but the interviewers would usually suggest that I use “a compiled language” (read: Java)
Well, actually they were explicitly telling him, right there. But if their interviewing teams would let a candidate go on and code in the "wrong" language (obviously a huge waste of both the candidate's time and theirs)... then they have much worse problems than any of us are likely to be able to help them with.
I think:
- Interviews are significantly easier in a higher level language. You will get more done in less time in Python than C in general. Also less tripwires I think.
- Even more important, choose a language you know really well. If you can pick the language I will assume you pick one you know well, so if you don't know something basic that is a major red flag.
So I think learning a new language for interviews is a bad idea. Use it on some hobby projects first at least.